diff --git a/core/alien/compiler/compiler.factor b/core/alien/compiler/compiler.factor index 7495be42ca..29957ac088 100755 --- a/core/alien/compiler/compiler.factor +++ b/core/alien/compiler/compiler.factor @@ -5,8 +5,7 @@ hashtables kernel math namespaces sequences words inference.backend inference.dataflow system math.parser classes alien.arrays alien.c-types alien.structs alien.syntax cpu.architecture alien inspector quotations assocs -kernel.private threads continuations.private libc combinators -init ; +kernel.private threads continuations.private libc combinators ; IN: alien.compiler ! Common protocol for alien-invoke/alien-callback/alien-indirect @@ -302,7 +301,7 @@ M: alien-indirect generate-node ! this hashtable, they will all be blown away by code GC, beware SYMBOL: callbacks -[ H{ } clone callbacks set-global ] "alien.compiler" add-init-hook +callbacks global [ H{ } assoc-like ] change-at : register-callback ( word -- ) dup callbacks get set-at ; diff --git a/core/alien/syntax/syntax.factor b/core/alien/syntax/syntax.factor old mode 100644 new mode 100755 index ed1520e9a1..9b7bc6a214 --- a/core/alien/syntax/syntax.factor +++ b/core/alien/syntax/syntax.factor @@ -59,4 +59,4 @@ M: alien pprint* { [ t ] [ \ ALIEN: [ alien-address pprint* ] pprint-prefix ] } } cond ; -M: dll pprint* dll-path dup "DLL\" " pprint-string ; +M: dll pprint* dll-path dup "DLL\" " "\"" pprint-string ; diff --git a/core/assocs/assocs-tests.factor b/core/assocs/assocs-tests.factor index b38ce82052..8fabee06ef 100644 --- a/core/assocs/assocs-tests.factor +++ b/core/assocs/assocs-tests.factor @@ -87,3 +87,9 @@ unit-test [ H{ { 1 2 } { 3 4 } } ] [ "hi" 5 H{ { 1 2 } { 3 4 } } clone [ rename-at ] keep ] unit-test + +[ + H{ { 1.0 1.0 } { 2.0 2.0 } } +] [ + F{ 1.0 2.0 } [ dup ] H{ } map>assoc +] unit-test diff --git a/core/assocs/assocs.factor b/core/assocs/assocs.factor index 272a763b7b..40b35a931b 100644 --- a/core/assocs/assocs.factor +++ b/core/assocs/assocs.factor @@ -135,7 +135,7 @@ M: assoc assoc-clone-like ( assoc exemplar -- newassoc ) [ 0 or + ] change-at ; : map>assoc ( seq quot exemplar -- assoc ) - >r [ 2array ] compose map r> assoc-like ; inline + >r [ 2array ] compose { } map-as r> assoc-like ; inline M: assoc >alist [ 2array ] { } assoc>map ; diff --git a/core/cpu/arm/intrinsics/intrinsics.factor b/core/cpu/arm/intrinsics/intrinsics.factor index 9eedd8e494..81b23ea8b2 100755 --- a/core/cpu/arm/intrinsics/intrinsics.factor +++ b/core/cpu/arm/intrinsics/intrinsics.factor @@ -418,17 +418,6 @@ IN: cpu.arm.intrinsics { +output+ { "out" } } } define-intrinsic -\ curry [ - \ curry 3 cells %allot - "obj" operand 1 %set-slot - "quot" operand 2 %set-slot - "out" get object %store-tagged -] H{ - { +input+ { { f "obj" } { f "quot" } } } - { +scratch+ { { f "out" } } } - { +output+ { "out" } } -} define-intrinsic - ! Alien intrinsics : %alien-accessor ( quot -- ) "offset" operand dup %untag-fixnum diff --git a/core/cpu/ppc/intrinsics/intrinsics.factor b/core/cpu/ppc/intrinsics/intrinsics.factor index f78b7c06e2..e1d86db178 100755 --- a/core/cpu/ppc/intrinsics/intrinsics.factor +++ b/core/cpu/ppc/intrinsics/intrinsics.factor @@ -580,18 +580,6 @@ IN: cpu.ppc.intrinsics { +output+ { "vector" } } } define-intrinsic -\ curry [ - \ curry 3 cells %allot - "obj" operand 11 1 cells STW - "quot" operand 11 2 cells STW - ! Store tagged ptr in reg - "curry" get object %store-tagged -] H{ - { +input+ { { f "obj" } { f "quot" } } } - { +scratch+ { { f "curry" } } } - { +output+ { "curry" } } -} define-intrinsic - ! Alien intrinsics : %alien-accessor ( quot -- ) "offset" operand dup %untag-fixnum diff --git a/core/cpu/x86/intrinsics/intrinsics.factor b/core/cpu/x86/intrinsics/intrinsics.factor index ff6975336d..d1a851b553 100755 --- a/core/cpu/x86/intrinsics/intrinsics.factor +++ b/core/cpu/x86/intrinsics/intrinsics.factor @@ -485,19 +485,6 @@ IN: cpu.x86.intrinsics { +output+ { "vector" } } } define-intrinsic -\ curry [ - \ curry 3 cells [ - 1 object@ "obj" operand MOV - 2 object@ "quot" operand MOV - ! Store tagged ptr in reg - "curry" get object %store-tagged - ] %allot -] H{ - { +input+ { { f "obj" } { f "quot" } } } - { +scratch+ { { f "curry" } } } - { +output+ { "curry" } } -} define-intrinsic - ! Alien intrinsics : %alien-accessor ( quot -- ) "offset" operand %untag-fixnum diff --git a/core/kernel/kernel-docs.factor b/core/kernel/kernel-docs.factor index 84ee4fe5cf..de3c0ead3e 100644 --- a/core/kernel/kernel-docs.factor +++ b/core/kernel/kernel-docs.factor @@ -32,7 +32,7 @@ $nl { $subsection >r } { $subsection r> } "The top of the data stack is ``hidden'' between " { $link >r } " and " { $link r> } ":" -{ $example "1 2 3 >r .s r>" "2\n1" } +{ $example "1 2 3 >r .s r>" "1\n2" } "Words must not leave objects on the retain stack, nor expect values to be there on entry. The retain stack is for local storage within a word only, and occurrences of " { $link >r } " and " { $link r> } " must be balanced inside a single quotation. One exception is the following trick involving " { $link if } "; values may be pushed on the retain stack before the condition value is computed, as long as both branches of the " { $link if } " pop the values off the retain stack before returning:" { $code ": foo ( m ? n -- m+n/n )" diff --git a/core/prettyprint/backend/backend.factor b/core/prettyprint/backend/backend.factor index 0ee79efa8b..8d0140202e 100755 --- a/core/prettyprint/backend/backend.factor +++ b/core/prettyprint/backend/backend.factor @@ -89,19 +89,20 @@ M: f pprint* drop \ f pprint-word ; { 0.3 0.3 0.3 1.0 } foreground set ] H{ } make-assoc ; -: unparse-string ( str prefix -- str ) - [ - % do-string-limit [ unparse-ch ] each CHAR: " , - ] "" make ; +: unparse-string ( str prefix suffix -- str ) + [ >r % do-string-limit [ unparse-ch ] each r> % ] "" make ; -: pprint-string ( obj str prefix -- ) +: pprint-string ( obj str prefix suffix -- ) unparse-string swap string-style styled-text ; -M: string pprint* dup "\"" pprint-string ; +M: string pprint* + dup "\"" "\"" pprint-string ; -M: sbuf pprint* dup "SBUF\" " pprint-string ; +M: sbuf pprint* + dup "SBUF\" " "\"" pprint-string ; -M: pathname pprint* dup pathname-string "P\" " pprint-string ; +M: pathname pprint* + dup pathname-string "P\" " "\"" pprint-string ; ! Sequences : nesting-limit? ( -- ? ) diff --git a/core/quotations/quotations-tests.factor b/core/quotations/quotations-tests.factor index 662b9e9f2a..f1cc6cd828 100644 --- a/core/quotations/quotations-tests.factor +++ b/core/quotations/quotations-tests.factor @@ -1,8 +1,8 @@ USING: math kernel quotations tools.test sequences ; IN: temporary -[ [ 3 ] ] [ 3 f curry ] unit-test -[ [ \ + ] ] [ \ + f curry ] unit-test +[ [ 3 ] ] [ 3 [ ] curry ] unit-test +[ [ \ + ] ] [ \ + [ ] curry ] unit-test [ [ \ + = ] ] [ \ + [ = ] curry ] unit-test [ [ 1 + 2 + 3 + ] ] [ @@ -14,3 +14,5 @@ IN: temporary [ [ 3 1 2 ] ] [ [ 1 2 ] 3 add* ] unit-test [ [ "hi" ] ] [ "hi" 1quotation ] unit-test + +[ 1 \ + curry ] unit-test-fails diff --git a/extra/benchmark/knucleotide/authors.txt b/extra/benchmark/knucleotide/authors.txt new file mode 100644 index 0000000000..16e1588016 --- /dev/null +++ b/extra/benchmark/knucleotide/authors.txt @@ -0,0 +1 @@ +Eric Mertens diff --git a/extra/benchmark/knucleotide/knucleotide-input.txt b/extra/benchmark/knucleotide/knucleotide-input.txt new file mode 100644 index 0000000000..fb23263397 --- /dev/null +++ b/extra/benchmark/knucleotide/knucleotide-input.txt @@ -0,0 +1,1671 @@ +>ONE Homo sapiens alu +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATC +GCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGC +GGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGG +TCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAA +AAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAG +GAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACT +CCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCC +TGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAG +ACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGC +GTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGA +ACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGA +CAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCA +CTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCA +ACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCG +CCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGG +AGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTC +CGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCG +AGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACC +CCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAG +CTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAG +CCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGG +CCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATC +ACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAA +AAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGC +TGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCC +ACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGG +CTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGG +AGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATT +AGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAA +TCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGC +CTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAA +TCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAG +CCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGT +GGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCG +GGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAG +CGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTG +GGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATG +GTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGT +AATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTT +GCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCT +CAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCG +GGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTC +TCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACT +CGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAG +ATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGG +CGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTG +AGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATA +CAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGG +CAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGC +ACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCAC +GCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTC +GAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCG +GGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCT +TGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGG +CGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCA +GCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGG +CCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGC +GCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGG +CGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGA +CTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGG +CCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAA +ACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCC +CAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGT +GAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAA +AGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGG +ATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTAC +TAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGA +GGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGC +GCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGG +TGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTC +AGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAA +ATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGA +GAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCC +AGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTG +TAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGAC +CAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGT +GGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAAC +CCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACA +GAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACT +TTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAAC +ATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCC +TGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAG +GTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCG +TCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAG +GCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCC +GTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCT +ACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCC +GAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCC +GGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCAC +CTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAA +ATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTG +AGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCAC +TGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCT +CACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAG +TTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAG +CCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATC +GCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCT +GGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATC +CCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCC +TGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGG +CGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGG +AGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCG +AGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGG +AGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGT +GAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAA +TCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGC +AGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCA +AAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGG +CGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTC +TACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCG +GGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGAT +CGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCG +CGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAG +GTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACA +AAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCA +GGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCAC +TCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGC +CTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGA +GACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGG +CGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTG +AACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCG +ACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGC +ACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCC +AACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGC +GCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCG +GAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACT +CCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCC +GAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAAC +CCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCA +GCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGA +GCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAG +GCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGAT +CACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTA +AAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGG +CTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGC +CACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTG +GCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAG +GAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAAT +TAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGA +ATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAG +CCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTA +ATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCA +GCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGG +TGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCC +GGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGA +GCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTT +GGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACAT +GGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTG +TAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGT +TGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTC +TCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGC +GGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGT +CTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTAC +TCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGA +GATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGG +GCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCT +GAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAAT +ACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAG +GCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTG +CACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCA +CGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTT +CGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCC +GGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGC +TTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGG +GCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCC +AGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTG +GCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCG +CGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAG +GCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAG +ACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAG +GCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGA +AACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATC +CCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAG +TGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAA +AAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCG +GATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTA +CTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGG +AGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCG +CGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCG +GTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGT +CAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAA +AATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGG +AGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTC +CAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCT +GTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGA +CCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCG +TGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAA +CCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGAC +AGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCAC +TTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAA +CATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGC +CTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGA +GGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCC +GTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGA +GGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCC +CGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGC +TACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGC +CGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGC +CGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCA +CCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAA +AATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCT +GAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCA +CTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGC +TCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGA +GTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTA +GCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAAT +CGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCC +TGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAAT +CCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGC +CTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTG +GCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGG +GAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGC +GAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGG +GAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGG +TGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTA +ATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTG +CAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTC +AAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGG +GCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCT +CTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTC +GGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGA +TCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGC +GCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGA +GGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATAC +AAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGC +AGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCA +CTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACG +CCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCG +AGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGG +GCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTT +GAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGC +GACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAG +CACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGC +CAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCG +CGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGC +GGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGAC +TCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGC +CGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAA +CCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCC +AGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTG +AGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAA +GGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGA +TCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACT +AAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAG +GCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCG +CCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGT +GGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCA +GGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAA +TTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAG +AATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCA +GCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGT +AATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACC +AGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTG +GTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACC +CGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAG +AGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTT +TGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACA +TGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCT +GTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGG +TTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGT +CTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGG +CGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCG +TCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTA +CTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCG +AGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCG +GGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACC +TGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAA +TACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGA +GGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACT +GCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTC +ACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGT +TCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGC +CGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCG +CTTGAACCCGGGAGGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTG +GGCGACAGAGCGAGACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCC +CAGCACTTTGGGAGGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCT +GGCCAACATGGTGAAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGC +GCGCGCCTGTAATCCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGA +GGCGGAGGTTGCAGTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGA +GACTCCGTCTCAAAAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGA +GGCCGAGGCGGGCGGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTG +AAACCCCGTCTCTACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAAT +CCCAGCTACTCGGGAGGCTGAGGCAGGAGAATCGCTTGAACCCGGGAGGCGGAGGTTGCA +GTGAGCCGAGATCGCGCCACTGCACTCCAGCCTGGGCGACAGAGCGAGACTCCGTCTCAA +AAAGGCCGGGCGCGGTGGCTCACGCCTGTAATCCCAGCACTTTGGGAGGCCGAGGCGGGC +GGATCACCTGAGGTCAGGAGTTCGAGACCAGCCTGGCCAACATGGTGAAACCCCGTCTCT +ACTAAAAATACAAAAATTAGCCGGGCGTGGTGGCGCGCGCCTGTAATCCCAGCTACTCGG +GAGGCTGAGGCAGGAGAATC +>TWO IUB ambiguity codes +cttBtatcatatgctaKggNcataaaSatgtaaaDcDRtBggDtctttataattcBgtcg +tactDtDagcctatttSVHtHttKtgtHMaSattgWaHKHttttagacatWatgtRgaaa +NtactMcSMtYtcMgRtacttctWBacgaaatatagScDtttgaagacacatagtVgYgt +cattHWtMMWcStgttaggKtSgaYaaccWStcgBttgcgaMttBYatcWtgacaYcaga +gtaBDtRacttttcWatMttDBcatWtatcttactaBgaYtcttgttttttttYaaScYa +HgtgttNtSatcMtcVaaaStccRcctDaataataStcYtRDSaMtDttgttSagtRRca +tttHatSttMtWgtcgtatSSagactYaaattcaMtWatttaSgYttaRgKaRtccactt +tattRggaMcDaWaWagttttgacatgttctacaaaRaatataataaMttcgDacgaSSt +acaStYRctVaNMtMgtaggcKatcttttattaaaaagVWaHKYagtttttatttaacct +tacgtVtcVaattVMBcttaMtttaStgacttagattWWacVtgWYagWVRctDattBYt +gtttaagaagattattgacVatMaacattVctgtBSgaVtgWWggaKHaatKWcBScSWa +accRVacacaaactaccScattRatatKVtactatatttHttaagtttSKtRtacaaagt +RDttcaaaaWgcacatWaDgtDKacgaacaattacaRNWaatHtttStgttattaaMtgt +tgDcgtMgcatBtgcttcgcgaDWgagctgcgaggggVtaaScNatttacttaatgacag +cccccacatYScaMgtaggtYaNgttctgaMaacNaMRaacaaacaKctacatagYWctg +ttWaaataaaataRattagHacacaagcgKatacBttRttaagtatttccgatctHSaat +actcNttMaagtattMtgRtgaMgcataatHcMtaBSaRattagttgatHtMttaaKagg +YtaaBataSaVatactWtataVWgKgttaaaacagtgcgRatatacatVtHRtVYataSa +KtWaStVcNKHKttactatccctcatgWHatWaRcttactaggatctataDtDHBttata +aaaHgtacVtagaYttYaKcctattcttcttaataNDaaggaaaDYgcggctaaWSctBa +aNtgctggMBaKctaMVKagBaactaWaDaMaccYVtNtaHtVWtKgRtcaaNtYaNacg +gtttNattgVtttctgtBaWgtaattcaagtcaVWtactNggattctttaYtaaagccgc +tcttagHVggaYtgtNcDaVagctctctKgacgtatagYcctRYHDtgBattDaaDgccK +tcHaaStttMcctagtattgcRgWBaVatHaaaataYtgtttagMDMRtaataaggatMt +ttctWgtNtgtgaaaaMaatatRtttMtDgHHtgtcattttcWattRSHcVagaagtacg +ggtaKVattKYagactNaatgtttgKMMgYNtcccgSKttctaStatatNVataYHgtNa +BKRgNacaactgatttcctttaNcgatttctctataScaHtataRagtcRVttacDSDtt +aRtSatacHgtSKacYagttMHtWataggatgactNtatSaNctataVtttRNKtgRacc +tttYtatgttactttttcctttaaacatacaHactMacacggtWataMtBVacRaSaatc +cgtaBVttccagccBcttaRKtgtgcctttttRtgtcagcRttKtaaacKtaaatctcac +aattgcaNtSBaaccgggttattaaBcKatDagttactcttcattVtttHaaggctKKga +tacatcBggScagtVcacattttgaHaDSgHatRMaHWggtatatRgccDttcgtatcga +aacaHtaagttaRatgaVacttagattVKtaaYttaaatcaNatccRttRRaMScNaaaD +gttVHWgtcHaaHgacVaWtgttScactaagSgttatcttagggDtaccagWattWtRtg +ttHWHacgattBtgVcaYatcggttgagKcWtKKcaVtgaYgWctgYggVctgtHgaNcV +taBtWaaYatcDRaaRtSctgaHaYRttagatMatgcatttNattaDttaattgttctaa +ccctcccctagaWBtttHtBccttagaVaatMcBHagaVcWcagBVttcBtaYMccagat +gaaaaHctctaacgttagNWRtcggattNatcRaNHttcagtKttttgWatWttcSaNgg +gaWtactKKMaacatKatacNattgctWtatctaVgagctatgtRaHtYcWcttagccaa +tYttWttaWSSttaHcaaaaagVacVgtaVaRMgattaVcDactttcHHggHRtgNcctt +tYatcatKgctcctctatVcaaaaKaaaagtatatctgMtWtaaaacaStttMtcgactt +taSatcgDataaactaaacaagtaaVctaggaSccaatMVtaaSKNVattttgHccatca +cBVctgcaVatVttRtactgtVcaattHgtaaattaaattttYtatattaaRSgYtgBag +aHSBDgtagcacRHtYcBgtcacttacactaYcgctWtattgSHtSatcataaatataHt +cgtYaaMNgBaatttaRgaMaatatttBtttaaaHHKaatctgatWatYaacttMctctt +ttVctagctDaaagtaVaKaKRtaacBgtatccaaccactHHaagaagaaggaNaaatBW +attccgStaMSaMatBttgcatgRSacgttVVtaaDMtcSgVatWcaSatcttttVatag +ttactttacgatcaccNtaDVgSRcgVcgtgaacgaNtaNatatagtHtMgtHcMtagaa +attBgtataRaaaacaYKgtRccYtatgaagtaataKgtaaMttgaaRVatgcagaKStc +tHNaaatctBBtcttaYaBWHgtVtgacagcaRcataWctcaBcYacYgatDgtDHccta +aagacYRcaggattHaYgtKtaatgcVcaataMYacccatatcacgWDBtgaatcBaata +cKcttRaRtgatgaBDacggtaattaaYtataStgVHDtDctgactcaaatKtacaatgc +gYatBtRaDatHaactgtttatatDttttaaaKVccYcaaccNcBcgHaaVcattHctcg +attaaatBtatgcaaaaatYMctSactHatacgaWacattacMBgHttcgaatVaaaaca +BatatVtctgaaaaWtctRacgBMaatSgRgtgtcgactatcRtattaScctaStagKga +DcWgtYtDDWKRgRtHatRtggtcgaHgggcgtattaMgtcagccaBggWVcWctVaaat +tcgNaatcKWagcNaHtgaaaSaaagctcYctttRVtaaaatNtataaccKtaRgtttaM +tgtKaBtRtNaggaSattHatatWactcagtgtactaKctatttgRYYatKatgtccgtR +tttttatttaatatVgKtttgtatgtNtataRatWYNgtRtHggtaaKaYtKSDcatcKg +taaYatcSRctaVtSMWtVtRWHatttagataDtVggacagVcgKWagBgatBtaaagNc +aRtagcataBggactaacacRctKgttaatcctHgDgttKHHagttgttaatgHBtatHc +DaagtVaBaRccctVgtgDtacRHSctaagagcggWYaBtSaKtHBtaaactYacgNKBa +VYgtaacttagtVttcttaatgtBtatMtMtttaattaatBWccatRtttcatagVgMMt +agctStKctaMactacDNYgKYHgaWcgaHgagattacVgtttgtRaSttaWaVgataat +gtgtYtaStattattMtNgWtgttKaccaatagNYttattcgtatHcWtctaaaNVYKKt +tWtggcDtcgaagtNcagatacgcattaagaccWctgcagcttggNSgaNcHggatgtVt +catNtRaaBNcHVagagaaBtaaSggDaatWaatRccaVgggStctDaacataKttKatt +tggacYtattcSatcttagcaatgaVBMcttDattctYaaRgatgcattttNgVHtKcYR +aatRKctgtaaacRatVSagctgtWacBtKVatctgttttKcgtctaaDcaagtatcSat +aWVgcKKataWaYttcccSaatgaaaacccWgcRctWatNcWtBRttYaattataaNgac +acaatagtttVNtataNaYtaatRaVWKtBatKagtaatataDaNaaaaataMtaagaaS +tccBcaatNgaataWtHaNactgtcDtRcYaaVaaaaaDgtttRatctatgHtgttKtga +aNSgatactttcgagWaaatctKaaDaRttgtggKKagcDgataaattgSaacWaVtaNM +acKtcaDaaatttctRaaVcagNacaScRBatatctRatcctaNatWgRtcDcSaWSgtt +RtKaRtMtKaatgttBHcYaaBtgatSgaSWaScMgatNtctcctatttctYtatMatMt +RRtSaattaMtagaaaaStcgVgRttSVaScagtgDtttatcatcatacRcatatDctta +tcatVRtttataaHtattcYtcaaaatactttgVctagtaaYttagatagtSYacKaaac +gaaKtaaatagataatSatatgaaatSgKtaatVtttatcctgKHaatHattagaaccgt +YaaHactRcggSBNgtgctaaBagBttgtRttaaattYtVRaaaattgtaatVatttctc +ttcatgBcVgtgKgaHaaatattYatagWacNctgaaMcgaattStagWaSgtaaKagtt +ttaagaDgatKcctgtaHtcatggKttVDatcaaggtYcgccagNgtgcVttttagagat +gctaccacggggtNttttaSHaNtatNcctcatSaaVgtactgBHtagcaYggYVKNgta +KBcRttgaWatgaatVtagtcgattYgatgtaatttacDacSctgctaaaStttaWMagD +aaatcaVYctccgggcgaVtaaWtStaKMgDtttcaaMtVgBaatccagNaaatcYRMBg +gttWtaaScKttMWtYataRaDBMaDataatHBcacDaaKDactaMgagttDattaHatH +taYatDtattDcRNStgaatattSDttggtattaaNSYacttcDMgYgBatWtaMagact +VWttctttgYMaYaacRgHWaattgRtaagcattctMKVStatactacHVtatgatcBtV +NataaBttYtSttacKgggWgYDtgaVtYgatDaacattYgatggtRDaVDttNactaSa +MtgNttaacaaSaBStcDctaccacagacgcaHatMataWKYtaYattMcaMtgSttDag +cHacgatcaHttYaKHggagttccgatYcaatgatRaVRcaagatcagtatggScctata +ttaNtagcgacgtgKaaWaactSgagtMYtcttccaKtStaacggMtaagNttattatcg +tctaRcactctctDtaacWYtgaYaSaagaWtNtatttRacatgNaatgttattgWDDcN +aHcctgaaHacSgaataaRaataMHttatMtgaSDSKatatHHaNtacagtccaYatWtc +actaactatKDacSaStcggataHgYatagKtaatKagStaNgtatactatggRHacttg +tattatgtDVagDVaRctacMYattDgtttYgtctatggtKaRSttRccRtaaccttaga +gRatagSaaMaacgcaNtatgaaatcaRaagataatagatactcHaaYKBctccaagaRa +BaStNagataggcgaatgaMtagaatgtcaKttaaatgtaWcaBttaatRcggtgNcaca +aKtttScRtWtgcatagtttWYaagBttDKgcctttatMggNttattBtctagVtacata +aaYttacacaaRttcYtWttgHcaYYtaMgBaBatctNgcDtNttacgacDcgataaSat +YaSttWtcctatKaatgcagHaVaacgctgcatDtgttaSataaaaYSNttatagtaNYt +aDaaaNtggggacttaBggcHgcgtNtaaMcctggtVtaKcgNacNtatVaSWctWtgaW +cggNaBagctctgaYataMgaagatBSttctatacttgtgtKtaattttRagtDtacata +tatatgatNHVgBMtKtaKaNttDHaagatactHaccHtcatttaaagttVaMcNgHata +tKtaNtgYMccttatcaaNagctggacStttcNtggcaVtattactHaSttatgNMVatt +MMDtMactattattgWMSgtHBttStStgatatRaDaagattttctatMtaaaaaggtac +taaVttaSacNaatactgMttgacHaHRttgMacaaaatagttaatatWKRgacDgaRta +tatttattatcYttaWtgtBRtWatgHaaattHataagtVaDtWaVaWtgStcgtMSgaS +RgMKtaaataVacataatgtaSaatttagtcgaaHtaKaatgcacatcggRaggSKctDc +agtcSttcccStYtccRtctctYtcaaKcgagtaMttttcRaYDttgttatctaatcata +NctctgctatcaMatactataggDaHaaSttMtaDtcNatataattctMcStaaBYtaNa +gatgtaatHagagSttgWHVcttatKaYgDctcttggtgttMcRaVgSgggtagacaata +aDtaattSaDaNaHaBctattgNtaccaaRgaVtKNtaaYggHtaKKgHcatctWtctDt +ttctttggSDtNtaStagttataaacaattgcaBaBWggHgcaaaBtYgctaatgaaatW +cDcttHtcMtWWattBHatcatcaaatctKMagtDNatttWaBtHaaaNgMttaaStagt +tctctaatDtcRVaYttgttMtRtgtcaSaaYVgSWDRtaatagctcagDgcWWaaaBaa +RaBctgVgggNgDWStNaNBKcBctaaKtttDcttBaaggBttgaccatgaaaNgttttt +tttatctatgttataccaaDRaaSagtaVtDtcaWatBtacattaWacttaSgtattggD +gKaaatScaattacgWcagKHaaccaYcRcaRttaDttRtttHgaHVggcttBaRgtccc +tDatKaVtKtcRgYtaKttacgtatBtStaagcaattaagaRgBagSaattccSWYttta +ttVaataNctgHgttaaNBgcVYgtRtcccagWNaaaacaDNaBcaaaaRVtcWMgBagM +tttattacgDacttBtactatcattggaaatVccggttRttcatagttVYcatYaSHaHc +ttaaagcNWaHataaaRWtctVtRYtagHtaaaYMataHYtNBctNtKaatattStgaMc +BtRgctaKtgcScSttDgYatcVtggaaKtaagatWccHccgKYctaNNctacaWctttt +gcRtgtVcgaKttcMRHgctaHtVaataaDtatgKDcttatBtDttggNtacttttMtga +acRattaaNagaactcaaaBBVtcDtcgaStaDctgaaaSgttMaDtcgttcaccaaaag +gWtcKcgSMtcDtatgtttStaaBtatagDcatYatWtaaaBacaKgcaDatgRggaaYc +taRtccagattDaWtttggacBaVcHtHtaacDacYgtaatataMagaatgHMatcttat +acgtatttttatattacHactgttataMgStYaattYaccaattgagtcaaattaYtgta +tcatgMcaDcgggtcttDtKgcatgWRtataatatRacacNRBttcHtBgcRttgtgcgt +catacMtttBctatctBaatcattMttMYgattaaVYatgDaatVagtattDacaacDMa +tcMtHcccataagatgBggaccattVWtRtSacatgctcaaggggYtttDtaaNgNtaaB +atggaatgtctRtaBgBtcNYatatNRtagaacMgagSaSDDSaDcctRagtVWSHtVSR +ggaacaBVaccgtttaStagaacaMtactccagtttVctaaRaaHttNcttagcaattta +ttaatRtaaaatctaacDaBttggSagagctacHtaaRWgattcaaBtctRtSHaNtgta +cattVcaHaNaagtataccacaWtaRtaaVKgMYaWgttaKggKMtKcgWatcaDatYtK +SttgtacgaccNctSaattcDcatcttcaaaDKttacHtggttHggRRaRcaWacaMtBW +VHSHgaaMcKattgtaRWttScNattBBatYtaNRgcggaagacHSaattRtttcYgacc +BRccMacccKgatgaacttcgDgHcaaaaaRtatatDtatYVtttttHgSHaSaatagct +NYtaHYaVYttattNtttgaaaYtaKttWtctaNtgagaaaNctNDctaaHgttagDcRt +tatagccBaacgcaRBtRctRtggtaMYYttWtgataatcgaataattattataVaaaaa +ttacNRVYcaaMacNatRttcKatMctgaagactaattataaYgcKcaSYaatMNctcaa +cgtgatttttBacNtgatDccaattattKWWcattttatatatgatBcDtaaaagttgaa +VtaHtaHHtBtataRBgtgDtaataMttRtDgDcttattNtggtctatctaaBcatctaR +atgNacWtaatgaagtcMNaacNgHttatactaWgcNtaStaRgttaaHacccgaYStac +aaaatWggaYaWgaattattcMaactcBKaaaRVNcaNRDcYcgaBctKaacaaaaaSgc +tccYBBHYaVagaatagaaaacagYtctVccaMtcgtttVatcaatttDRtgWctagtac +RttMctgtDctttcKtWttttataaatgVttgBKtgtKWDaWagMtaaagaaattDVtag +gttacatcatttatgtcgMHaVcttaBtVRtcgtaYgBRHatttHgaBcKaYWaatcNSc +tagtaaaaatttacaatcactSWacgtaatgKttWattagttttNaggtctcaagtcact +attcttctaagKggaataMgtttcataagataaaaatagattatDgcBVHWgaBKttDgc +atRHaagcaYcRaattattatgtMatatattgHDtcaDtcaaaHctStattaatHaccga +cNattgatatattttgtgtDtRatagSacaMtcRtcattcccgacacSattgttKaWatt +NHcaacttccgtttSRtgtctgDcgctcaaMagVtBctBMcMcWtgtaacgactctcttR +ggRKSttgYtYatDccagttDgaKccacgVatWcataVaaagaataMgtgataaKYaaat +cHDaacgataYctRtcYatcgcaMgtNttaBttttgatttaRtStgcaacaaaataccVg +aaDgtVgDcStctatatttattaaaaRKDatagaaagaKaaYYcaYSgKStctccSttac +agtcNactttDVttagaaagMHttRaNcSaRaMgBttattggtttaRMggatggcKDgWR +tNaataataWKKacttcKWaaagNaBttaBatMHtccattaacttccccYtcBcYRtaga +ttaagctaaYBDttaNtgaaaccHcaRMtKtaaHMcNBttaNaNcVcgVttWNtDaBatg +ataaVtcWKcttRggWatcattgaRagHgaattNtatttctctattaattaatgaDaaMa +tacgttgggcHaYVaaNaDDttHtcaaHtcVVDgBVagcMacgtgttaaBRNtatRtcag +taagaggtttaagacaVaaggttaWatctccgtVtaDtcDatttccVatgtacNtttccg +tHttatKgScBatgtVgHtYcWagcaKtaMYaaHgtaattaSaHcgcagtWNaatNccNN +YcacgVaagaRacttctcattcccRtgtgtaattagcSttaaStWaMtctNNcSMacatt +ataaactaDgtatWgtagtttaagaaaattgtagtNagtcaataaatttgatMMYactaa +tatcggBWDtVcYttcDHtVttatacYaRgaMaacaStaatcRttttVtagaDtcacWat +ttWtgaaaagaaagNRacDtttStVatBaDNtaactatatcBSMcccaSttccggaMatg +attaaWatKMaBaBatttgataNctgttKtVaagtcagScgaaaDggaWgtgttttKtWt +atttHaatgtagttcactaaKMagttSYBtKtaYgaactcagagRtatagtVtatcaaaW +YagcgNtaDagtacNSaaYDgatBgtcgataacYDtaaactacagWDcYKaagtttatta +gcatcgagttKcatDaattgattatDtcagRtWSKtcgNtMaaaaacaMttKcaWcaaSV +MaaaccagMVtaMaDtMaHaBgaacataBBVtaatVYaNSWcSgNtDNaaKacacBttta +tKtgtttcaaHaMctcagtaacgtcgYtactDcgcctaNgagagcYgatattttaaattt +ccattttacatttDaaRctattttWctttacgtDatYtttcagacgcaaVttagtaaKaa +aRtgVtccataBggacttatttgtttaWNtgttVWtaWNVDaattgtatttBaagcBtaa +BttaaVatcHcaVgacattccNggtcgacKttaaaRtagRtctWagaYggtgMtataatM +tgaaRttattttgWcttNtDRRgMDKacagaaaaggaaaRStcccagtYccVattaNaaK +StNWtgacaVtagaagcttSaaDtcacaacgDYacWDYtgtttKatcVtgcMaDaSKStV +cgtagaaWaKaagtttcHaHgMgMtctataagBtKaaaKKcactggagRRttaagaBaaN +atVVcgRcKSttDaactagtSttSattgttgaaRYatggttVttaataaHttccaagDtg +atNWtaagHtgcYtaactRgcaatgMgtgtRaatRaNaacHKtagactactggaatttcg +ccataacgMctRgatgttaccctaHgtgWaYcactcacYaattcttaBtgacttaaacct +gYgaWatgBttcttVttcgttWttMcNYgtaaaatctYgMgaaattacNgaHgaacDVVM +tttggtHtctaaRgtacagacgHtVtaBMNBgattagcttaRcttacaHcRctgttcaaD +BggttKaacatgKtttYataVaNattccgMcgcgtagtRaVVaattaKaatggttRgaMc +agtatcWBttNtHagctaatctagaaNaaacaYBctatcgcVctBtgcaaagDgttVtga +HtactSNYtaaNccatgtgDacgaVtDcgKaRtacDcttgctaagggcagMDagggtBWR +tttSgccttttttaacgtcHctaVtVDtagatcaNMaVtcVacatHctDWNaataRgcgt +aVHaggtaaaaSgtttMtattDgBtctgatSgtRagagYtctSaKWaataMgattRKtaa +catttYcgtaacacattRWtBtcggtaaatMtaaacBatttctKagtcDtttgcBtKYYB +aKttctVttgttaDtgattttcttccacttgSaaacggaaaNDaattcYNNaWcgaaYat +tttMgcBtcatRtgtaaagatgaWtgaccaYBHgaatagataVVtHtttVgYBtMctaMt +cctgaDcYttgtccaaaRNtacagcMctKaaaggatttacatgtttaaWSaYaKttBtag +DacactagctMtttNaKtctttcNcSattNacttggaacaatDagtattRtgSHaataat +gccVgacccgatactatccctgtRctttgagaSgatcatatcgDcagWaaHSgctYYWta +tHttggttctttatVattatcgactaagtgtagcatVgtgHMtttgtttcgttaKattcM +atttgtttWcaaStNatgtHcaaaDtaagBaKBtRgaBgDtSagtatMtaacYaatYtVc +KatgtgcaacVaaaatactKcRgtaYtgtNgBBNcKtcttaccttKgaRaYcaNKtactt +tgagSBtgtRagaNgcaaaNcacagtVtttHWatgttaNatBgtttaatNgVtctgaata +tcaRtattcttttttttRaaKcRStctcggDgKagattaMaaaKtcaHacttaataataK +taRgDtKVBttttcgtKaggHHcatgttagHggttNctcgtatKKagVagRaaaggaaBt +NatttVKcRttaHctaHtcaaatgtaggHccaBataNaNaggttgcWaatctgatYcaaa +HaatWtaVgaaBttagtaagaKKtaaaKtRHatMaDBtBctagcatWtatttgWttVaaa +ScMNattRactttgtYtttaaaagtaagtMtaMaSttMBtatgaBtttaKtgaatgagYg +tNNacMtcNRacMMHcttWtgtRtctttaacaacattattcYaMagBaacYttMatcttK +cRMtgMNccattaRttNatHaHNaSaaHMacacaVaatacaKaSttHatattMtVatWga +ttttttaYctttKttHgScWaacgHtttcaVaaMgaacagNatcgttaacaaaaagtaca +HBNaattgttKtcttVttaaBtctgctacgBgcWtttcaggacacatMgacatcccagcg +gMgaVKaBattgacttaatgacacacaaaaaatRKaaBctacgtRaDcgtagcVBaacDS +BHaaaaSacatatacagacRNatcttNaaVtaaaataHattagtaaaaSWccgtatWatg +gDttaactattgcccatcttHaSgYataBttBaactattBtcHtgatcaataSttaBtat +KSHYttWggtcYtttBttaataccRgVatStaHaKagaatNtagRMNgtcttYaaSaact +cagDSgagaaYtMttDtMRVgWKWtgMaKtKaDttttgactatacataatcNtatNaHat +tVagacgYgatatatttttgtStWaaatctWaMgagaRttRatacgStgattcttaagaD +taWccaaatRcagcagaaNKagtaaDggcgccBtYtagSBMtactaaataMataBSacRM +gDgattMMgtcHtcaYDtRaDaacggttDaggcMtttatgttaNctaattaVacgaaMMt +aatDccSgtattgaRtWWaccaccgagtactMcgVNgctDctaMScatagcgtcaactat +acRacgHRttgctatttaatgaattataYKttgtaagWgtYttgcHgMtaMattWaWVta +RgcttgYgttBHtYataSccStBtgtagMgtDtggcVaaSBaatagDttgBgtctttctc +attttaNagtHKtaMWcYactVcgcgtatMVtttRacVagDaatcttgctBBcRDgcaac +KttgatSKtYtagBMagaRtcgBattHcBWcaactgatttaatttWDccatttatcgagS +KaWttataHactaHMttaatHtggaHtHagaatgtKtaaRactgtttMatacgatcaagD +gatKaDctataMggtHDtggHacctttRtatcttYattttgacttgaaSaataaatYcgB +aaaaccgNatVBttMacHaKaataagtatKgtcaagactcttaHttcggaattgttDtct +aaccHttttWaaatgaaatataaaWattccYDtKtaaaacggtgaggWVtctattagtga +ctattaagtMgtttaagcatttgSgaaatatccHaaggMaaaattttcWtatKctagDtY +tMcctagagHcactttactatacaaacattaacttaHatcVMYattYgVgtMttaaRtga +aataaDatcaHgtHHatKcDYaatcttMtNcgatYatgSaMaNtcttKcWataScKggta +tcttacgcttWaaagNatgMgHtctttNtaacVtgttcMaaRatccggggactcMtttaY +MtcWRgNctgNccKatcttgYDcMgattNYaRagatHaaHgKctcataRDttacatBatc +cattgDWttatttaWgtcggagaaaaatacaatacSNtgggtttccttacSMaagBatta +caMaNcactMttatgaRBacYcYtcaaaWtagctSaacttWgDMHgaggatgBVgcHaDt +ggaactttggtcNatNgtaKaBcccaNtaagttBaacagtatacDYttcctNgWgcgSMc +acatStctHatgRcNcgtacacaatRttMggaNKKggataaaSaYcMVcMgtaMaHtgat +tYMatYcggtcttcctHtcDccgtgRatcattgcgccgatatMaaYaataaYSggatagc +gcBtNtaaaScaKgttBgagVagttaKagagtatVaactaSacWactSaKatWccaKaaa +atBKgaaKtDMattttgtaaatcRctMatcaaMagMttDgVatggMaaWgttcgaWatga +aatttgRtYtattaWHKcRgctacatKttctaccaaHttRatctaYattaaWatVNccat +NgagtcKttKataStRaatatattcctRWatDctVagttYDgSBaatYgttttgtVaatt +taatagcagMatRaacttBctattgtMagagattaaactaMatVtHtaaatctRgaaaaa +aaatttWacaacaYccYDSaattMatgaccKtaBKWBattgtcaagcHKaagttMMtaat +ttcKcMagNaaKagattggMagaggtaatttYacatcWaaDgatMgKHacMacgcVaaca +DtaDatatYggttBcgtatgWgaSatttgtagaHYRVacaRtctHaaRtatgaactaata +tctSSBgggaaHMWtcaagatKgagtDaSatagttgattVRatNtctMtcSaagaSHaat +aNataataRaaRgattctttaataaagWaRHcYgcatgtWRcttgaaggaMcaataBRaa +ccagStaaacNtttcaatataYtaatatgHaDgcStcWttaacctaRgtYaRtataKtgM +ttttatgactaaaatttacYatcccRWtttHRtattaaatgtttatatttgttYaatMca +RcSVaaDatcgtaYMcatgtagacatgaaattgRtcaaYaaYtRBatKacttataccaNa +aattVaBtctggacaagKaaYaaatatWtMtatcYaaVNtcgHaactBaagKcHgtctac +aatWtaDtSgtaHcataHtactgataNctRgttMtDcDttatHtcgtacatcccaggStt +aBgtcacacWtccNMcNatMVaVgtccDYStatMaccDatggYaRKaaagataRatttHK +tSaaatDgataaacttaHgttgVBtcttVttHgDacgaKatgtatatNYataactctSat +atatattgcHRRYttStggaactHgttttYtttaWtatMcttttctatctDtagVHYgMR +BgtHttcctaatYRttKtaagatggaVRataKDctaMtKBNtMtHNtWtttYcVtattMc +gRaacMcctNSctcatttaaagDcaHtYccSgatgcaatYaaaaDcttcgtaWtaattct +cgttttScttggtaatctttYgtctaactKataHacctMctcttacHtKataacacagcN +RatgKatttttSaaatRYcgDttaMRcgaaattactMtgcgtaagcgttatBtttttaat +taagtNacatHgttcRgacKcBBtVgatKttcgaBaatactDRgtRtgaNacWtcacYtt +aaKcgttctHaKttaNaMgWgWaggtctRgaKgWttSttBtDcNtgtttacaaatYcDRt +gVtgcctattcNtctaaaDMNttttNtggctgagaVctDaacVtWccaagtaacacaNct +gaScattccDHcVBatcgatgtMtaatBgHaatDctMYgagaatgYWKcctaatNaStHa +aaKccgHgcgtYaaYtattgtStgtgcaaRtattaKatattagaWVtcaMtBagttatta +gNaWHcVgcaattttDcMtgtaRHVYtHtctgtaaaaHVtMKacatcgNaatttMatatg +ttgttactagWYtaRacgataKagYNKcattataNaRtgaacKaYgcaaYYacaNccHat +MatDcNgtHttRaWttagaaDcaaaaaatagggtKDtStaDaRtaVtHWKNtgtattVct +SVgRgataDaRaWataBgaagaaKtaataaYgDcaStaNgtaDaaggtattHaRaWMYaY +aWtggttHYgagVtgtgcttttcaaDKcagVcgttagacNaaWtagtaataDttctggtt +VcatcataaagtgKaaaNaMtaBBaattaatWaattgctHaVKaSgDaaVKaHtatatat +HatcatSBagNgHtatcHYMHgttDgtaHtBttWatcgtttaRaattgStKgSKNWKatc +agDtctcagatttctRtYtBatBgHHtKaWtgYBgacVVWaKtacKcDttKMaKaVcggt +gttataagaataaHaatattagtataatMHgttYgaRttagtaRtcaaVatacggtcMcg +agtaaRttacWgactKRYataaaagSattYaWgagatYagKagatgSaagKgttaatMgg +tataatgttWYttatgagaaacctNVataatHcccKtDctcctaatactggctHggaSag +gRtKHaWaattcgSatMatttagaggcYtctaMcgctcataSatatgRagacNaaDagga +VBagaYttKtacNaKgtSYtagttggaWcatcWttaatctatgaVtcgtgtMtatcaYcg +tRccaaYgDctgcMgtgtWgacWtgataacacgcgctBtgttaKtYDtatDcatcagKaV +MctaatcttgVcaaRgcRMtDcgattaHttcaNatgaatMtactacVgtRgatggaWttt +actaaKatgagSaaKggtaNtactVaYtaaKRagaacccacaMtaaMtKtatBcttgtaa +WBtMctaataaVcDaaYtcRHBtcgttNtaaHatttBNgRStVDattBatVtaagttaYa +tVattaagaBcacggtSgtVtatttaRattgatgtaHDKgcaatattKtggcctatgaWD +KRYcggattgRctatNgatacaatMNttctgtcRBYRaaaHctNYattcHtaWcaattct +BtMKtVgYataatMgYtcagcttMDataVtggRtKtgaatgccNcRttcaMtRgattaac +attRcagcctHtWMtgtDRagaKaBtgDttYaaaaKatKgatctVaaYaacWcgcatagB +VtaNtRtYRaggBaaBtgKgttacataagagcatgtRattccacttaccatRaaatgWgD +aMHaYVgVtaSctatcgKaatatattaDgacccYagtgtaYNaaatKcagtBRgagtcca +tgKgaaaccBgaagBtgSttWtacgatWHaYatcgatttRaaNRgcaNaKVacaNtDgat +tgHVaatcDaagcgtatgcNttaDataatcSataaKcaataaHWataBtttatBtcaKtK +tatagttaDgSaYctacaRatNtaWctSaatatttYaKaKtaccWtatcRagacttaYtt +VcKgSDcgagaagatccHtaattctSttatggtKYgtMaHagVaBRatttctgtRgtcta +tgggtaHKgtHacHtSYacgtacacHatacKaaBaVaccaDtatcSaataaHaagagaat +ScagactataaRttagcaaVcaHataKgDacatWccccaagcaBgagWatctaYttgaaa +tctVNcYtttWagHcgcgcDcVaaatgttKcHtNtcaatagtgtNRaactttttcaatgg +WgBcgDtgVgtttctacMtaaataaaRggaaacWaHttaRtNtgctaaRRtVBctYtVta +tDcattDtgaccYatagatYRKatNYKttNgcctagtaWtgaactaMVaacctgaStttc +tgaKVtaaVaRKDttVtVctaDNtataaaDtccccaagtWtcgatcactDgYaBcatcct +MtVtacDaaBtYtMaKNatNtcaNacgDatYcatcgcaRatWBgaacWttKttagYtaat +tcggttgSWttttDWctttacYtatatWtcatDtMgtBttgRtVDggttaacYtacgtac +atgaattgaaWcttMStaDgtatattgaDtcRBcattSgaaVBRgagccaaKtttcDgcg +aSMtatgWattaKttWtgDBMaggBBttBaatWttRtgcNtHcgttttHtKtcWtagHSt +aacagttgatatBtaWSaWggtaataaMttaKacDaatactcBttcaatatHttcBaaSa +aatYggtaRtatNtHcaatcaHtagVtgtattataNggaMtcttHtNagctaaaggtaga +YctMattNaMVNtcKtactBKcaHHcBttaSagaKacataYgctaKaYgttYcgacWVtt +WtSagcaacatcccHaccKtcttaacgaKttcacKtNtacHtatatRtaaatacactaBt +ttgaHaRttggttWtatYagcatYDatcggagagcWBataagRtacctataRKgtBgatg +aDatataSttagBaHtaatNtaDWcWtgtaattacagKttcNtMagtattaNgtctcgtc +ctcttBaHaKcKccgtRcaaYagSattaagtKataDatatatagtcDtaacaWHcaKttD +gaaRcgtgYttgtcatatNtatttttatggccHtgDtYHtWgttatYaacaattcaWtat +NgctcaaaSttRgctaatcaaatNatcgtttaBtNNVtgttataagcaaagattBacgtD +atttNatttaaaDcBgtaSKgacgtagataatttcHMVNttgttBtDtgtaWKaaRMcKM +tHtaVtagataWctccNNaSWtVaHatctcMgggDgtNHtDaDttatatVWttgttattt +aacctttcacaaggaSaDcggttttttatatVtctgVtaacaStDVaKactaMtttaSNa +gtgaaattaNacttSKctattcctctaSagKcaVttaagNaVcttaVaaRNaHaaHttat +gtHttgtgatMccaggtaDcgaccgtWgtWMtttaHcRtattgScctatttKtaaccaag +tYagaHgtWcHaatgccKNRtttagtMYSgaDatctgtgaWDtccMNcgHgcaaacNDaa +aRaStDWtcaaaaHKtaNBctagBtgtattaactaattttVctagaatggcWSatMaccc +ttHttaSgSgtgMRcatRVKtatctgaaaccDNatYgaaVHNgatMgHRtacttaaaRta +tStRtDtatDttYatattHggaBcttHgcgattgaKcKtttcRataMtcgaVttWacatN +catacctRataDDatVaWNcggttgaHtgtMacVtttaBHtgagVttMaataattatgtt +cttagtttgtgcDtSatttgBtcaacHattaaBagVWcgcaSYttMgcttacYKtVtatc +aYaKctgBatgcgggcYcaaaaacgNtctagKBtattatctttKtaVttatagtaYtRag +NtaYataaVtgaatatcHgcaaRataHtacacatgtaNtgtcgYatWMatttgaactacR +ctaWtWtatacaatctBatatgYtaagtatgtgtatSttactVatcttYtaBcKgRaSgg +RaaaaatgcagtaaaWgtaRgcgataatcBaataccgtatttttccatcNHtatWYgatH +SaaaDHttgctgtccHtggggcctaataatttttctatattYWtcattBtgBRcVttaVM +RSgctaatMagtYtttaaaaatBRtcBttcaaVtaacagctccSaaSttKNtHtKYcagc +agaaaccccRtttttaaDcDtaStatccaagcgctHtatcttaDRYgatDHtWcaaaBcW +gKWHttHataagHacgMNKttMKHccaYcatMVaacgttaKgYcaVaaBtacgcaacttt +MctaaHaatgtBatgagaSatgtatgSRgHgWaVWgataaatatttccKagVgataattW +aHNcYggaaatgctHtKtaDtctaaagtMaatVDVactWtSaaWaaMtaHtaSKtcBRaN +cttStggtBttacNagcatagRgtKtgcgaacaacBcgKaatgataagatgaaaattgta +ctgcgggtccHHWHaaNacaBttNKtKtcaaBatatgctaHNgtKcDWgtttatNgVDHg +accaacWctKaaggHttgaRgYaatHcaBacaatgagcaaattactgtaVaaYaDtagat +tgagNKggtggtgKtWKaatacagDRtatRaMRtgattDggtcaaYRtatttNtagaDtc +acaaSDctDtataatcgtactaHttatacaatYaacaaHttHatHtgcgatRRttNgcat +SVtacWWgaaggagtatVMaVaaattScDDKNcaYBYaDatHgtctatBagcaacaagaa +tgagaaRcataaKNaRtBDatcaaacgcattttttaaBtcSgtacaRggatgtMNaattg +gatatWtgagtattaaaVctgcaYMtatgatttttYgaHtgtcttaagWBttHttgtctt +attDtcgtatWtataataSgctaHagcDVcNtaatcaagtaBDaWaDgtttagYctaNcc +DtaKtaHcttaataacccaRKtacaVaatNgcWRaMgaattatgaBaaagattVYaHMDc +aDHtcRcgYtcttaaaWaaaVKgatacRtttRRKYgaatacaWVacVcRtatMacaBtac +tggMataaattttHggNagSctacHgtBagcgtcgtgattNtttgatSaaggMttctttc +ttNtYNagBtaaacaaatttMgaccttacataattgYtcgacBtVMctgStgMDtagtaR +ctHtatgttcatatVRNWataDKatWcgaaaaagttaaaagcacgHNacgtaatctttMR +tgacttttDacctataaacgaaatatgattagaactccSYtaBctttaataacWgaaaYa +tagatgWttcatKtNgatttttcaagHtaYgaaRaDaagtaggagcttatVtagtctttc +attaaaatcgKtattaRttacagVaDatgcatVgattgggtctttHVtagKaaRBtaHta +aggccccaaaaKatggtttaMWgtBtaaacttcactttKHtcgatctccctaYaBacMgt +cttBaBaNgcgaaacaatctagtHccHtKttcRtRVttccVctttcatacYagMVtMcag +aMaaacaataBctgYtaatRaaagattaaccatVRatHtaRagcgcaBcgDttStttttc +VtttaDtKgcaaWaaaaatSccMcVatgtKgtaKgcgatatgtagtSaaaDttatacaaa +catYaRRcVRHctKtcgacKttaaVctaDaatgttMggRcWaacttttHaDaKaDaBctg +taggcgtttaHBccatccattcNHtDaYtaataMttacggctNVaacDattgatatttta +cVttSaattacaaRtataNDgacVtgaacataVRttttaDtcaaacataYDBtttaatBa +DtttYDaDaMccMttNBttatatgagaaMgaNtattHccNataattcaHagtgaaggDga +tgtatatatgYatgaStcataaBStWacgtcccataRMaaDattggttaaattcMKtctM +acaBSactcggaatDDgatDgcWctaacaccgggaVcacWKVacggtaNatatacctMta +tgatagtgcaKagggVaDtgtaacttggagtcKatatcgMcttRaMagcattaBRaStct +YSggaHYtacaactMBaagDcaBDRaaacMYacaHaattagcattaaaHgcgctaaggSc +cKtgaaKtNaBtatDDcKBSaVtgatVYaagVtctSgMctacgttaacWaaattctSgtD +actaaStaaattgcagBBRVctaatatacctNttMcRggctttMttagacRaHcaBaacV +KgaataHttttMgYgattcYaNRgttMgcVaaacaVVcDHaatttgKtMYgtatBtVVct +WgVtatHtacaaHttcacgatagcagtaaNattBatatatttcVgaDagcggttMaagtc +ScHagaaatgcYNggcgtttttMtStggtRatctacttaaatVVtBacttHNttttaRca +aatcacagHgagagtMgatcSWaNRacagDtatactaaDKaSRtgattctccatSaaRtt +aaYctacacNtaRtaactggatgaccYtacactttaattaattgattYgttcagDtNKtt +agDttaaaaaaaBtttaaNaYWKMBaaaacVcBMtatWtgBatatgaacVtattMtYatM +NYDKNcKgDttDaVtaaaatgggatttctgtaaatWtctcWgtVVagtcgRgacttcccc +taDcacagcRcagagtgtWSatgtacatgttaaSttgtaaHcgatgggMagtgaacttat +RtttaVcaccaWaMgtactaatSSaHtcMgaaYtatcgaaggYgggcgtgaNDtgttMNg +aNDMtaattcgVttttaacatgVatgtWVMatatcaKgaaattcaBcctccWcttgaaWH +tWgHtcgNWgaRgctcBgSgaattgcaaHtgattgtgNagtDttHHgBttaaWcaaWagc +aSaHHtaaaVctRaaMagtaDaatHtDMtcVaWMtagSagcttHSattaacaaagtRacM +tRtctgttagcMtcaBatVKtKtKacgagaSNatSactgtatatcBctgagVtYactgta +aattaaaggcYgDHgtaacatSRDatMMccHatKgttaacgactKtgKagtcttcaaHRV +tccttKgtSataatttacaactggatDNgaacttcaRtVaagDcaWatcBctctHYatHa +DaaatttagYatSatccaWtttagaaatVaacBatHcatcgtacaatatcgcNYRcaata +YaRaYtgattVttgaatgaVaactcRcaNStgtgtattMtgaggtNttBaDRcgaaaagc +tNgBcWaWgtSaDcVtgVaatMKBtttcgtttctaaHctaaagYactgMtatBDtcStga +ccgtSDattYaataHctgggaYYttcggttaWaatctggtRagWMaDagtaacBccacta +cgHWMKaatgatWatcctgHcaBaSctVtcMtgtDttacctaVgatYcWaDRaaaaRtag +atcgaMagtggaRaWctctgMgcWttaagKBRtaaDaaWtctgtaagYMttactaHtaat +cttcataacggcacBtSgcgttNHtgtHccatgttttaaagtatcgaKtMttVcataYBB +aKtaMVaVgtattNDSataHcagtWMtaggtaSaaKgttgBtVtttgttatcatKcgHac +acRtctHatNVagSBgatgHtgaRaSgttRcctaacaaattDNttgacctaaYtBgaaaa +tagttattactcttttgatgtNNtVtgtatMgtcttRttcatttgatgacacttcHSaaa +ccaWWDtWagtaRDDVNacVaRatgttBccttaatHtgtaaacStcVNtcacaSRttcYa +gacagaMMttttgMcNttBcgWBtactgVtaRttctccaaYHBtaaagaBattaYacgat +ttacatctgtaaMKaRYtttttactaaVatWgctBtttDVttctggcDaHaggDaagtcg +aWcaagtagtWttHtgKtVataStccaMcWcaagataagatcactctHatgtcYgaKcat +cagatactaagNSStHcctRRNtattgtccttagttagMVgtatagactaactctVcaat +MctgtttgtgttgccttatWgtaBVtttctggMcaaKgDWtcgtaaYStgSactatttHg +atctgKagtagBtVacRaagRtMctatgggcaaaKaaaatacttcHctaRtgtDcttDat +taggaaatttcYHaRaaBttaatggcacKtgctHVcaDcaaaVDaaaVcgMttgtNagcg +taDWgtcgttaatDgKgagcSatatcSHtagtagttggtgtHaWtaHKtatagctgtVga +ttaBVaatgaataagtaatVatSttaHctttKtttgtagttaccttaatcgtagtcctgB +cgactatttVcMacHaaaggaatgDatggKtaHtgStatattaaSagctWcctccRtata +BaDYcgttgcNaagaggatRaaaYtaWgNtSMcaatttactaacatttaaWttHtatBat +tgtcgacaatNgattgcNgtMaaaKaBDattHacttggtRtttaYaacgVactBtaBaKt +gBttatgVttgtVttcaatcWcNctDBaaBgaDHacBttattNtgtDtatttVSaaacag +gatgcRatSgtaSaNtgBatagttcHBgcBBaaattaHgtDattatDaKaatBaaYaaMa +ataaataKtttYtagtBgMatNcatgtttgaNagtgttgtgKaNaSagtttgaSMaYBca +aaacDStagttVacaaaaactaaWttBaagtctgtgcgtMgtaattctcctacctcaNtt +taaccaaaaVtBcacataacaccccBcWMtatVtggaatgaWtcaaWaaaaaaaaWtDta +atatRcctDWtcctaccMtVVatKttaWaaKaaatataaagScHBagaggBaSMtaWaVt +atattactSaaaKNaactatNatccttgaYctattcaaaVgatttYHcRagattttaSat +aggttattcVtaaagaKgtattattKtRttNcggcRgtgtgtWYtaacHgKatKgatYta +cYagDtWcHBDctctgRaYKaYagcactKcacSaRtBttttBHKcMtNtcBatttatttt +tgSatVgaaagaWtcDtagDatatgMacaacRgatatatgtttgtKtNRaatatNatgYc +aHtgHataacKtgagtagtaacYttaNccaaatHcacaacaVDtagtaYtccagcattNt +acKtBtactaaagaBatVtKaaHBctgStgtBgtatgaSNtgDataaccctgtagcaBgt +gatcttaDataStgaMaccaSBBgWagtacKcgattgaDgNNaaaacacagtSatBacKD +gcgtataBKcatacactaSaatYtYcDaactHttcatRtttaatcaattataRtttgtaa +gMcgNttcatcBtYBagtNWNMtSHcattcRctttttRWgaKacKttgggagBcgttcgc +MaWHtaatactgtctctatttataVgtttaBScttttaBMaNaatMacactYtBMggtHa +cMagtaRtctgcatttaHtcaaaatttgagKtgNtactBacaHtcgtatttctMaSRagc +agttaatgtNtaaattgagagWcKtaNttagVtacgatttgaatttcgRtgtWcVatcgt +taaDVctgtttBWgaccagaaagtcSgtVtatagaBccttttcctaaattgHtatcggRa +ttttcaaggcYSKaagWaWtRactaaaacccBatMtttBaatYtaagaactSttcgaaSc +aatagtattgaccaagtgttttctaacatgtttNVaatcaaagagaaaNattaaRtttta +VaaaccgcaggNMtatattVctcaagaggaacgBgtttaacaagttcKcYaatatactaa +ccBaaaSggttcNtattctagttRtBacgScVctcaatttaatYtaaaaaaatgSaatga +tagaMBRatgRcMcgttgaWHtcaVYgaatYtaatctttYttatRaWtctgBtDcgatNa +tcKaBaDgatgtaNatWKctccgatattaacattNaaacDatgBgttctgtDtaaaMggt +gaBaSHataacgccSctaBtttaRBtcNHcDatcDcctagagtcRtaBgWttDRVHagat +tYatgtatcWtaHtttYcattWtaaagtctNgtStggRNcgcggagSSaaagaaaatYcH +DtcgctttaatgYcKBVSgtattRaYBaDaaatBgtatgaHtaaRaRgcaSWNtagatHa +acttNctBtcaccatctMcatattccaSatttgcgaDagDgtatYtaaaVDtaagtttWV +aagtagYatRttaagDcNgacKBcScagHtattatcDaDactaaaaaYgHttBcgaDttg +gataaaKSRcBMaBcgaBSttcWtgNBatRaccgattcatttataacggHVtaattcaca +agagVttaaRaatVVRKcgWtVgacctgDgYaaHaWtctttcacMagggatVgactagMa +aataKaaNWagKatagNaaWtaaaatttgaattttatttgctaaVgaHatBatcaaBWcB +gttcMatcgBaaNgttcgSNaggSaRtttgHtRtattaNttcDcatSaVttttcgaaaaa +ttgHatctaRaggSaNatMDaaatDcacgattttagaHgHaWtYgattaatHNSttatMS +gggNtcKtYatRggtttgtMWVtttaYtagcagBagHaYagttatatggtBacYcattaR +SataBatMtttaaatctHcaaaSaaaagttNSaaWcWRccRtKaagtBWtcaaattSttM +tattggaaaccttaacgttBtWatttatatWcDaatagattcctScacctaagggRaaYt +aNaatgVtBcttaaBaacaMVaaattatStYgRcctgtactatcMcVKatttcgSgatRH +MaaaHtagtaaHtVgcaaataatatcgKKtgccaatBNgaaWcVttgagttaKatagttc +aggKDatDtattgaKaVcaKtaataDataataHSaHcattagttaatRVYcNaHtaRcaa +ggtNHcgtcaaccaBaaagYtHWaaaRcKgaYaaDttgcWYtataRgaatatgtYtgcKt +aNttWacatYHctRaDtYtattcBttttatcSataYaYgttWaRagcacHMgtttHtYtt +YaatcggtatStttcgtRSattaaDaKMaatatactaNBaWgctacacYtgaYVgtgHta +aaRaaRgHtagtWattataaaSDaaWtgMattatcgaaaagtaYRSaWtSgNtBgagcRY +aMDtactaacttaWgtatctagacaagNtattHggataatYttYatcataDcgHgttBtt +ctttVttgccgaaWtaaaacgKgtatctaaaaaNtccDtaDatBMaMggaatNKtatBaa +atVtccRaHtaSacataHattgtttKVYattcataVaattWtcgtgMttcttKtgtctaa +cVtatctatatBRataactcgKatStatattcatHHRttKtccaacgtgggtgRgtgaMt +attattggctatcgtgacMtRcBDtcttgtactaatRHttttaagatcgVMDStattatY +BtttDttgtBtNttgRcMtYtgBacHaWaBaatDKctaagtgaaactaatgRaaKgatcc +aagNaaaatattaggWNtaagtatacttttKcgtcggSYtcttgRctataYcttatataa +agtatattaatttataVaacacaDHatctatttttKYVatHRactttaBHccaWagtact +BtcacgaVgcgttRtttttttSVgtSagtBaaattctgaHgactcttgMcattttagVta +agaattHctHtcaDaaNtaacRggWatagttcgtSttgaDatcNgNagctagDgatcNtt +KgttgtaDtctttRaaYStRatDtgMggactSttaDtagSaVtBDttgtDgccatcacaM +attaaaMtNacaVcgSWcVaaDatcaHaatgaattaMtatccVtctBtaattgtWattat +BRcWcaatgNNtactWYtDaKttaaatcactcagtRaaRgatggtKgcgccaaHgaggat +StattYcaNMtcaBttacttatgagDaNtaMgaaWtgtttcttctaHtMNgttatctaWW +atMtBtaaatagDVatgtBYtatcggcttaagacMRtaHScgatatYgRDtcattatSDa +HggaaataNgaWSRRaaaBaatagBattaDctttgHWNttacaataaaaaaatacggttt +gHgVtaHtWMttNtBtctagtMcgKMgHgYtataHaNagWtcaacYattaataYRgtaWK +gaBctataaccgatttaHaNBRaRaMtccggtNgacMtctcatttgcaattcWgMactta +caaDaaNtactWatVtttagccttMaatcagVaagtctVaaDaBtattaattaYtNaYtg +gattaKtaKctYaMtattYgatattataatKtVgDcttatatNBtcgttgtStttttMag +aggttaHYSttcKgtcKtDNtataagttataagSgttatDtRttattgttttSNggRtca +aKMNatgaatattgtBWtaMacctgggYgaSgaagYataagattacgagaatBtggtRcV +HtgYggaDgaYaKagWagctatagacgaaHgtWaNgacttHRatVaWacKYtgRVNgVcS +gRWctacatcKSactctgWYtBggtataagcttNRttVtgRcaWaaatDMatYattaact +ttcgaagRatSctgccttgcRKaccHtttSNVagtagHagBagttagaccaRtataBcca +taatSHatRtcHagacBWatagcaMtacaRtgtgaaBatctKRtScttccaNaatcNgta +atatWtcaMgactctBtWtaaNactHaaaaRctcgcatggctMcaaNtcagaaaaacaca +gtggggWttRttagtaagaVctVMtcgaatcttcMaaaHcaHBttcgattatgtcaDagc +YRtBtYcgacMgtDcagcgaNgttaataatagcagKYYtcgtaBtYctMaRtaRtDagaa +aacacatgYaBttgattattcgaaNttBctSataaMataWRgaHtttccgtDgaYtatgg +tDgHKgMtatttVtMtVagttaRatMattRagataaccctKctMtSttgaHagtcStcta +tttccSagatgttccacgaggYNttHRacgattcDatatDcataaaatBBttatcgaHtN +HaaatatDNaggctgaNcaaggagttBttMgRagVatBcRtaWgatgBtSgaKtcgHttt +gaatcaaDaHttcSBgHcagtVaaSttDcagccgttNBtgttHagYtattctttRWaaVt +SttcatatKaaRaaaNacaVtVctMtSDtDtRHRcgtaatgctcttaaatSacacaatcg +HattcaWcttaaaatHaaatcNctWttaNMcMtaKctVtcctaagYgatgatcYaaaRac +tctaRDaYagtaacgtDgaggaaatctcaaacatcaScttcKttNtaccatNtaNataca +tttHaaDHgcaDatMWaaBttcRggctMaagctVYcacgatcaDttatYtaatcKatWat +caatVYtNagatttgattgaYttttYgacttVtcKaRagaaaHVgDtaMatKYagagttN +atWttaccNtYtcDWgSatgaRgtMatgKtcgacaagWtacttaagtcgKtgatccttNc +ttatagMatHVggtagcgHctatagccctYttggtaattKNaacgaaYatatVctaataM +aaaYtgVtcKaYtaataacagaatHcacVagatYWHttagaaSMaatWtYtgtaaagNaa +acaVgaWtcacNWgataNttcaSagctMDaRttgNactaccgataMaaatgtttattDtc +aagacgctDHYYatggttcaagccNctccttcMctttagacBtaaWtaWVHggaaaaNat +ttaDtDtgctaaHHtMtatNtMtagtcatttgcaaaRatacagRHtatDNtgtDgaatVg +tVNtcaaatYBMaaaagcaKgtgatgatMgWWMaHttttMgMagatDtataaattaacca +actMtacataaattgRataatacgBtKtaataattRgtatDagDtcRDacctatRcagag +cSHatNtcaScNtttggacNtaaggaccgtgKNttgttNcttgaaRgYgRtNtcagttBc +ttttcHtKtgcttYaaNgYagtaaatgaatggWaMattBHtatctatSgtcYtgcHtaat +tHgaaMtHcagaaSatggtatgccaHBtYtcNattWtgtNgctttaggtttgtWatNtgH +tgcDttactttttttgcNtactKtWRaVcttcatagtgSNKaNccgaataaBttataata +YtSagctttaaatSttggctaaKSaatRccgWHgagDttaaatcatgagMtcgagtVtaD +ggaBtatttgDacataaacgtagYRagBWtgDStKDgatgaagttcattatttaKWcata +aatWRgatataRgttRacaaNKttNtKagaaYaStaactScattattaacgatttaaatg +DtaattagatHgaYataaactatggggatVHtgccgtNgatNYcaStRtagaccacWcaM +tatRagHgVactYtWHtcttcatgatWgagaKggagtatgaWtDtVtNaNtcgYYgtaaa +ctttaDtBactagtaDctatagtaatatttatatataacgHaaaRagKattSagttYtSt +>THREE Homo sapiens frequency +agagagacgatgaaaattaatcgtcaatacgctggcgaacactgagggggacccaatgct +cttctcggtctaaaaaggaatgtgtcagaaattggtcagttcaaaagtagaccggatctt +tgcggagaacaattcacggaacgtagcgttgggaaatatcctttctaccacacatcggat +tttcgccctctcccattatttattgtgttctcacatagaattattgtttagacatccctc +gttgtatggagagttgcccgagcgtaaaggcataatccatataccgccgggtgagtgacc +tgaaattgtttttagttgggatttcgctatggattagcttacacgaagagattctaatgg +tactataggataattataatgctgcgtggcgcagtacaccgttacaaacgtcgttcgcat +atgtggctaacacggtgaaaatacctacatcgtatttgcaatttcggtcgtttcatagag +cgcattgaattactcaaaaattatatatgttgattatttgattagactgcgtggaaagaa +ggggtactcaagccatttgtaaaagctgcatctcgcttaagtttgagagcttacattagt +ctatttcagtcttctaggaaatgtctgtgtgagtggttgtcgtccataggtcactggcat +atgcgattcatgacatgctaaactaagaaagtagattactattaccggcatgcctaatgc +gattgcactgctatgaaggtgcggacgtcgcgcccatgtagccctgataataccaatact +tacatttggtcagcaattctgacattatacctagcacccataaatttactcagacttgag +gacaggctcttggagtcgatcttctgtttgtatgcatgtgatcatatagatgaataagcg +atgcgactagttagggcatagtatagatctgtgtatacagttcagctgaacgtccgcgag +tggaagtacagctgagatctatcctaaaatgcaaccatatcgttcacacatgatatgaac +ccagggggaaacattgagttcagttaaattggcagcgaatcccccaagaagaaggcggag +tgacgttgaacgggcttatggtttttcagtacttcctccgtataagttgagcgaaatgta +aacagaataatcgttgtgttaacaacattaaaatcgcggaatatgatgagaatacacagt +gtgagcatttcacttgtaaaatatctttggtagaacttactttgctttaaatatgttaaa +ccgatctaataatctacaaaacggtagattttgcctagcacattgcgtccttctctattc +agatagaggcaatactcagaaggttttatccaaagcactgtgttgactaacctaagtttt +agtctaataatcatgattgattataggtgccgtggactacatgactcgtccacaaataat +acttagcagatcagcaattggccaagcacccgacttttatttaatggttgtgcaatagtc +cagattcgtattcgggactctttcaaataatagtttcctggcatctaagtaagaaaagct +cataaggaagcgatattatgacacgctcttccgccgctgttttgaaacttgagtattgct +cgtccgaaattgagggtcacttcaaaatttactgagaagacgaagatcgactaaagttaa +aatgctagtccacagttggtcaagttgaattcatccacgagttatatagctattttaatt +tatagtcgagtgtacaaaaaacatccacaataagatttatcttagaataacaacccccgt +atcatcgaaatcctccgttatggcctgactcctcgagcttatagcatttgtgctggcgct +cttgccaggaacttgctcgcgaggtggtgacgagtgagatgatcagtttcattatgatga +tacgattttatcgcgactagttaatcatcatagcaagtaaaatttgaattatgtcattat +catgctccattaacaggttatttaattgatactgacgaaattttttcacaatgggttttc +tagaatttaatatcagtaattgaagccttcataggggtcctactagtatcctacacgacg +caggtccgcagtatcctggagggacgtgttactgattaaaagggtcaaaggaatgaaggc +tcacaatgttacctgcttcaccatagtgagccgatgagttttacattagtactaaatccc +aaatcatactttacgatgaggcttgctagcgctaaagagaatacatacaccaccacatag +aattgttagcgatgatatcaaatagactcctggaagtgtcagggggaaactgttcaatat +ttcgtccacaggactgaccaggcatggaaaagactgacgttggaaactataccatctcac +gcccgacgcttcactaattgatgatccaaaaaatatagcccggattcctgattagcaaag +ggttcacagagaaagatattatcgacgtatatcccaaaaaacagacgtaatgtgcatctt +cgaatcgggatgaatacttgtatcataaaaatgtgacctctagtatacaggttaatgtta +gtgatacacaatactcgtgggccatgggttctcaaataaaatgtaatattgcgtcgatca +ctcacccacgtatttggtctaattatgttttatttagtgacaatccaatagataaccggt +cctattaagggctatatttttagcgaccacgcgtttaaacaaaggattgtatgtagatgg +taccagtttaattgccagtgggcaatcctaagcaaaatgagattctatcctaaagtttgg +gcttgatataagatttcggatgtatgggttttataatcgttggagagctcaatcatgagc +taatacatggatttcgctacctcaccgagagaccttgcatgaagaattctaaccaaaagt +ttaataggccggattggattgagttaattaagaccttgttcagtcatagtaaaaaccctt +aaattttaccgattgacaaagtgagcagtcgcaataccctatgcgaaacgcctcgatagt +gactaggtatacaaggtttttgagttcctttgaaatagttaactaatttaaaattaatta +acgacatggaaatcacagaacctaatgctttgtaggagttatttatgctgtttactgcct +ctacaaccctaataaagcagtcctaagaatgaaacgcatcttttagttcagaaagtggta +tccagggtggtcaatttaataaattcaacatcgggtctcaggatattcggtcatataatt +tattaagggctcttcgagtcttactctgagtgaaattggaaacagtcatccttttcgttg +tgaggcatcttacaccgctatcgatatacaatgcattccaccgcggtgtcccgtacacaa +ggaaacttgttaccttggggatataagaaaactcacacgtctcattattaaactgagtac +aatttttgcacgagaaagtaatgcaatacaatatgatgaaagccagctaatgaaaaggga +tggaacgcacctcggatctgttgcactggattaaaatccgattatttttaaaaatattca +gtgctagagcatatcaggtctacttttttatctggtatgtaaagcccacggagcgatagt +gagatccttacgactcaacgaaaagttataacataactcccgttagccaaagcccaatcc +cgattactgccctaccctaacgtctgccatctaaatatcgaacttgttatgatcaatgtg +actacctcccaccctttccccttcatttgttccactggggataagctagcgttttcagaa +tcaatgcaataagaatagccaattgtctcacttcatcagagctcttggcaattccaggcg +ctacgtggttctggaatatattcatttttcaaatagtaatacgtttagtgttgctattgt +ctacacgtttggatattacgttatgtgagcggacatcaatagttgtctaactctttagta +agccagagatagcactcttagcgaatggataccatcttccataagtttagttaatagtcc +gaaacaactgcttcgagcatatttgaacctccttgtaggcaaatagcctcttcaaagcaa +tcttactaatagatagagtttgttttaagggactactagaaatgggacaatcttaatagt +atgacctaaactgacatttaaagatatatccaggtggcaagcataaagatcattgcgcca +cctccaccgtgggattacttatcagtcgatatcctatatgctaagtttgcgacggcagaa +tacaaactaagctgagttgatgctaaccttacctatgataccccattggaccggttaaca +gccctacttattccaaataaaagaacttttatgctgtagaagctattatagtgatgcctg +gtaacttcagtatattaaaatgacacacatacgccatatagagctcctggaactttgaat +aatgagcgaacttcgaagttgaagagcaagaaaccatatgtcacggttgcctaaagcccg +gtaaccagacatgtgctatcattgatcattatcgaggttttcataaccttgacccattat +cggctgtgcgcggacaagtacttaaatcactagtttcttcacctgcttatcggtaagaaa +taaggttggcaaagaatcgcataagacggacgtagagccgcagcgttgtgcgagtccagg +tgcatgcgcagcaataggattttaaattttgttccatttttaatttagccgtaaggatgt +ccgtaaatgattgaaaattggattcaatctttgggcctatgctactggaacctgatcgac +aaaatttcaaacatacgttaactccgaaagaccgtatttttgcggctagaatagtcagtc +gcttggagccatataccttaccacttaaacgacgtgctcctgtagttgaaatataaacag +aacacaaagactaccgatcatatcaactgaagatctttgtaactttgaggcgaagcaccc +tcttcgagacaactaagagtaaagtaccgggcgccgcaaggagtcgattgggaccctaaa +tcttgacgaattgctaagaggctcagagctaccactgtaatttctctagagcccataata +aatgaacgatacatccgtaggtagcacctaagggattataatggaagccaaatgcagtta +ataatattatatactggcgtacacgattcgacggatctctcacatagtgattcacgaccc +ccccctttgattgacacagcgtcagcattttgcaagaacgatcttctgcatagggtgcgc +caccgtaaggatgacgtcgaagctacaactgggtataatttaccatgcttccctgatgct +gagtgcaatacactaagaatgagtttttaccccatatcaccagtatttgttctgttattg +cgaagaaatggctatgctgagttggcgactaaagtcacccatcctttttattaggtaacc +ccctcccttaaactaactgatttgctggagctgccctgcatacatatactttatcattta +tggacgtccgtgacgcttattatccaccatagtcgatatgctacacggattcattaatgg +atcgtaggagtttaagttatatttactaagatcggtctcggctactatcccgccttaccc +ggcgctatttacggccatttttaatatattgacggtaattattcctatggtttcgaccgc +acgtccttggacaagaaagaatggcaaaaaaaatgtaaaagaaaaaaaatattgagtccc +taccatcatataaaaaatatgtgatgagtaacttgacgaaatgttagtggttattaaaga +ctatctattacaccttttgttttctgtcgtagtatattaaagtctagaagccttacagga +aaatcagggttatacagccgatactccgcagcatgaatcatcgaggaggtgtcctaccat +cgcgccttgtaatcttgtctgtgtatactgtatttagaccttttatacaaagtaaatatc +tcggctttatgtgattgggaggggcctactcaaacatgatgacttgacctaataatcact +gtgcgggcgtcttatgactagctattccttgaaatccaccaccaaatggttaatatgtaa +aaactttgacgatgaaacaaggtgaatgtgtagttactttgtgtaattagctgcgtcgag +cattgcttgtaaaaccgtcaatcgcacacgttacttccataaaatttctacgaatacacc +cttcttaaaaaaaacgtaggaattcacgagtttaacaaacgataactgtataaagtggaa +gtccgaagaaagcagatgcccgaactactcgaagatgtttcgttttcttaaccatagggg +cttcttaatggcccactacgcacattttgttcaagcccgagagggacatccccattacgg +gagtattactaaaactgttccgtaatacgttcagcaagggatgaaaaaggccactgctca +agttattgacgtgggagtattacatcggaagcctgaatcccacactatgatggtctgtac +aggcctagggactgcgtctagacggtattaccggcttctaatcatacgatcgtgagtctt +aacgggaagtaaggctcacacctaccccaaaccatttatctatgtaagtataaaattgtg +cgtaagtgttcaaagtggacaataaagacgtggcaaaaacccccgcacataagccgcttt +agatttcacaaataccaatgcggttaaaaacatccttgagtcgtacatacaccatactcg +cgttaaacggatataacagaagataataaatccggatgtggagtcggtgtaactatagaa +agccaagtgaaataatgcttaccagtcatttagctatacggctttcatttcatgtcaaga +gggtggagtttgacctgtacagttgatatatcaccgatacttagaactcacctaaagcta +aaattgctcgcagcgtgtaatccgcatattacaaacaatagatgggattcattatacata +agacacgatgatctgctttttcaggttgcgagatgttgcctatcgtcaatcgagtcctgc +cttacaccacttaaacaaaagtattgacagggaacctattttcgaggtattatatagtcc +agcttgaatatcaatttgacagttaacctagtgaaaatcagtaagaggaaatacgccaca +ttctccagtgaaattctacgggttatcgtctagtccaactatcaattataactcacgaga +tataagtaaattctcgtacttggcctgatttttattatactttggatccttagtaaacag +gaagggagaaaccttcaacgaaaaacactggattttgttttactctcaaagctcttatat +gacggaaataccctgtcaagtcttaactttattactagactaatgaaatgggcttggggt +ggccagaatcatagtacaatttagcggatacactattcggactttcctatcggctgtctg +gttggataagtatggggactaataggctagacatacctatacttaaactatacaggcgtc +atctatctctgcaactttggagttccctgatgttctcccgccctttgggttcacatcttc +tataccgacacccctaataacgattagtttgtgggttagagtaaattaatacggttaata +ttaatgtatcgttgaaaagctggtgtcgccaataaggtaaccggctaggcagagtatatg +tcacgaagtataactaccctaatgataagctgtaggaataaaattaatgctgtctctaag +cgaagagatatttccgactctgttttaatgacgaatctcattacttctgacttgcaaatg +ttcaatatggcacggtttcacggcacctttgtgacgcatataatgaacttagaagattat +aacgacggaactttatatgataatccgttacgattaaagaatctgttaaatatcataatg +gcattcagttctagaccgtgcatcatggtaaacttactttctctgcatggcgacatacat +ttcgctattcaaattcgcgtgtggttacacccactcgcacctttggaatattaagagaag +atgatcagaaaatccattcgctcaatttttctgacgtacgtctaatttatcctaggagac +aaatcgttttatgtctctcacatttttgaagaaaggttcgagagacaatactcaggtcct +gaactgctagaagatactcggtggagcgtggcaacaatgaaaaactcgtgacataaatga +atgatacttttccaagttcagttaagtgaatatgtttaacatacccggcttttcgatctt +aagctgacgctggacgtgcgagtaatgtcagtctcttacatacactagtgactccaagtt +tcgtcaaaaacgccccctcccttctcgagcccactcacgctatgtattgacgcgaacttg +ttcgggatcagacttttcaggagttcggtcgcgtgtccctatgtgctaatatataagtta +gatcgcattagatgctaatctgaatacttatagacgaccttcaacgagaacgggtaccac +cttgaggctagagttaggtgtgaaacgacaggtagggacatataaaatttgagtgcggct +ttagttaagggtttaattacctactcaaacatcacgctcgcgcccttcgtacgtaatcga +ccatctagaggctaaggggactgtactaggtagtgattaatgatatcctagacgcacgtg +ccttagatcttcagactctgatggtccgcgatcaccgtaattgtagtcctccaactcgat +cactttgttggcgtcaaagaaattacgatatctaaatacttataatacaataaccaagga +tgagaatgactcatcgcgttggagttatattgcttgaagttctatggaatgaaagcacgt +tatctgccgtcccaatatctccagtgagctaattcattggacggtccactttgatcaatc +cccgaggagatgttcggacactttagtctgtaacacttagcgttgagaccacgaacaatt +gattactcagtcttgaaggtgttttccaaagttcattttaaataagactacgataggcct +ttcctattgatataaactacccggctctgttgttcgtgtgagtcgtacttctctgtgttt +ttctgattatagcaagattcgattcttagtgtaaacagcgatttttatttgacccgtcaa +tgagaagcgcataggatctaagcaaaattatcaagttgtgccacaaggtaagatctttcc +agttattgcaggtaggatgtatcccacgttgatagtatgaggtctgacgtcaactgtcta +ggagagttgaccgcgtgcgggtacaccggatttgcatcgatgttgagaacgcagaactcc +cactgtcgtggcggcgttcctgatatttagcaagaggcgttgataaagccctcatcatct +agatctcgacctcatctgccctcttgctccatcattttctacacagactactttcctatc +tacgttagtataattgctttctatcttagtatcatttagagcttctccgtcaacaggttc +gtgctattaaagttagtacgaaagggacaacttgtagcaacgcatttaatcggttttcga +ctacttcgcacaaaatcagataaagaagtttgtcattctattagacattgaattgcgcaa +ttgacttgtaccacttatgatcgaacactgaatcaagactgtgattaactaaaatagaca +agccactatatcaactaataaaaacgcccctggtggtcgaacatagttgactacaggata +attaattggactggagccattacattctctacaatcgtatcacttcccaagtagacaact +ttgaccttgtagtttcatgtacaaaaaaatgctttcgcaggagcacattggtagttcaat +agtttcatgggaacctcttgagccgtcttctgtgggtgtgttcggatagtaggtactgat +aaagtcgtgtcgctttcgatgagagggaattcaccggaaaacaccttggttaacaggata +gtctatgtaaacttcgagacatgtttaagagttaccagcttaatccacggtgctctacta +gtatcatcagctgtcttgcctcgcctagaaatatgcattctatcgttatcctatcaacgg +ttgccgtactgagcagccttattgtggaagagtaatatataaatgtagtcttgtctttac +gaagcagacgtaagtaataatgacttggaataccaaaactaaacatagtggattatcata +ctcaagaactctccagataaataacagtttttacgatacgtcaccaatgagcttaaagat +taggatcctcaaaactgatacaaacgctaattcatttgttattggatccagtatcagtta +aactgaatggagtgaagattgtagaatgttgttctggcctcgcatggggtctaggtgata +tacaatttctcatacttacacggtagtggaaatctgattctagcttcgtagctgactata +ctcaaggaaccactgctcaaggtaggagactagttccgaccctacagtcaaagtggccga +agcttaaactatagactagttgttaaatgctgatttcaagatatcatctatatacagttt +ggacaattatgtgtgcgaaactaaaattcatgctattcagatggatttcacttatgcctt +agaaacagatattgcccgagctcaatcaacagttttagccggaaacaatcgaagcatagg +gacaatgtatcttttcctaaattgccatgtgcagatttctgagtgtcacgaagcgcataa +tagaatcttgtgttgcctcaactcgttgaaaagtttaaaacaatcgcagcagtctttttg +gggtctactgtgtgtttgcaaaataactgaaagaaacgcttgaacaactctgaagtagct +cgagtactcattaaagtgtaacacattagtgaatatcggccaatgaaccaaacgcttccc +ggtacgctatctctctcatcgggaggcgatgtgcaggttatctacgaaagcatcccttta +cgttgagagtgtcgatgcatgaacctcattgtaacaatagcccagcaaattctcatacgt +gcctcagggtccgggcgtactcctccatggaagggcgcgcatctagtgttataccaactc +gctttttaactactatgctgtagttctacaggcatagtggccagtattttctaacttctc +tggatagatgctctcactcctcatccatcacggcttcagtttacgtcttacttgcttgtt +cagcaacggatggaggcattaagtatcttcactgttccctaaaattgctgttcaatatca +aagtaaggacgatacagggaaagctcaagcacactcattgaatactgccccagttgcaac +ctcacttaatctgacaaaaataatgactactctaagtgttgcggaagcagtctcttccac +gagcttgtctgtatcacttcgtataggcatgtaactcgatagacacgaacaccgagtgag +aaactatattcttgcttccgtgtgtgtgacaccaggtaattgatgcggatataagctgga +gatcactcacgcccacacaaggcgctgctacctctttattccaatgtgtaagaatttgct +aacttcatttctagaccgcagctttgcggtcataatttcacggtacggacccttgggtta +gagacttgataacacacttcgcagtttccaccgcgcacatgttttagtggcttctaacat +agaatttttgttgtgacataaagagtgcgtgggagacttgcccgaccgttaagccataat +caattgaaagccccgtgagtcacatctaattggttgtactgcgcatttagctatccttta +gctgactcgaagagattcgattcctaatataggttaattagatggctgccgcgcgaagta +aaacgtgaaaaacgtagtgcgcagatctgcataactcgcgcttaattacttatgagtagt +tccaagttcgctacgttatgagagagattggaattaagcaaatatgttttatggtgattt +tgggatgagaaggactgctaagtacggctactaaacaaatttctaaaaccgccatctacc +ttatcttggagacatttaagttgtatatgtcactagtctagcttttgtctgtgggacgcg +ttctcggaatgagggaaatgcaagagccgattcatcaaatgcttatctaagaaagtagtg +gactattacaccaagcacgaatgccagggaactgctttcttgctcaggacctcgcgacaa +ggtaccccgcataagtcctagaattacatttggtcagcaatgctgacatttgaccgtgaa +aacataattttaatcagaaggcagctcacccgcttgctctagatcttatctttgtatgaa +tgtcagaatttactgcaatatccgttccgaatagtgagggcttagtatagttctctgtat +acaggtcacatcaaactccccctgtcctagtacagctctgagctttaattaattgcatac +atttccttcaatcatcagatgaaaacaccgcgaatcatgctcttctcgtatagggcaaga +gaagcaacaaacaactagcccgactcacgttcatccgccgtatccttgttcagttcttac +tccgtattaggtcagcgaaatctaatcagaataatcggtcgcgtatcaaaattaaaatcc +cgcttgaggttgacaattaaaacgctgagcagttatcggctattagatagtggggtgaaa +gtaattggctggaattatgttaaaacgtgatattaagctaaaatacgctacttgttgccg +acctaattcagtcattcgatattcagttagagccaagaataacaagcttgtataaattga +acggggtgcactaaacgatgtgttactctaatattcagcttggagtatacctgaaggcga +attcatgtatcggccaataataagacgttgaagatcacaatttggactagcaaaagaagg +tgatttatgcgtggggattgagtccactgtacgagtacggtctctggaaaattataggtt +cagggaatataaggaagtaaagataattaccaagagatttttggtatcgctatgacccag +aggtgttctaacgtctgttttgatccgcagaatttctgcctcaatgcatatttgacggac +ttgaactagagcctctaaagttaaatggcgacgcaactgttcctaaacttcaattattac +tactctttttttcctagggtattgtagaggccagtggacaaaataaatcaaatttaagat +gtttcggacattaacatcccccgtagcatagaaatcatcagttatccaatctctcatcga +gcttttacaatttctgctggcgctatggacagcatatgccgcgagacctccgcaagactc +acttgatcactgtaagtatcttcattagaggttagagcctatagttaagctgctgaccta +gtaaaattggtattttctaattttattgctcaagttaaaggttagtgaagggataatgac +gttatttttgaacaatgggttgtattcaattttatatcacgaatggaacccttcattccc +ggcataatactagacgacacgaacaagctccgatctatcagccaggcacgtgttaaggtt +taattccggcaaaccaatgaagcatcaaaaggtgacctgatgcaacttagggtcacgatg +agtttttcaggactacttattacctattaataagttaacatgagccttcataccccgtaa +gacaatacatactccaccaattagaattctgagccatcttatctttttgtatcatcgaag +ggtatggccgaataggttaattagttactcctaacgtctctacaggcatgcatttgacgc +accttcgaaaatagtcaatctctcgccacacgcgtctagtatgcagcatcaaaaatatag +tccacggtttccggattaccaaacgcggcaaagagaaacattgtatcgacggagataact +taatacagaaggaaggggcatcttcgaatacggatgaataattctatctgtttattctga +catcttgttttcaggttaatcttacgcattcaaatgacgcctgccccatgcgtgcgcaat +tattttctaatattgacgagagcaatctcactccttttgggtctatttatgttttattga +ggcacaagcctatacagaacaggtactattaaggccgtgagtgtgagactcaaaccgtgg +aaacaaaggatgggttgttcttggtacaagttttagtgcatgtgggcaatccttaccaaa +atcagatgctatccttaactttgggctgcatttaagatggcggttggaggcctgtgagaa +tcctgcgtgtcatctttaatgaccgaattcatccatgtagattcagatcacacactcatt +ccttgatgttgtctaaacaaaagttgttgtggacgcattggagggagttaagtaacaact +tgggatcgcatacttataaaaattatatgttaaactttcacaaacgctgaagtccaaagt +aactagcccaaacgcctcgagagtcactaggtattaatggtgtttgagttcctgtgaaat +agtgttcgaaggtaaaatttatgtaccaaatcgaaagaacacttaataaggcttgcttgc +acggaggtatgatgtttactgactctacaaccctaattttccagtacgtacattcattcc +aataggttagttctcaaagtgctatacaggctcctcaattgatgatatgcttcagccgct +ctatggatattagctcattttatttaggaagcccgcttagaggcttactatgagggaaat +gccaaaatgtcatacttttcggtgtgtcccatatgacaccgctttacatagaatttgaat +taaaacgcgctctcccgttcactaccatacttggtaccgtgcgcatattacatatagata +taggatcattttttaaagctgtactaggtttgatcgacaatcttatgctatactatatga +tgtaaccctcataatcaataccgatcgtacgatcctagcataggtggcaagcgattttat +gccgattattgtgttaaatagtctgtgagtgtgattatcagggctacgttggtagagggg +ttgtatagacctcgcacacattgtgacatacttaacaatatacgaaaactgatataataa +atccccttacccaaacaccaatcccgttgaatcaactaccataacgtctcccatataaat +tgcctacttgtttgcataaatctgaatacataacaccattgcaccttcttgtgttccaat +cccgttaagattgccttgtcagatgatatgcaagaacaatagcatttgctagcaattatt +aacagctcttcgaattgcctccacataacgcgggagggtatattttaatttggcaaatac +taagtactgttggcgtcatatgctattaacggttggatattaagttatgtcagccgtaag +caagagtgggcgaaatattttgttacccagtgagagcactcttagagtttggatacaata +ggccatatgttgacttaagaggacgtaactacgccgtacaccattgttcaaccgacttct +tggcaaatagaatcgtattagcaatcttaagaatagagacacgttcgtgttagggtatac +tacaaatccgaaaatcttaagaggatcacctaaactgaaatttatacatatttcaacgtg +gatagatttaacataattcagccacctccaacctgggagtaattttcagtagatttacta +gatgattagtggcccaacgcacttgactatataagatctggggatcctaacctgacctat +gagacaaaattggaaacgttaacagcccttatgtgtacaaagaaaagtaagttgttgctg +ttcaacagatgatagtcatgacgcgtaacttcactatagtaaattgaaacaaatacgcaa +tttagacagaatggtacggtcatgaatgacagtaattcgaagtgctagaccaacttaaaa +taggtaaacgtgcccgaaaccccccttaacagaaagctgctatcatggtgcagtatcgac +gtgttcagaaacttgtaacttttgagcaggtccgagcacatggaagtatatcacgtgttt +ctgaaccggcttatccctaagatatatccgtcgcaaactttcgatttagtcccacgtaga +gcccaagcgttgtgcgactccacgtgcatgcccagaaatacgagtttaaatttggttaca +tggttaattttgaccgaagcatcgcactttatgattgataattggattcaatatgtcgcc +ctatgcgaatgcaacatgatccacaatttggctataagacgtttaatccgtatcacactt +tgtttgcggctagtatagtaacgcccgtgcaccaagagtcagtaacaattataagtactc +cgcaggtacttcaaatataaaaactaatcaaacacgacccatatgatcatctgaagatat +ttggaactttctcgacaaccaccctcgtactcaatacttacactaatcgacaggcacacg +caacgtgtacagtcgcaccatattgagtcaagatttgcttagtggcgatgagcgtacacg +cttatttctctagtcacaattagttatctacgagacatcacgagggagcaaataagcgat +gttatggctacacataggcacgtatgaatatgatataagccagttaaacagtcgaaccat +cgagcaaattctcatgcaccaacccacacgttgaggcacaaagagtaagctgtttgaatg +taacttcttctgctgagcgggccccaacgtaaggatcaactagaagagaaaactcggtat +tagtttaaatgcgtcacggagcatgagtgcatttcactaagaatgtctgtgtaaccaata +taacatctatttgttatctgattgcctacttatggctttgcggtcgtggcgactaatgtc +tccaatccttttgaggtcggtaccaactccctttaaattacgctgtgcaggctcatgcac +tgcatacatatacggtagcaggtagggacctcacgcacccttattataatcaatagtagt +tatcagtcaacgaggcaggaatgctgaggtcgaggtgttggtatattttctatgtgccgt +ctaggcgactatcacgcattaccaggcgagatttaagccaattttgaatatagtcaacgt +aatttttactatgggttccaccgaaacgccttgcacaactaagaatcccataaaatatcg +atatcaaataaaagattgtgtcaataccttcatatatattttttcggttgactaacgtga +actaaggttaggggttttgtatgtctatataggaaacagtttcttttctgtcctacttta +gtaaagtcttcaagccttactccaaaatcacggtgattaagccgttactcagcagcatga +ttctgcctgctcgggtcctaaaatccagccttgtaagagtcgctgtgtattagctaggga +gacctttgttaaaaaggatatatcgcggcgggatgtgagtgcgtggcgcatactcaatct +tcagctcgtgtcattataatatctctcccccacgcttttcactagatatgccgtgtaagc +aaacaccttatgcttaatttcgaaaatattggtacttgaaaaaagctgtaggggtactta +atgtctggtaggagatcaggagagaattgagtgtaaaaccgtaaagccctcacctgactt +catgtaaatggcttagaagactccatgatttaataaatactacgaaggaaagactggatc +taaagataactctagtaaggccaactcccttcaatgctgttgccagttataatccaagag +ctgtccttttctgaaccatagcggcttctgaagcgaactagaagcaaagttggttctagc +cagacagccacataccctgtacgggtgtattactaaaactggtccggtattagttcacca +agggaggaattaggcaaaggatctaggtatgcaagtcggagtattacatccctaccctga +atccatcaataggttcctctgtactggccttcgcaatgagtattcaaggttgtacagccg +tataataataagatagtgactatgaacgggaagtaacccgctcaccttccccaaaacatt +gttatatctaagtattaaagtctgccgtagtgttaatactcgaaaataaacaactggcaa +attacaccgcacttaagccgcttttgatttatatttttccaatgcgcttttaaaaataat +tcagtcctacatactaattaagacccttaaacggagatatcacaagttaagttttaacca +tctcgactaggtggaactatagatacccaactcaatttatcattacctgtaatgttccta +gaaggattgcatttcatgtcaagacggtggagtttcacagcgaaacttcagtgtgaacag +attctgagaaatcacctaaacctattagtcagagcacccggttagaaccagttgtcaaaa +aatagagcggttgcatgagacagaagtaacgatgagatccgttgtaacgttgagacatct +ggcctatcgtcaatacagtcctcccttaaaaatatttttaaatactaggcaaacccaaca +taggttagtcctatgtgatacgccacatggtatatcattttgtaacgttacctagggata +atcaggaagtggaattacgcaaaagtagacagtgaaatgcttagggttatagtctagtcc +aaagataaaggataaagcacgtcagagaactatattagccgaatgggaatcattgttagg +agactgtggatcatgtctaaaaagcaacgcagaaacagtcatcgaaaaaatctcgttttt +gtttgaatctaaaagagctttgatgaccgatagtacctgtatactagttactgtattacg +tgtctaatgatttcggattggggtccccagaatcagacgtcattgtagacgattcaagtt +taccaatttaatttcccagctctccttggagaactatcgccaataattgcagtcactttc +cttttctgaaacgataaagccgtcagagttctctgcaacgttggacttacctgaggttct +aacccactttcggttctaatagtagttaacgacacaacgaataacctttactgtggggct +ttcacgatattttttcgcttattattaatggttacgtcataagctggtgtccaaattaag +gttaccggcttcgcagagtagttgtatccaagtataacttccctaatcataagatcgagg +tagaaaattaatgctgtctctaaccgaacagatatgtcccactatgtggtatggacgttg +ctaattacttctgaagggaaattggtcattatggatacgtgtctaccatcaggtcggacg +cagatatggttctgtcttcagttgatccaccgttctttataggataataactgacgatta +aagattatggtaaatagattaagccaattctcttcttgtcagtgaagcatccttaactga +cttgctctgcagcccctcatacatttagctattcaaagtaccggctcgtttcaaactctc +ccacctttggaagaggttgtcaacttgataagtatatcatttacagcattttttcggacg +tacctctaatgtttcattgcagaaaattagttttttctatcgcacattttgcaagtaacg +ttagagacacaattatctgcgaatgaactgctagatctgacgaccgggagcctcgcaaat +atcaaaaaagactgacatatatcaaggagtcgttgacaagtgctggtaagtcaattggtt +tatctgtcccggcgtttcgatcttaagctgaccatgcacggcagagtaatgtcactctcg +ttcttacaagtctgtctccaagggtcggcaaaaaagacccctccattctcgagcccactc +acgatatgtagggacgacaacttgtgcggcttatgaattgtctggactgcgggcgagggt +ccatatctccgaagttagaagggacatacctttagatgataagatcaattcttattgacg +aaattcatccacaacggggaacaacttcaccctagacttacgtctgaaaagacacctagc +gtcttataaaaggtcagtgccccgtttcgtaaggctggaattacctacgcaaacttaaac +ctcgcgcccttccttacgtatcgacaagatagaggctatcgcgaatgtactacggaggca +tgaatcatatactagaaccaagtgcctgtgatattaacaagatgatccgacgcgagcacc +gtaattctaggcataaaactccagcaatttgggggccgaaaacaaatgacgttagctaat +taattatatgacatgatcaaaggaggtcaatcacgcatcgagttcgacgtatattcattg +aacttcgtgcgtttgaaagaaacttttatgaaggcaaaattgatcctgtctcctatttca +tgcgtacctcctagttgataattccccgagcagtggttaggacacttttgtcggtatcaa +gttccggtctcaaaacgtaaaattctgtaatctgtatggatggtctgtgaattagttaat +ttttatgaagtcgtcgagacgcagttcctattgatttattctaaacggagatgtgcttcg +tgggactcggaagtagatctgtgtttatgattattgctactttagatgctgactgttaac +tccgtgttgtttttcaaccgtatatcacaaccgaattggatagaacctatagtttcaagt +tctgccacaaggtatcatatttacagttagtgctggttgcttctttcaaacgtggtgagt +ttgtgctatcacgtcaacggtagagctcagtggaccgagtgcgcgttcaaccctgttcca +gagagggtgtgatagcacatataccacgctcgtcgaggcgttcatgatagtttgcaagag +ccggtgttaaacacatattattattgttatccaactaatcggacctatgcataaagcatt +gtctaaacagaataattgcctatatacggtagttttagtgatttatatcttagtatcagt +tagagcttcgaactcttcaggttcctcatatttaacgttcttcgaaagcgaaaacttcta +caaacgaatgtaagcggttttccaagtagtacctataaatcacagaaagatctgtctcag +tatagttgaaatggtattcagctagtgacgtgtaccaattatcatagttcactcaagcaa +gacgctcattaacgaatatagacaagacactatatcatataataaaaaagaacatggtgc +tcgaacatagttgaattcaccatattgaaggggaatgctgacatgtaattcgctactaga +cgatcaattccctacttgtcaaagttgaactggtacgttcttggaattaaatatgattgc +gctggaccaaattgcgacttcttgagtttcagggcaaacgattgagccggaggatgtccg +tctcttacctttcttgcttatgataaacgacggtccctgtacatcactgggaattctcag +caaaaataattgggtaaatcgagactcgatgtattcggccacaaaggtgttagacgttaa +agattattcaacggggcgataataggatcataaccggtatgcaagcgcattgaaagagcc +atgagatccttatccgataaacgctgcacggtatgtgcagccttattgtcgatcacgaat +ttataaatgtagtctgggctgtaagttgaagacctaagttataatgaagtgcaataccaa +atcgattcatagtggattatcagactcaagatatctcctgataaattacagttgttaaga +tacggataaaatgagatttaagattagcagcctctaatctgtttcaatcccgttggaatg +tggtatgcgatcaaggttaagttaaaatcaagcctgtcttcagtcttgattcttgttctg +ccatcgcatgcggtctacgtgagttaatatgtagcttacgttctagcttgtgctaatctg +agtatagattcgtagaggaatattatcaagcttccacgcctcaacgtacgtgtattggtc +acacaagacactaaaagtggaagtagcgtaaactatagtctagttgttaaatgctcagtt +cttgttatattcgatatactcttggctaatttatgtctgagtatataaaattaatgatat +taacttgcatttcacggatcccttagaaaaagattttgaccgagcgcattataaacggtt +acaccgaatcaatagaagcatacccaatagctttctttgaatttattgcctgcgcaactt +ggctgactctctagatccgaataattctatatggtcgtgacgaaactagttcattactgt +ttaaaatgccaacatgtcttttgggccgataatggctctttgcaaaattactcaatgata +cgattgatcaaagcggtagttgctagtggtagcatgtaagtctatcaaatgtctgattat +ccgaaaatcttccaaaagagtccacgtaccatatctatctcatagcgacgcgaggggaac +cttatctaactatcattccatttaccgggtgactctcgatgcaggatccgattgggataa +attgcccagaaatggctcattcctgactaagggtaaggccgttctcagcaagggaacccc +gcgaatctaggcttataccatctagattgttaactacttgcctgtagttctacagccata +ctggacagttgtttctaaatgatcgggattcatgctagcactcctctgaatgcaccgcgt +aagtttaactattacgtccgtgggcagataaggatggaggctgtatgtatcttaactgtt +acctaatatggctggtaattatcaaagtaaggaccttaatgccatagcgctagcaatcgc +tttgtatactgaccatgtgccaacctctcttaatctgtaaaatataatgtcttagctaac +tgtggacgatcatgtctctgcctagagcttcgctgtatcaattcctatagccagcgtact +agtgacacaacaacaccgtgtgagaaaagatattagtccttacgtctgtctctctacagc +ttattgatgaggattgaacatggacatatagctccccctcaaaagcagatgctacctctt +tattccattctcgaacatttgccgaacttaatttcgacaaacctgaggtcacgtcttaat +ttatcggtaacgtcacgtccctttgagactggataaatatattaccaggggccaacgagc +aattgttggaggcgcttctataatacaaggtgtcttgtcaaagaaagacggcgtgcgtct +cgtgcaactcacttaaccaatattaatgtgaaacccccctctctcacatcttatgcggtg +tactgccctggtacatttcctgtacaggactccaacagtgtagattcctaagatagctgt +tggagttgcctcacgccagatcgaaaaactgaataaactagtgagctgagctgcagaaat +accgcttaattacttatgactagttcaaagggacctacgtgatgtcagacattgcaagga +agaaattaggtttgtgcgtcattttggctggactagcactccttacttcccctactattc +aaatgtcgtaaacagcatgagacaggatcgtgctgacatttaaggtctattgggaacgag +gctacctttggtcgcgcgctcgcgttctccgaatgaccgaaatgcatgagcacagtatgc +aattgcttatagatctaaggtctggtcgttgaaaccaagcacgtaggcctgggaaatcag +ttcttcctcagcaactacacaaaagcgtccaagcattagtacttgtagtaaatgtccgaa +cctatgcgctcatttgaaagtcaaaaaatatttttaagcagtaggcacctaacccgattc +ctctacttagtagctttctttgattctcagaattgactgcaatatcactgcacaattctg +tgccattactagacttctctgtattaacgtctcatcttactaacactcgcctaggacaca +tctgagagtgaagtatttcaatacatttactgaaatcttcagttctaaaatccccgaata +aggctcttatcggtttggccaacacaagaaaaaaacttcttgcaccactcaccttcatac +gcaggagcctggggaacttagtaataactatttcggcagacaaagcttataacaagttgc +cggcgcgtataatatttaaaagaccccttgagctgctcaattaaaacgctcacctggtat +aggctattagatagtgccgtcttagtaaggggcgggaattatcggataaactgatatttt +gataaaataaccgacttgttcacgacataagtcactaaggagattttatctttctccaaa +gtatatcttccttggataatttcaaagcgctgcaatttaagttctgttactagtttatgc +tgctgggaggtgaccggaaggcgtagtaatctagaggcaaattataagaagttcatcata +tcattttcgactacaaaaacaaggtgttgtatgccggcgcattgtgtaaactggacgagt +accctagatggaaaattatacgttaagccaagatttcgatgtaatgataattacctacac +atttttgctatccataggaacaagagctgttctataggctcgtggcatacgaacatttgc +tgccgctatgaatattggaagctcttcaactacagactctattcttaattgccgtcgaaa +atgggccgaatcggctattattaatactcggtttttccgaggggattgttgtcgacagtc +gtaattattattaatattgatgttggtgaggtcatttaaatacaaccttgcagacaatga +ataagggatccaatctctcatactccttttacaattgctcatgcccctatgcaaacctta +tgccgccacacctccgcaactctctcttctgaactgtaagtagcttcattactggtttga +gactatactgaagctgatgacattctaaaatggctattttcgaatgtgattcataatgtt +tatcgtttgggatggcagaatcacgttatttttgatatagcccgggtattctattgtata +gaacgtatgctacaagtcattccccgaagaagactagaagtaaacaacatgcgaccatcg +ttaagccacgcaaggctgtagctttatttcccgataacctatcttccataaatagcggac +agcaggatactgacgctcaacatcagtggttatggtctaatttttaacttttaataaggt +aacttcagcaggcatacacagtaactctttaatttataatcaaattagaagtctgacact +tcttatatttttctatcatccaacgcgatcgcccattagcttattgtgttactaataacg +tatctaaaccaatccttttcaagctactgcctatattgtcaatatatacaaacaacagga +tagtaggctgcttaaaaaatattgtcaaccgtgtacgctttacaatacccggaaatcaca +aactttgtagacaacgagtgaaatttatacactacgaagggccagcgtacaagacccatg +aattaggcgatatgtttattctgacatattggtttatccttaatctgtcgctgtaaaatg +aagccgcccccatccctgcgaattttttttcgaagattcacgactgaaatataaatacgt +ttggctatatttatgttggagggaggcaatagcctttactgttaaccgaagatttagcca +gtgagtgtgacactaaaacactggaataaatgcaggcgttcttctgggtaaaaggtttag +tcaatctcgcctataagttcatatagctctggatataattatctggcccatgcatttatc +atggcgcttggtgccctgtgtgaagccggcctctcatattgaaggtccgaagtattccat +gtacattaagatcactctctcattcatgcatcttggcttaacaaatctggttgtccaagc +tttccaggcacgtatggtacaaattcggatcgaatacttataaaaatgatatgttaaact +gtctaaaacgctcatctacaaagtaaagtgcactaaccaatagagtctcaagaccgtgta +atgctggtgcactgaatgtgtaatacggttagaagggattagttatgttacaaatccatt +gaaaacttaagaagcattgcgtgctcggagggtgcatcttttatcaagagactaacatta +ttttcaacgacgtacatgctttacaatagggtacttatcaaacgccgagaaacgcgccta +tagtgatgttatgattatgacccgatatccattggaccgaattttatgtaggttcccagc +gtactcgcgtaatatctcggtattgccataatgtaatacttgtcggtctctcccagatga +aaaagcgttacagagtatttcaatgaaaaacagcgcgcaacgtcaatacctttaggggta +acggccgctgatttcatatagatatacgataagttggtatagctctactaggtggcatcc +acaatcgttgcatttactatagctggttacaatcataatctataccgttccttacatact +accatagcgggatagcgtttttttgccgttgattgggtttaagaggatgtcagtctcatt +atatccgattcggtgggagagccgttgttttcaaatcgcacactttgtgacataatgtac +aagataacaaaactgatataagatataaactgtcaatatcaccttgacacttgaatcaaa +gtaaattaactcgcaaatataatttgactaattgggtgcagatttctcaattaataaaaa +aatggcaccggatgggcttacaagccccttatcattcacttgtatcatgatttccaagaa +caatagaatttgctagcaagtatgaacagagattcgaattgcatccacagtacgccggag +cgtttattttaatgtggatatgacgatgtactgttggcggcatttgctagtaaccggtcc +ttatttacgtagcgcacacgtaagcatgtctgggagaaatatggtggtacaatctcagag +aaagattacagtttggtttaaataggacttatcgggtcggaagtggaacttaataagcag +tacacaattgggcaacagacgtcttgcctattacaataggattacaatgcgttagatttc +agacacgttcgtgtttggctattcgtcaattccctaaatagttagacgatcaactattat +caaagtgattctttgttcatcctccattcatgtaacagatggcacactacgcataacgcc +gaggaattttaacgagatttaagagagcagttcgggcacaacccacttgactttataaca +gctcggcagcataaacggtaatatgtgacaaatttccaaacgttataagaacgtatgtgt +acttagaaaactaagtggttcatgttcaacagatgtgacgcagcaagcctaacttatcta +ttggttttgctataaaagaacaaagttacacagaatcctaagggcttgtttcacacttat +gcctagtgcttcaccatcttaaaatagcgaaaccggcacgaatcaaaccttaaaacaatg +cgcagatattggtgatggtgactccgggtatgataatggtaactgttgaccagcgcccac +ctcatcgaagtatagaaagtggttaggataaggatgagaccgaacttatttccggccata +actttagattttctacctagtacacaacatcagggcggacacgaaaccgccatcacatca +tataccaggtttaatttgcttaatgggggaagtgtcaacgaaccttcgaactttagcagg +catatggccattatatatggccccagagcagaatgctacagcagacaaaatttggattta +tgtagtttaatacctatcaaacttggtgtgaccatacttgtctaacgacagtgcacaaag +tgtaagttacaattattactactcagcagcttctgcaatgataaaatcttatcatacacg +tcacatatgataatatctacttagggggaacgggctccacaacctacatagtactcaata +cttacactattcgacaggcacaccaaacctgtacagtcccaaaagattgagtcaactttg +cagtactgcagatcacagtaatagcttagttagcgagtcaaaattagttttctacgagac +tgcacgaccgtgcaaatttccgatgtgttggctacaaatagcaacgtatgaatttgtttg +aagccacgtaaactgtacaaccttagagataagtctcaggctactaaaaacacgttgtgg +cactaacaggatcatggttgattcttacttattcggctgaccggcccaataagtaacctt +caactagaacagaataatcgggagtagtttaattcagtcaaggtgcaggtctcattgtaa +ctaacaagctctgtgtaaccaagttaaaatcgttttcttagcggattccctacttatgga +tttgagctcgtccacaatattcgatacaagaagtttgtggtccgtaacaacgaaatttta +attacgctgtgcagcctcatccaaggaattaatagaaggttgatggtaggctccgaacgc +tccatgattataatcaagtggactgtgcagtaaacgaggaaggtatcctgacgtcgtggt +gttcgtttttgttatttgtgccctatacgagtagataaaccatgaacagcacagtgtgaa +cccatggttgattttaggctaccttatttttaatttccgttacacagaaacgaattccac +aactaacatgccattaatttttcgatatcttataaaagatggtcgaaattcattcattta +ttttttttcggttctcgaaagtcaactaagctgtcgcgttttgtttctctttagaggtaa +aagtggctttgatctcctacgtttggatactagtcaaccattactccatttgatccgtga +gtatcacctgtctaacatccagcattatgactcctcggcgaagaaaagacacacttctta +gagtcgatgtgtattagctagggacacagttgtttaatacgatagtgagcccagggaggg +cagtgcgtcccccagtagatttattcagctagtgtaagtataagatatctcacccacgag +gttcaagtgatatgcagtcttagaataatacttatcctgaatttcgatattatgggtact +tcaataatccgctagcgctactttatgtctcgttggacagcaggacacatggcagtctta +aacactaaagacatcacctgaatgaatgtaatgggattacaagaatcaatgaggtattat +atacgacgtaggaaactctggatatatacagtaatctagttacgccatcgcacttcattc +ctctggaaacttagaagacatcagctgtacgtggaggaaccagacccccgtatgtagcca +aatagaaccaaagttgcttatacaaacacacccaatgacaatggaccgctggagttcgta +aactcggaacgtagtactgcacaaacccagcatttagcaataggagctacgtatgcaact +cccacgtggtaataccttcaagctatcaatatataggtgcctagctaatcgcattcgcaa +gcagtattcaagcttgtaaaccagtataataattacagaggctctatgaaacccaacttt +ccagctaaaagtcccaattaaatggttatttcgtacttttaaagtcgcccgttctgttat +tacgcgaattgattctactccaaaattaaacacaaattatcaaccgtttcatttatattt +gtcaatgcagctgtttaaaataaggctctactaaattataattaagacacttattaccag +atttctctagttaagtttgaaccagctcgactaccgcgaaagatacattcccttctctat +ttttcagttcatctatgggtcagagaagcattgaatttattctattcaccctcgtcgttc +acagcgaatcgtcagtgtgatcagtgtatgagaaatatcctaaaccgtttagtcagacca +cacgcttagaacaagtggtctaaaaagactgccctggaaggagtaagaagtatacagctg +atccggtgtatccttcagtcatctgccctatactaattacacgacgcaaggaaaaatagg +tttattttctaggcaaacccttcataggtgactccgatgtgttacgaatcatgcttgaga +atgtgctatcgttaccgacggataataacgatctccaatgaaccaaatgtagaatgtcta +ttgattacccttttactattcgacttagagataggagatagaacctcagtgtactttttt +agccgaatgggaatctttgggaggtgaatggccataaggtcgtaaatccaaccctcttaa +agtcttccatattatatcgttgttcgtggaatcgataacagatttgttgacccatagtaa +atgtatactagtttatgttgtaagtgtagattgttttccgattgccgtccaaactttatg +tcgtaattgtagaccagtaaagttgaccaaggtaagtgcccagcgatcctgcgagatcga +tcgccaatttttccagtcactgtaagtgtaggtttagataaagccgtatgagttatatca +taagggcctcggaaagcagcttcgaaccaaagttcccttataatagtagtttaactataa +aagtatatactggtctgtcgccctttcacgatttgttttaccggtttatgaagcgttacg +tcattagagcggctccaatttaaggttaacggcttccatgtgtagttgtatacaaggata +acttaaagtatctgttcagcgagctagttaagttatcctcgatagaacacaactcagagg +tcccaagatcgggtttgcaacttgctaatttattctcaaggcaaattgggaattatcgat +acctgtataccataaggtcgctcgatgtgatgcttatgtcttctggtgatcctaccttag +ttagtgctgattaacggaacattaatgtttatcgttttgagatttagccaattctctgat +tctaactcaagatgccttatctgacgtgctatgcagcccctaagtattttacattgtaat +aggacacgctcctttaaaactcgccaaaaggtcgttgtggttctctactggttaactata +taatttacagctttgttgagctagttcctctttggtttaagtcctcaatattagttggtt +cgagcgataagttggctagttaccttagtcactatattagatccgaatgttatgcttcat +ctgaagaccgccaccctccaaaatttcttttaagactcacttattgcaaggtgtaggtga +attcggctcgtttctcaagtggtgtatctgtacacgagtttccatattttcatcaacagc +caccgcacacttatgtcactctaggtattaaaagtcgctctacaaggggacgcaattaag +aaacagacatgctagtcaaaaataaacatagcgaggcaccactaattcggccgcttatca +atgggatgctctgcgcgagacgcgccagagctcagtagttagttcggacatacatttact +tcagatgatcaattagttttctacaaatgcttactctaccccgaaaaaagtcaccagact +cttacgtctctttagtatccttccgtcttatataaggtcagtcccccgtttcggtaccct +ggaatttactaagaataatgaaacagcccccaaggacgtacgtttacaaatgatagacca +gatcgcctagcttattccgacgcatgttgcatagaattgaaccaacggaatgtgagagta +actagatgagccgaccacagcacccgtttgcgtcgcagaatacgcctgatagttcggcca +cgaaatcatatgtcctttgagtattaagtatttgtaatgatcaatcgagctcaagcaagc +ttacacttcctcggatattcagggaacttagtgcctttgaaagatacgttgatcaacgaa +aaattgataatggctcatatggaatgcctacctcatagtgctgaattaacacagcactgc +ggacctaacttttcgaggtttcaagttcacgtctcaaaacctaataggctggaatatgta +gggatcctcggtgaatttgtgattgggtttgttgtagtactgaccaagtgaatattcttt +ttttctaaaagcagatctgctgccgggcactacgaaggagatctctgtgtatcattattg +cttcttgacatgatgactcttaaatcactgtgggtgtgcaaaacgatagcacaacccaat +tcgatagtacatattgttgatacttcgcactaaaccgttcatatttaaaggttgtgctcc +ttccttcgttaaatactggtgacttggtcctatctactattagctagacctctggggaac +cacgcccccgtaaaacctgtgcaagagagggggtcatacatcttagacatcgcgcctcca +ccagggaagcattgggtgattgaccaggtgtgtaacaaatatgattattcttatactaat +attagcaaagatgcataatgatttgtattaaatgtataattgaattgataagggtctttt +agtcagtgatagagtagtataaggtagacattagaactcttaaccggacgcagatttttc +ggtcttagtaagccaattagtcgacaaaacaaggtaagagcggttactagtagtacctat +aatgcactgaatcttcggtcgaagtatagttctaatgctatgcagattgtgacggcgaca +aatgttcagacttatatcatgaaacaagctcttgtaagtattgacaaatgaaaagattga +atatttttaaatacaaaatgcgcctacttattaggggaattaaccagattgaaggccaat +cctcacatgtaatgagataatagacgataaatgaaattcttgtaatagttgaactgctac +gtgatgggtattatatatgattgagatcctccaattgccgacgtcttgtcttgatgccca +aaagattgtcaacgaggagctccctcgcgtacctgtcgtccgtatcataaacgacgcgac +atgtacagcactccgaagtataagcaataataatgcgggtaatccagactagatcttttc +ggactcaatgcggtttcacggtaaacatgattaataccggagagtagtcgagcttatcag +cgatgcaagcgaattcattgtgccaggagatacgttgcagataaaaccggcaacgtatgt +caacaagttttggcgatctcgttgtttgtattcgacgaggcgcgggaacttcaagaacta +tcgtatattcaagtccattaccttttagtttcagactggtggagctgactaaagttatat +catcattttgtacactggtttagttaacgataatttcagatttaacatgaccagacgata +atcgctgtatatccagttggaatgtggtttgccagaaaggttaacttataatcaagcctc +tcttcagtcttgattcgtcgtatcccatccattgcgctatacctcagtgtatttggagct +gtagttataccgtgtgctaagatcagtagacatgacgagagcaatattatctaccttaca +agcatcaacggacgtctagtcggaacaaaagactctaaaactcgaacttcaggttaatat +actatagttctgtattcagcagttattcttatattcgatattatcttgcctattggatgt +ctgactttagtatattaatcatagtatctgccatgtaaaggtgccagtactaaatctgtt +tcacagtgcgaattataaacggttacaaccattaaagacaacaagaccctatagctttat +ttgaattttgtcaatgcgcaacttggagctcgcgatacatcccaattagtctatagggtc +gggacgattctacggcatttctggttataatgacaacatggattgtggcccgagaatcgc +tctttcattaattaagcaatcattacagtcttataagcgctacttccgagtggtagcagg +taactcgatataaggtcgcatgagccgaatagcttaaaaaacaggccaccgaacattgat +agagaataccgaccacagcgcaacctttgattactttcattaaattgtacggctcactcg +acatcaagcttaagattgcgataatgtgaactcaaatggatcagtactgaagaaccgtaa +cccacttcgcagaaagcgtacccagagaagatacgctgttacaatatacagggtgaaatt +attgcctgttcttcgtaaccatttcgccaaacttggttagaaatgatagccattcatgat +agaaataagctgaatgataccagtatctttaactatgtagtcagggggaagataacgatg +gtccatgtatgtttctgatatgtgacagtattggccgcgtaatttgctaacgaagctact +taatgcctttgagcttcatatagatttctttaatcaaaatcggcaaaaagatagtatgag +ctataatatatgctagtagagaactctggaccatcatctatatgaatactgattcgagcg +tgcaattactttagcctgcgtactactgactctacaaaacactctgagataagtttgtag +tcagtaagtcgctctctataaaccttttggatgaccattgtacagccacttatagatccc +aataaatagcacaggagacagagtttttcaatgctcgatcatttgccgatagtattttcg +tctaacctcagggcacctattatttgatacctaacctaacggccctttcacaatggagaa +atatatgacatcgggacaaacacaaatggtgggtggccaggagatatgacatggtggcgt +ctctaagaaacacggactccctctaggcaaactcacgtaaccaattttaatgtcaaacaa +aacgctcgaaaagattttgccgtgtaatgacctggtacattgactggtcaggaatacatc +actgtagttgccgtagtgtcctgttggtgttccatcaagacacatcgtataacgcaattt +acgacggacatcagatcaagttatacagattatttaagtatcacgtgtgcattgggacat +aagggatctcacacatgccttggaacatttttgctttgtgccgctttttcgctgcactac +caatccttacttaccagtatattcaaaggtcgttaacagaatgagaaaggttagggctct +aagttatcgtcgattgggatagacgagacatttgcgagcgccctccacggatacgaatct +cccatatcaatgtgaactggatgctatgcagtttagttcttacgtctcctagtggtaaaa +atcaaagtagcactcgcatagcagttattcagaacctaatacacaaaaccgtcaaacatt +ttctaattctaggtatgggccgatcataggagctaaggtgaaactcataaatgttttgtt +agatctagcatcctaaaaagatgcatatactgagtagctggcgtgcattctctcaattgt +atcctttttaactgaactagtcggtcccatttcgtgactgagatctattaaccgataaga +ttaataacactcgcattcgtatcagctcagagtgaagtttttcaataatttgactgatat +attaacttctaaaataaccctttaagcctcggatccgtttcccaatcacatcaaaaattc +ttattccaactatctacggattaacaacgtgcatggggatcgtagtaagaacttgttccg +atcactttgagtatatcaagttgacggcccggttattattgaatagaaacattcacctgc +taaattaaataccgcacatcggatacccgatttcagagggccgtcttactaagggcaggc +tttgttcggtttaactgagatgttcattattttacagtatgcttcaactaatatgtaacg +aaggacagtggatctgtctccatagtagatcttcagtcgtgaatttcataccgctcctat +ttaagttcgcgttcgagttgttgatcatggcacgtgaaagcaacccctagtattctagac +gaaaattttttctagttcatctgataatttgccaattcaaaaacaaccgctggtttcccg +gcgcattctctaaaatggaagtcgaacctagagccattatttgtcggtaacccatgagtt +ccttcttttcagaagttaatacactgtggtcctatacagaggaaaaacagcggttatata +cgatcgtggcataacaacattggatcaagatagcaatttggctacctattctaattctca +ctagattcggtattccactacaatatcggcagattaggattggatgaataatcggtgttt +aagtccggttgcgtctccaatctcctaatttttattaatattgatcttggtgacctattg +taaataaaaacttcaagactttgaataacggtgaaaagatagaagactcatttgaaaatg +gatcatccacagatccaaacattagcaagacactaatccccaactagctattctgatcgc +gatcgtgctgcagtactcctgtcacaatagtctgttcatgatctaattctttttgggctt +tgttcgatggtgattcagaatctttatccggtcgcttccctgtagctactttgtggggat +attgcccggggattatagggttgagatcgtttcctaaaagtatttaaaccaagtagactt +caactaaactacatcagaacatcgtgaagacaccatacgcggtacctttatttaccgata +acatttcttcaagaaataccggtaagcagcataatgaccctaaacagctcggggtatcgt +cgtagttttaaattttatttaggttactgctcaaggaataaaaactaactatttaattta +taataatattacaaggctcacactgattagatttgtctataagacttcgcgatcccccat +taccggattgtcttaagaataaactagataaaccatgcattttctagataaggcctttag +tctaattagatacaaaaaacacgatagttgcatccttaatttattgtgtcaaacctggaa +ccttttaattacccgcaaatcactttatgtcgagactacctctgaaatttattatctacc +taccgcatgaggacttgaaccatcttgtaggagttatgtttattagctaagattcgttta +tcctgtagcggtccatgtatattcaacaagcaaaaagcactcagaattgtttttagttga +gtcaagactgatatataaataagtttccctagttttttcgtggtgggacgatattgaatt +gaatcttaaccgaagagtttcccactctgtcgcacaataatacacgccaatatttccagc +cctgcttatgccttaatcggttactcaatctcccattgaagttcattttgatctgcatag +aagtttcgggcccagccttttttctgccaccttcctccaagctctgtagacgcactctaa +gattgatgctcacatgtattaattctacattaacataaatatataagtcatgcatcttcg +agtaaaatatctggttctccaacatgtcctggcacgtatcgttataatgcccatacatgt +agtattaaaatgattgggttaactggatattaagatcatcgaaattgtaaagtcaaatta +acaatactgtctcaagaccgtgtattcctcgtgctcggaagggctattacgcttacttcc +gttttggtatcttaatatgactttcaaaaattaagttgcagtgagtcctacctgcgtgca +tcggttagcaagagtataaaagttgtttaaacgaactacttgctttacaataccggtcgt +atatatcgccgtgaatccagaagattgtcttctttggattatcaaccgagatcctgtgga +ccgatgttttgggaccttcacagaggactccaggtagagctcgcttttgcattaatctaa +gaattgtacctctctaaaagatctaaaacagtgaatgtgtatttcatggaaaaacacaga +gaaacgtaaattactttaggccgaaaggcacatgagttattatacatatacgagatggtg +gtatacatcgaattcggggcatacactatagttgcattgtatttagctgctttaaataat +atgatattaccttccttacataagacattaccggcataccctggttttcaacttgtgggg +ctttttgacgatcgcactctcatttgatccgagtagggcggtgacccctgcttttcaaat +acaaaaatttcgctatgaaggtaatagattacttttcgctgttatgatagaaacggtaaa +tttaaaattgaaacttctagaaaagtaaagtaacgagaaatgattttgtgaataatgcgg +tcatgattgcgcaagtaagaaaaaaaggcaaaaggatgcgcggaatagaaacttatcagt +cacgggtatcttgatttcattcttcttgtcaattgccgacataggatgaaatcagattcc +aatgcaatacacagtaacccccacccttgattgtaatgtcgatttgaagttgtacgcgtc +gacgaagtggatagtatacgggccttttgtacggtgcgatcaactatgaatctcggcgag +ttagatggtcgtacaatctcacacatagaggtcacttgcctgtaatgacgaattttcggc +taggtactcgaactttattagaagtaaaaatgtgggcaaaagaaggattccattttacaa +gacgattacaatgagttacatgtctctcaacgtagtctttccctagtagtctttgaacta +tttaggtactccagaaaattttagcaaagggtttctgtgtgaatccgccattcatgttta +tgatggaacaataagaataacgccctcgtatgttatcgacagtgaagtcagcagttcggc +caaaaacatattcaatttagtacagatccccagaagttaagctaagtgctctaaaatggc +ctaaacggttatcaaagtaggtctaattactatactaacgggtgcatcgtaataactgct +gtcgatgcaacactatatgatagtgtcgttttgctatatatgtacaatgtgacaaagaag +ccttagcgattcttgcaaacttaggacttcggattctcaatcttaaatgtccgaaaacgc +aaagattcaaaaatttaatctatgagcagatatgcctgatggtgactacgcgtatgttaa +ggctaaatgttgacaaccgcacacataatcgaactattgatagtcgggagcataaccagg +tgaacgtactttgttcacgacatttattgacatgttctaaatacgtctcaaaatcacggc +gcactagaaaacgcaatcaaatcattgtcctggtttaagggccgtaatgccggtagtgtc +aaacttcatgagaactttagctggcttttggccagtatttagggaccaagagcactagcc +ttaagctgaatattttgccatttatctactgttataactttaaaacttggtggcaccaga +cttgtcgatacacacgcatcaatctgtaacgtaaaaggtttactaagaacaagcgtagga +attgagtttatattatatttaaactaaaagatgatattagcttctgagggcgatagggct +ccaaatcataaagaggaatatattattacacgattagaaacccacaacatacctcgaatc +gcccaaaagtttgacgaaacttggcagtactccacatctcagtaatacagttgggagagt +ctcaaatgttgttttattactcaatgaaccaccctcataatttcactgctgttccattaa +atttgcaaacgatcatttgctttgaagaaacgtaaaatcgacaaaattacagataagtag +atgcataataaaaaaaactgctcgctataacacgatcatcgtgcattcttacttaggagc +atcacccgcacaataacgtaccttaaactacaacactattagaccgagtactgtaattca +cgaaagctcaagctcgcattgtaaagaacttgctctctcgtaaaatgtgataatagtttg +cggagaggattcaattattttccattgcacctactccactagattcgataaaagaaggtg +gtcctcccttaaaaagaaatgttaagtaacatcggaaccataagcaaagcatgtaagtga +accgtcatccttccctaagaaacataaaggtttttaataatgtcgactgtgaactataac +tgcatcctttcctgacctactccggttccttgttgttatttctgaacgagaccagtagat +aaacaatgtaaaccacagtgggtaccaatggtgcatgtgacgctaccgttgttttaagtg +cccgtacaaacataagaagtcataatcttacttgaaattaattttgccttttattttttt +tcaggctcgaaattaatgatttgttttttttgaccttctagttacgctaatatgcggtcg +cctgtggtttctattgagtcctataacgggatgggatctaatacgtttggttactagtaa +acaaggtataaatttgataccggagtatcaactgtataacatcaagctttatgactcata +cgcgaagtaatgacacaaggctttcaggagatcgcgagtacagagccactaaggggtgta +ttacgatagtgacaccaccgagcgcactcactccccaagtagatttatgatcctacgcta +agtattagatatataaccaaagaggttctagtcagtgcaactcttagaataataattagc +cggttttgcctttttaggcctaatgcaatattcagctagcccttatgtatctcgcgttcc +acagcaccactcatggcacgcgtttaaactaatcaaatataatctatgaatgttatgcca +gtacttgaataaatcaggttttttataagtccttgcatactctcgttatatactgttaga +gtcttaccccatagaaattctttcatctgcaaacttagaagaattctcagctacggggag +cataaagtccccaggatgttgacaaatacaacaaatgtggcttatacaaacactccatat +gaaaatcgaaccctcgtggtagttttagccgaaccttgtacggataaatccctccatttt +ccaatagcagatacctatcctactacctcgtggtattaaattaaagcttgaaatatagag +ctgcatagcttatccaattcccaagcacgagtctaccgtcgtaaccacgatttgatttac +agacgctagagcaaacccatctttaaacatataagtaaaaattaaagggtgagtgcgtac +gtgtttactagcaacttcgcttattaagacaattgtttataagccataattaaaaacata +tgttcaacaggttcattgatatttgtaattgcacaggtttttaataaggatctacgtaag +tataatgaacaaactttttaccagagttatattctgtactttgaaaatgctcctctaccg +ccttagagactttcaattagattttttgcagttaatctatgcgtaagtgaaccatgcaag +ggatgcgattcaaccgcctcgtgctaaccctatcgtctgtctcataactgtaggtctaat +ataattttcagttttcgaacacataaccctttgaaaatctgctatttaatgtctcacctg +catgcactatcttctatactgctcagaacggctatacgtcactatgctccaagtgacgat +ttaaacgaagcaaggaataataggtttattttagtgcaaaacaattaagtgcggactacg +tgctctttacaataagccttgtgattgggctataggttaagtcccatattaacgatctcc +aatgtacaaaatcgacaatcgctttgcattacccggttactagtcgaattacagatagct +gttagatactcactctaattttggacaacaatcccaatcttggggtcgtctatcgcctga +agctcgtaaatccttccatcttaaacgattacatattatagacttgttcggggtagagat +atcacagttgtgcaaacattgtaaatcgatactagtttatgttggtagtctagttgcttt +taccattccccgaaaaacttgatctactatttcgacaacagtaaacttgaactaggtaag +tgaaaacagagaatgcctcatagtgccactatttgtccactatatgtaagtgtagcttta +cataatccactatgactgagatcattacggcctaggaaagcagcgtagaaaaaaagggcc +cggatattacgactgtaactataaaactagttactggtagcgcgccatgtatagatttgt +tttaccggttgtggttgcgttaacgaatttcagccgcgaaaattgatccgttaaccagtc +catctcgacttctataaaacgataaagtaaagttgatgttcagcctccttcttatggttg +catcgagagtacactactcagtgggaaatagatcggggttcctacttcagattgtattat +ctaggcaattgccgattgtgccatacctggataaaataagctacctacatgtgatgctta +tctattatcgtcatactaccttagggtgtcctgttgaacgctacattaatctttagccgt +ttgagatgttccaatggataggagtctaacgcatgatgaagtttaggaaggcagagcatc +ccactaagtatgtgacagtgtatttcgaaacgagacgttataaatagaaaaaaggtcctt +ctggttctattctgctgaactattgaatggaaagattggttgacctacgtactatttgct +tgaagtcatcaatttgacggggtgagagacatatggtgcatactttacggactctatatt +ttagatcagaagcttagcagtcttctctacaccccctcacgacataattgcttttaagaa +tctatgtttgattcctctacgggaattcggatccgttcgcatgtgcggtttatctaaacc +aggggacatatgttcagctaaagcatacgaacactttgctaactagacgtatgtatagta +gctataaatcccgacgatatttacaaaaagaaatgagactcaaatatatacatagcgacc +ctacacttattcgcaccctgatctaggcgatcctagcacccacacccgaaagtgagcact +agtgtcttccgtattaaatttactgcagttgagattttagttgtctactaaggattactc +taacccgtaataaggatcaagactcggtactagctttactatcattccctatgtgttttc +ctaactcacaagggtacgtaccagcctatgtaattacaataatgataaagacacaaagga +agtaactttacaaatgagtctccagttacactagcttagtccctcccatcttgctttgaa +gtctaaatacgcaatctctgaggatatacagcagaagaacactcataacgttggagtcca +agaattagactcatagggcccccaacatttaatatgtactgtgagtttgaaggtgttcta +ttgttaattcctgctcttgatacatgacacgtactccgtgtttaaggcttcggactgact +ttctttcataagttgagcaacgaaaatttcagaatcgataagttggattcactaactaat +acggctgattgaaaactccactccggacctatatggtcgacctttatacgtaaccgatat +aaaacttataggctggtatatcgagccttcctagcgcaatttcggatggggtttcttcta +ctactcaacaacggaatagtctttgtttagtaaaccagagctcaggacgcccaatacgta +ggagagcgctgtggagcatgtgtcattatggactggagcactcttaaatcactctgcgtg +tgctaaacgatagatcataacatgtcctgagtaaattttcttgatacgtcgcaatatacc +gttattagttaaacgttctcatccgtcatgcgtgaaatacggctgtcgtgctcagatata +ctattagcgactcatctcgcctaacacgcacacgtataaactcggaatgactgccgctct +tacatattagaaatacagactacaccacggaagcattgggtcattctcaaccgctgtata +aaagatgattagtcttataataagattaccaaagaggcagaatcatgggtagtaaatcta +ttattcaagtgattaccgtcgtgtaggcagggagtgaggacgagatggtactcaggacaa +atattaaccggacgaagtggtttacgtcgtactttcactattagtagtaaatacaaggta +acaccggggaatagtactaaatataatgatatctatcttcgggagaacgagtcgtctatt +gctttgaacattctcaaggcgtaaaatgtgctgacttatagcatgatacaaccgattgtt +acttttgtctattcaaaagattgaatagttttttatacaaaagccgcatacttatgacgg +ctagtatacagtttcatcccctagcatcaatgctatggacagtattgaacttataggaaa +ttcttctaatagggcaaatccgtcgtgatgcctattttttttcagtcacatcctcaaatg +gcactagtattgtcgggatcccattaacaggctcaaccacgagctcacgcgaggacatgt +agtccgtatctttaacgaagcgacagcgacagaactcccatggataaccaattataaggc +ccgtaatcctctagacatcgtttaccaataaatccgctttctccgtaatcatgttgaata +ccccagagtagtccagatgataaccgatgaaacacaagtctttctcaatgcacttacggt +gaacttattaccgccaacgtagctcatcaaggttgcgacatctagttgtgtgtttgcgac +gagcccagcgaacttcatcaactttcgtatattcaacgccttgtaattttactttaagac +gcctggtgatgtagattcttagataatcagtttgttatcggctgtactttaccataattt +cacaggtttcaggtcaagaagattatagctgtatatacagttccatgctcggtgcacaga +aacgtgatcggataataatcaatcgcttatgtcgtctttaggcgtatccaatacatgccc +cgataccgcagtgtatttcgacatgtaggtataccgtcgcatttgagctcgagtcaggac +gtcagctagattagattccttaatagaatataccgacctctagtccgaactaaactatag +ataacgccaacttcaggttaattgtctagtcgtctgtttgcagatgggattcttagatga +gtgagtatcggccatattggttcgagcactttagtttttgatgcataggatatgcaatgt +atagctgaaagtactttatctgtttcaaactcacattgattaaaccggtaaacctttaaa +gactacaagaaaatattcagtgagggcaattttgtcaatcacaatcttccagctagagat +acttcacaatttgtcttgaggctacgcaacattagacggattttcgcgttttattgaaat +aatcgaggggcccaagagtatccatagttcattttgtaagatttctttacaggcttatta +cagcttcttcagactcctacatgcttacgagttatatgctagcatgtgaacaatagatta +atatacaggaaaacgtacattgagagagatgaccctacacagcgcaaccgttgagtactt +tcattaaagggtaacgctctcgagacagcatccttaagatggccttattgtcaaatcatt +tgcagaagtacgcaagatccctaaccaacgtagaagaatccctacaaacacatgagacgc +ggtgaaaatagacagggtgttagtattcaatcttcggagtatcaatttcgccaatcttgg +tgagaaagcataccctttcttcagagaaagaagatcaatcataacactatctttaacgag +gtacgcacgcgcatcattacctgcctccatggatctttaggatagcggaaagtattggca +gcgtattgtgatttcgttcctactttatcaatttcacattcatatacatgtcttttatca +aaatcgccaataagataggatgagctatattagatgctagtagagttcgcgccaacatca +tcgataggaatactcaggacagcgtgataggacttttcaatccctaatactctctataat +tataactctctcttaagtttggaggcagtaacgcgctctatataatcagtttgctgcacc +attcttcagcctctgatacatacaaataaattccacagcagtaagagggtttaattgaga +catcttgggaacttaggattttactctaacatcaccgaaacgattattggataccgtacc +taaacgaactttctcaaggcagtaatataggacatccgcaataacacaaatgctgcctcc +ccaggagttatgtcttcctggaggctatatcttacacccactcactataggcaaactaaa +gtttaaatgttgattgtctaaaaaaaagatagataagagttggccggcgtagcacatgcg +aaagtgaatcgtaagctataattctctggacttgaagttctgtcctgttcctctgcaaga +aacaaacttcctttaaagctatttacgacgcacatctcagcaagttataaacatgttgga +agtttctagtcggaattcccaaagaacggatctatctaatgcattcctacatttttcctg +tctgccgatggtgccatcctattcaaagaatttcttaaaagtagattaaatgggactttt +aacaatgagtaaccttacgcctctaagggttcctcgagtgccatacaccagtcaggtccg +agccacatacacggagaacattctaacatagcattctcaactcgatcatttgcaggttac +ttctttcctatcctagtgctaaaaatcatacttgcaatcccatagcacggattaagaacc +taagaaacaattcagtaaaacatgttcgaattcttggtatgggaacatcattgcagctat +ggtctaacgcattaatgtttgggtacatcttccatcatataaacaggaagagtctgacga +cagggagtgcttgcgatcatgtctatcattgtgaaatcaaattgtagctcacatgtcgtc +tatgagagcgtgtatccgataagatttagaaaaatagaagtcgtataagatctcactgaa +cttttgaatgaatgtgaagcatatatgatctgctttaataaaactttatccataggatac +gtttccaaatcaattcaataattattagtcaaaatagataaggatgaacaacctgaaggc +cgatcggacgtagaaagtggtcccatcactttgagttgatattgttgaaccacacgttat +tatggttttcaaacagtctcaggatattgtatatacagataatccgataccagttgtctg +acgcccctcttacgtaccccaccctttgtgacgtttaaagcagttgttcagtattttaaa +ctaggcggcaactaatttggaaagaagcacagtggatatgtctaaattcttgttattcag +gcctgaatttaatacaccgcatagttaacttcgcggtagagttgttcatcatgcctcctc +taagctaccacttctatgatacaccaatagttgttctacggaatctgataattggccaag +tcataaacttccgctgcgttcaacccccttgctcgaatatccaactcgaaaagacagcct +tttggtgtccggaacaaatcagttacttcttttctgatgttaattctctgtggtcagata +cagaccaaaaactccgcggatttaccatcctccaagaacaaatttgcatcaacatagcat +tttggctacatattctaagtctcaatagtttaggttttcaactacattatcccaacatta +ggattggaggaataatagctgggtaagtccccttgcgtctacaatcgactattttttatg +aatatgcttctgccgcacctatggttattaaaaaagtcatgactttgaagaaccctgaaa +agatagatgaatcaggtgtaatggcagcagccaaagagcatataattagcaacactctaa +gaacattatagatatgatgatagcgatcgtcatgatgttatccggtcacaatagtagctt +catcagctaattcgttttgccagtggtgacttgcgctggaagaatcgttatacggtccct +tccctcttgatacggtgggggcttattcaaccgcgtggattgggttgtcatacttgcatt +aaacgatgtaaaccatctagtagtcaactatactaaatcacaaaatagtgatcaatacat +acccgcttcatggttttaaccatttaattgattaaagatattccgctaagaaccattatc +tacctaaactgatcgccgtatcctagtagtttgaaatttgatgtaccgtaatgatcaacg +aagtaaaacgttatattgtatgtagaataataggtcttggagctaaatgatgtgattggt +agtgaagacttacccttacaactttaccggtttctcggaagaatatactagagaatcaat +gcatgggctacataagcactttagtctaatgagataaaaaatacacgagtcttccatcat +gaattttttgtcgaaaaactcgaacctggtaatttaaaccatatatctttatgtcgtcaa +taactctcatatgttttatataacttcccaatcacgacttgtaactgcttgttcgactga +gctgtttgagctatgaggccgggatccggttgagctacatctatttgctacaagaaaaat +gaaagcacatttgttgggagttctggctacactcatagagaaataagtggcccgagtggg +tgcggcctgcctccatattcaagtgtatcttaaaccaagtggttccaacgctcgcgctaa +agaattaaagcctttatttcctccacggagtagcccgtaatccggttcgaaagagaccat +tgaagttaattttcatatccagtgaagtttaggcacaagcatgtgttctgccacatgcct +caaagcgctcttcaaccaagatatgattcatcctaacttcgatgaatgcgtctgtaacat +aaatatagaaggaatgattcggcgagttaattttcgccttctccaacatggcatccctac +gttcgttataaggaccatacatgtaggttttaaaggtttgcggttaatcgatatttacat +catagaaattctatagtcaaatttacaagactctagatactcactcgttgcagccggcta +ggaagcgctttgtaccttacttcccttttcgttgcgtaatatgaatttcatatagtaagt +tcaaggcactcatacctccgtgaagagggtagatagactattaaagttgtttaatagtac +gtattgatggaaatgacccgtaggagatttaccactcaatccacaagattcgctgctgtg +cattatcaaaacagtgcatgtcgaaacatgggttgggtccttcaaacacgaatccaggta +gagatacctttgcaattttt diff --git a/extra/benchmark/knucleotide/knucleotide.factor b/extra/benchmark/knucleotide/knucleotide.factor new file mode 100644 index 0000000000..f036a644ae --- /dev/null +++ b/extra/benchmark/knucleotide/knucleotide.factor @@ -0,0 +1,64 @@ +USING: kernel io io.files splitting strings + hashtables sequences assocs math namespaces prettyprint + math.parser combinators arrays sorting ; + +IN: benchmark.knucleotide + +: float>string ( float places -- string ) + swap >float number>string + "." split1 rot + over length over < + [ CHAR: 0 pad-right ] + [ head ] if "." swap 3append ; + +: discard-lines ( -- ) + readln + [ ">THREE" head? [ discard-lines ] unless ] when* ; + +: read-input ( -- input ) + discard-lines + ">" read-until drop + CHAR: \n swap remove >upper ; + +: tally ( x exemplar -- b ) + clone tuck + [ + [ [ 1+ ] [ 1 ] if* ] change-at + ] curry each ; + +: small-groups ( x n -- b ) + swap + [ length swap - 1+ ] 2keep + [ >r over + r> subseq ] 2curry map ; + +: handle-table ( inputs n -- ) + small-groups + [ length ] keep + H{ } tally >alist + sort-values reverse + [ + dup first write bl + second 100 * over / 3 float>string print + ] each + drop ; + +: handle-n ( inputs x -- ) + tuck length + small-groups H{ } tally + at [ 0 ] unless* + number>string 8 CHAR: \s pad-right write ; + +: process-input ( input -- ) + dup 1 handle-table nl + dup 2 handle-table nl + { "GGT" "GGTA" "GGTATT" "GGTATTTTAATT" "GGTATTTTAATTTATAGT" } + [ [ dupd handle-n ] keep print ] each + drop ; + +: knucleotide ( -- ) + "extra/benchmark/knucleotide/knucleotide-input.txt" resource-path + + [ read-input ] with-stream + process-input ; + +MAIN: knucleotide diff --git a/extra/benchmark/knucleotide/summary.txt b/extra/benchmark/knucleotide/summary.txt new file mode 100644 index 0000000000..c7346d4b0a --- /dev/null +++ b/extra/benchmark/knucleotide/summary.txt @@ -0,0 +1,2 @@ +The Great Computer Language Shootout's knucleotide benchmark to test +hashtables. diff --git a/extra/benchmark/mandel/mandel.factor b/extra/benchmark/mandel/mandel.factor index 0ad7c5e26d..7f1da8c71a 100644 --- a/extra/benchmark/mandel/mandel.factor +++ b/extra/benchmark/mandel/mandel.factor @@ -64,7 +64,7 @@ SYMBOL: cols building get >string ] with-scope ; -: mandel-main ( file -- ) +: mandel-main ( -- ) "mandel.ppm" resource-path [ mandel write ] with-stream ; diff --git a/extra/benchmark/spectral-norm/spectral-norm.factor b/extra/benchmark/spectral-norm/spectral-norm.factor index e67359e70c..42bae7d0d1 100644 --- a/extra/benchmark/spectral-norm/spectral-norm.factor +++ b/extra/benchmark/spectral-norm/spectral-norm.factor @@ -49,7 +49,7 @@ IN: benchmark.spectral-norm HINTS: spectral-norm fixnum ; -: spectral-norm-main ( n -- ) +: spectral-norm-main ( -- ) 2000 spectral-norm . ; MAIN: spectral-norm-main diff --git a/extra/benchmark/sum-file/sum-file.factor b/extra/benchmark/sum-file/sum-file.factor index 0e64e80f4c..14166feb5b 100644 --- a/extra/benchmark/sum-file/sum-file.factor +++ b/extra/benchmark/sum-file/sum-file.factor @@ -4,7 +4,7 @@ IN: benchmark.sum-file : sum-file-loop ( n -- n' ) readln [ string>number + sum-file-loop ] when* ; -: sum-file ( file -- n ) +: sum-file ( file -- ) [ 0 sum-file-loop ] with-stream . ; : sum-file-main ( -- ) diff --git a/extra/combinators/lib/lib-tests.factor b/extra/combinators/lib/lib-tests.factor index 43385b911d..0d76e6f50d 100644 --- a/extra/combinators/lib/lib-tests.factor +++ b/extra/combinators/lib/lib-tests.factor @@ -58,3 +58,5 @@ IN: temporary [ dup array? ] [ dup vector? ] [ dup float? ] } || nip ] unit-test + +[ 1 2 3 4 ] [ { 1 2 3 4 } 4 nfirst ] unit-test diff --git a/extra/combinators/lib/lib.factor b/extra/combinators/lib/lib.factor index 3f49da7cb3..fe11fd1338 100644 --- a/extra/combinators/lib/lib.factor +++ b/extra/combinators/lib/lib.factor @@ -67,6 +67,12 @@ MACRO: napply ( n -- ) : map-with2 ( obj obj list quot -- newseq ) 2 map-withn ; inline +MACRO: nfirst ( n -- ) + [ [ swap nth ] curry [ keep ] curry ] map concat [ drop ] compose ; + +: seq>stack ( seq -- ) + dup length nfirst ; inline + ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : sigma ( seq quot -- n ) [ rot slip + ] curry 0 swap reduce ; diff --git a/extra/delegate/author.txt b/extra/delegate/author.txt new file mode 100644 index 0000000000..f990dd0ed2 --- /dev/null +++ b/extra/delegate/author.txt @@ -0,0 +1 @@ +Daniel Ehrenberg diff --git a/extra/delegate/delegate-docs.factor b/extra/delegate/delegate-docs.factor new file mode 100644 index 0000000000..5ceeac42bb --- /dev/null +++ b/extra/delegate/delegate-docs.factor @@ -0,0 +1,52 @@ +USING: delegate help.syntax help.markup ; + +HELP: define-protocol +{ $values { "wordlist" "a sequence of words" } { "protocol" "a word for the new protocol" } } +{ $description "Defines a symbol as a protocol." } +{ $notes "Usually, " { $link POSTPONE: PROTOCOL: } " should be used instead. This is only for runtime use." } ; + +HELP: PROTOCOL: +{ $syntax "PROTOCOL: protocol-name words... ;" } +{ $description "Defines an explicit protocol, which can be used as a basis for delegation or mimicry." } ; + +{ define-protocol POSTPONE: PROTOCOL: } related-words + +HELP: define-consult +{ $values { "class" "a class" } { "group" "a protocol, generic word or tuple class" } { "quot" "a quotation" } } +{ $description "Defines a class to consult, using the given quotation, on the generic words contained in the group." } +{ $notes "Usually, " { $link POSTPONE: CONSULT: } " should be used instead. This is only for runtime use." } ; + +HELP: CONSULT: +{ $syntax "CONSULT: group class getter... ;" } +{ $values { "group" "a protocol, generic word or tuple class" } { "class" "a class" } { "getter" "code to get where the method should be forwarded" } } +{ $description "Defines a class to consult, using the given code, on the generic words contained in the group. This means that, when one of the words in the group is called on an object of this class, the quotation will be called, and then the generic word called again. If the getter is empty, this will cause an infinite loop. Consultation overwrites the existing methods, but others can be defined afterwards." } ; + +{ define-consult POSTPONE: CONSULT: } related-words + +HELP: define-mimic +{ $values { "group" "a protocol, generic word or tuple class" } { "mimicker" "a class" } { "mimicked" "a class" } } +{ $description "For the generic words in the group, the given mimicker copies the methods of the mimicked. This only works for the methods that have already been defined when the word is called." } +{ $notes "Usually, " { $link POSTPONE: MIMIC: } " should be used instead. This is only for runtime use." } ; + +HELP: MIMIC: +{ $syntax "MIMIC: group mimicker mimicked" } +{ $values { "group" "a protocol, generic word or tuple class" } { "mimicker" "a class" } { "mimicked" "a class" } } +{ $description "For the generic words in the group, the given mimicker copies the methods of the mimicked. This only works for the methods that have already been defined when the syntax is used. Mimicking overwrites existing methods." } ; + +HELP: group-words +{ $values { "group" "a group" } { "words" "an array of words" } } +{ $description "Given a protocol, generic word or tuple class, this returns the corresponding generic words that this group contains." } ; + +ARTICLE: { "delegate" "intro" } "Delegation module" +"This vocabulary defines methods for consultation and mimicry, independent of the current Factor object system; it is a replacement for Factor's builtin delegation system. Fundamental to the concept of generic word groups, which can be specific protocols, generic words or tuple slot accessors. Fundamentally, a group is a word which has a method for " { $link group-words } ". To define a group as a set of words, use" +{ $subsection POSTPONE: PROTOCOL: } +{ $subsection define-protocol } +"One method of object extension which this vocabulary defines is consultation. This is slightly different from the current Factor concept of delegation, in that instead of delegating for all generic words not implemented, only generic words included in a specific group are consulted. Additionally, instead of using a single hard-coded delegate slot, you can specify any quotation to execute in order to retrieve who to consult. The literal syntax and defining word are" +{ $subsection POSTPONE: CONSULT: } +{ $subsection define-consult } +"Another object extension mechanism is mimicry. This is the copying of methods in a group from one class to another. For certain applications, this is more appropriate than delegation, as it avoids the slicing problem. It is inappropriate for tuple slots, however. The literal syntax and defining word are" +{ $subsection POSTPONE: MIMIC: } +{ $subsection define-mimic } ; + +IN: delegate +ABOUT: { "delegate" "intro" } diff --git a/extra/delegate/delegate-tests.factor b/extra/delegate/delegate-tests.factor new file mode 100644 index 0000000000..01ef33b922 --- /dev/null +++ b/extra/delegate/delegate-tests.factor @@ -0,0 +1,26 @@ +USING: delegate kernel arrays tools.test ; + +TUPLE: hello this that ; +C: hello + +TUPLE: goodbye these those ; +C: goodbye + +GENERIC: foo ( x -- y ) +GENERIC: bar ( a -- b ) +PROTOCOL: baz foo bar ; + +CONSULT: baz goodbye goodbye-these ; +M: hello foo hello-this ; +M: hello bar dup hello? swap hello-that 2array ; + +GENERIC: bing ( c -- d ) +CONSULT: hello goodbye goodbye-these ; +M: hello bing dup hello? swap hello-that 2array ; +MIMIC: bing goodbye hello + +[ 1 { t 0 } ] [ 1 0 [ foo ] keep bar ] unit-test +[ { t 0 } ] [ 1 0 bing ] unit-test +[ 1 ] [ 1 0 f foo ] unit-test +[ { t 0 } ] [ 1 0 f bar ] unit-test +[ { f 0 } ] [ 1 0 f bing ] unit-test diff --git a/extra/delegate/delegate.factor b/extra/delegate/delegate.factor new file mode 100644 index 0000000000..8dc3e3720e --- /dev/null +++ b/extra/delegate/delegate.factor @@ -0,0 +1,73 @@ +! Copyright (C) 2007 Daniel Ehrenberg +! See http://factorcode.org/license.txt for BSD license. +USING: parser generic kernel classes words slots io definitions +sequences sequences.private assocs prettyprint.sections arrays ; +IN: delegate + +: define-protocol ( wordlist protocol -- ) + swap { } like "protocol-words" set-word-prop ; + +: PROTOCOL: + CREATE dup reset-generic dup define-symbol + parse-definition swap define-protocol ; parsing + +PREDICATE: word protocol "protocol-words" word-prop ; + +GENERIC: group-words ( group -- words ) + +M: protocol group-words + "protocol-words" word-prop ; + +M: generic group-words + 1array ; + +M: tuple-class group-words + "slots" word-prop 1 tail ! The first slot is the delegate + ! 1 tail should be removed when the delegate slot is removed + dup [ slot-spec-reader ] map + swap [ slot-spec-writer ] map append ; + +: spin ( x y z -- z y x ) + swap rot ; + +: define-consult-method ( word class quot -- ) + pick add spin define-method ; + +: define-consult ( class group quot -- ) + >r group-words r> + swapd [ define-consult-method ] 2curry each ; + +: CONSULT: + scan-word scan-word parse-definition swapd define-consult ; parsing + +PROTOCOL: sequence-protocol + clone clone-like like new new-resizable nth nth-unsafe + set-nth set-nth-unsafe length immutable set-length lengthen ; + +PROTOCOL: assoc-protocol + at* assoc-size >alist assoc-find set-at + delete-at clear-assoc new-assoc assoc-like ; + +PROTOCOL: stream-protocol + stream-close stream-read1 stream-read stream-read-until + stream-flush stream-write1 stream-write stream-format + stream-nl make-span-stream make-block-stream stream-readln + make-cell-stream stream-write-table set-timeout ; + +PROTOCOL: definition-protocol + where set-where forget uses redefined* + synopsis* definer definition ; + +PROTOCOL: prettyprint-section-protocol + section-fits? indent-section? unindent-first-line? + newline-after? short-section? short-section long-section +
delegate>block add-section ; + +: define-mimic ( group mimicker mimicked -- ) + >r >r group-words r> r> [ + pick "methods" word-prop at + [ method-def spin define-method ] [ 3drop ] if* + ] 2curry each ; + +: MIMIC: + scan-word scan-word scan-word define-mimic ; parsing diff --git a/extra/delegate/summary.txt b/extra/delegate/summary.txt new file mode 100644 index 0000000000..ef49220ac4 --- /dev/null +++ b/extra/delegate/summary.txt @@ -0,0 +1 @@ +Delegation and mimicking on top of the Factor object system diff --git a/extra/editors/editors.factor b/extra/editors/editors.factor index 930a39dfdf..7d95c8ce8a 100644 --- a/extra/editors/editors.factor +++ b/extra/editors/editors.factor @@ -1,21 +1,36 @@ ! Copyright (C) 2005, 2007 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: parser kernel namespaces sequences definitions io.files -inspector continuations tuples tools.crossref io prettyprint -source-files ; +inspector continuations tuples tools.crossref tools.browser +io prettyprint source-files assocs vocabs vocabs.loader ; IN: editors TUPLE: no-edit-hook ; -M: no-edit-hook summary drop "No edit hook is set" ; +M: no-edit-hook summary + drop "You must load one of the below vocabularies before using editor integration:" ; SYMBOL: edit-hook +: available-editors ( -- seq ) + "editors" all-child-vocabs + values concat [ vocab-name ] map ; + +: editor-restarts ( -- alist ) + available-editors + [ "Load " over append swap ] { } map>assoc ; + +: no-edit-hook ( -- ) + \ no-edit-hook construct-empty + editor-restarts throw-restarts + require ; + : edit-location ( file line -- ) - >r ?resource-path r> - edit-hook get dup [ - \ no-edit-hook construct-empty throw - ] if ; + edit-hook get [ + >r >r ?resource-path r> r> call + ] [ + no-edit-hook edit-location + ] if* ; : edit ( defspec -- ) where [ first2 edit-location ] when* ; diff --git a/extra/editors/editplus/authors.txt b/extra/editors/editplus/authors.txt new file mode 100644 index 0000000000..4eec9c9a08 --- /dev/null +++ b/extra/editors/editplus/authors.txt @@ -0,0 +1 @@ +Aaron Schaefer diff --git a/extra/editors/editplus/editplus.factor b/extra/editors/editplus/editplus.factor new file mode 100644 index 0000000000..e47ca257ca --- /dev/null +++ b/extra/editors/editplus/editplus.factor @@ -0,0 +1,12 @@ +USING: editors io.launcher math.parser namespaces ; +IN: editors.editplus + +: editplus ( file line -- ) + [ + \ editplus get-global % " -cursor " % # " " % % + ] "" make run-detached ; + +! Put in your .factor-boot-rc +! "c:\\Program Files\\EditPlus\\editplus.exe" \ editplus set-global + +[ editplus ] edit-hook set-global diff --git a/extra/editors/editplus/summary.txt b/extra/editors/editplus/summary.txt new file mode 100644 index 0000000000..9a696c2f0f --- /dev/null +++ b/extra/editors/editplus/summary.txt @@ -0,0 +1 @@ +EditPlus editor integration diff --git a/extra/editors/emeditor/authors.txt b/extra/editors/emeditor/authors.txt new file mode 100644 index 0000000000..7c1b2f2279 --- /dev/null +++ b/extra/editors/emeditor/authors.txt @@ -0,0 +1 @@ +Doug Coleman diff --git a/extra/editors/emeditor/emeditor.factor b/extra/editors/emeditor/emeditor.factor new file mode 100644 index 0000000000..6df4a3619d --- /dev/null +++ b/extra/editors/emeditor/emeditor.factor @@ -0,0 +1,10 @@ +USING: editors io.launcher kernel math.parser namespaces ; +IN: editors.emeditor + +: emeditor ( file line -- ) + [ + \ emeditor get-global % " /l " % # + " " % "\"" % % "\"" % + ] "" make run-detached ; + +[ emeditor ] edit-hook set-global diff --git a/extra/editors/emeditor/summary.txt b/extra/editors/emeditor/summary.txt new file mode 100644 index 0000000000..831acc08af --- /dev/null +++ b/extra/editors/emeditor/summary.txt @@ -0,0 +1 @@ +EmEditor integration diff --git a/extra/editors/gvim/gvim.factor b/extra/editors/gvim/gvim.factor index d26bd70209..024f5cfffa 100644 --- a/extra/editors/gvim/gvim.factor +++ b/extra/editors/gvim/gvim.factor @@ -4,11 +4,7 @@ IN: editors.gvim TUPLE: gvim ; M: gvim vim-command ( file line -- string ) - [ - "\"" % vim-path get % "\"" % - vim-switches get [ % ] when* - "+" % # " \"" % % "\"" % - ] "" make ; + [ "\"" % vim-path get % "\" \"" % swap % "\" +" % # ] "" make ; T{ gvim } vim-editor set-global "gvim" vim-path set-global diff --git a/extra/editors/notepadpp/notepadpp.factor b/extra/editors/notepadpp/notepadpp.factor index 080910731d..42f0568c3a 100644 --- a/extra/editors/notepadpp/notepadpp.factor +++ b/extra/editors/notepadpp/notepadpp.factor @@ -1,5 +1,5 @@ USING: editors io.launcher math.parser namespaces ; -IN: notepadpp +IN: editors.notepadpp : notepadpp ( file line -- ) [ diff --git a/extra/editors/ted-notepad/authors.txt b/extra/editors/ted-notepad/authors.txt new file mode 100644 index 0000000000..7c1b2f2279 --- /dev/null +++ b/extra/editors/ted-notepad/authors.txt @@ -0,0 +1 @@ +Doug Coleman diff --git a/extra/editors/ted-notepad/summary.txt b/extra/editors/ted-notepad/summary.txt new file mode 100644 index 0000000000..c1b8424393 --- /dev/null +++ b/extra/editors/ted-notepad/summary.txt @@ -0,0 +1 @@ +TED Notepad integration diff --git a/extra/editors/ted-notepad/ted-notepad.factor b/extra/editors/ted-notepad/ted-notepad.factor new file mode 100644 index 0000000000..945233ff9b --- /dev/null +++ b/extra/editors/ted-notepad/ted-notepad.factor @@ -0,0 +1,10 @@ +USING: editors io.launcher kernel math.parser namespaces ; +IN: editors.ted-notepad + +: ted-notepad ( file line -- ) + [ + \ ted-notepad get-global % " /l" % # + " " % % + ] "" make run-detached ; + +[ ted-notepad ] edit-hook set-global diff --git a/extra/editors/ultraedit/authors.txt b/extra/editors/ultraedit/authors.txt new file mode 100644 index 0000000000..7c1b2f2279 --- /dev/null +++ b/extra/editors/ultraedit/authors.txt @@ -0,0 +1 @@ +Doug Coleman diff --git a/extra/editors/ultraedit/summary.txt b/extra/editors/ultraedit/summary.txt new file mode 100644 index 0000000000..fe2ad9c1a9 --- /dev/null +++ b/extra/editors/ultraedit/summary.txt @@ -0,0 +1 @@ +UltraEdit editor integration diff --git a/extra/editors/ultraedit/ultraedit.factor b/extra/editors/ultraedit/ultraedit.factor new file mode 100644 index 0000000000..d7a1a18132 --- /dev/null +++ b/extra/editors/ultraedit/ultraedit.factor @@ -0,0 +1,12 @@ +USING: editors io.launcher kernel math.parser namespaces ; +IN: editors.ultraedit + +: ultraedit ( file line -- ) + [ + \ ultraedit get-global % " " % swap % "/" % # "/1" % + ] "" make run-detached ; + +! Put the path in your .factor-boot-rc +! "K:\\Program Files (x86)\\IDM Computer Solutions\\UltraEdit-32\\uedit32.exe" \ ultraedit set-global + +[ ultraedit ] edit-hook set-global diff --git a/extra/editors/wordpad/authors.txt b/extra/editors/wordpad/authors.txt new file mode 100644 index 0000000000..7c1b2f2279 --- /dev/null +++ b/extra/editors/wordpad/authors.txt @@ -0,0 +1 @@ +Doug Coleman diff --git a/extra/editors/wordpad/summary.txt b/extra/editors/wordpad/summary.txt new file mode 100644 index 0000000000..016c602e75 --- /dev/null +++ b/extra/editors/wordpad/summary.txt @@ -0,0 +1 @@ +Wordpad editor integration diff --git a/extra/editors/wordpad/wordpad.factor b/extra/editors/wordpad/wordpad.factor new file mode 100644 index 0000000000..e1646a0855 --- /dev/null +++ b/extra/editors/wordpad/wordpad.factor @@ -0,0 +1,13 @@ +USING: editors hardware-info.windows io.launcher kernel +math.parser namespaces sequences windows.shell32 ; +IN: editors.wordpad + +: wordpad ( file line -- ) + [ + \ wordpad get-global % drop " " % "\"" % % "\"" % + ] "" make run-detached ; + +program-files "\\Windows NT\\Accessories\\wordpad.exe" append +\ wordpad set-global + +[ wordpad ] edit-hook set-global diff --git a/extra/globs/authors.txt b/extra/globs/authors.txt new file mode 100644 index 0000000000..1901f27a24 --- /dev/null +++ b/extra/globs/authors.txt @@ -0,0 +1 @@ +Slava Pestov diff --git a/extra/globs/globs-tests.factor b/extra/globs/globs-tests.factor new file mode 100644 index 0000000000..8021128810 --- /dev/null +++ b/extra/globs/globs-tests.factor @@ -0,0 +1,18 @@ +IN: temporary +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 new file mode 100755 index 0000000000..901191b51e --- /dev/null +++ b/extra/globs/globs.factor @@ -0,0 +1,38 @@ +! Copyright (C) 2007 Slava Pestov. +! See http://factorcode.org/license.txt for BSD license. +USING: parser-combinators regexp lazy-lists sequences kernel +promises strings ; +IN: globs + + [ >lower token ] <@ ; + +: 'escaped-char' "\\" token any-char-parser &> [ 1token ] <@ ; + +: 'escaped-string' 'string' 'escaped-char' <|> ; + +DEFER: 'term' + +: 'glob' ( -- parser ) + 'term' <*> [ ] <@ ; + +: 'union' ( -- parser ) + 'glob' "," token nonempty-list-of "{" "}" surrounded-by + [ ] <@ ; + +LAZY: 'term' + 'union' + 'character-class' <|> + "?" token [ drop any-char-parser ] <@ <|> + "*" token [ drop any-char-parser <*> ] <@ <|> + 'escaped-string' <|> ; + +PRIVATE> + +: 'glob' just parse-1 just ; + +: glob-matches? ( input glob -- ? ) + >r >lower r> parse nil? not ; diff --git a/extra/globs/summary.txt b/extra/globs/summary.txt new file mode 100644 index 0000000000..e97b9b28f7 --- /dev/null +++ b/extra/globs/summary.txt @@ -0,0 +1 @@ +Unix shell-style glob pattern matching diff --git a/extra/hardware-info/windows/ce/ce.factor b/extra/hardware-info/windows/ce/ce.factor index 1ae908c6ef..42fd9e5343 100644 --- a/extra/hardware-info/windows/ce/ce.factor +++ b/extra/hardware-info/windows/ce/ce.factor @@ -1,7 +1,7 @@ -USING: alien.c-types hardware-info kernel math namespaces windows windows.kernel32 ; +USING: alien.c-types hardware-info hardware-info.windows +kernel math namespaces windows windows.kernel32 ; IN: hardware-info.windows.ce -TUPLE: wince ; T{ wince } os set-global : memory-status ( -- MEMORYSTATUS ) diff --git a/extra/hardware-info/windows/nt/nt.factor b/extra/hardware-info/windows/nt/nt.factor index fafcb58dca..2b2522e6ee 100644 --- a/extra/hardware-info/windows/nt/nt.factor +++ b/extra/hardware-info/windows/nt/nt.factor @@ -1,8 +1,8 @@ -USING: alien alien.c-types hardware-info kernel libc math namespaces +USING: alien alien.c-types hardware-info hardware-info.windows +kernel libc math namespaces windows windows.advapi32 windows.kernel32 ; IN: hardware-info.windows.nt -TUPLE: winnt ; T{ winnt } os set-global : memory-status ( -- MEMORYSTATUSEX ) diff --git a/extra/hardware-info/windows/windows.factor b/extra/hardware-info/windows/windows.factor index bbae541ab4..88e9a8cfb5 100644 --- a/extra/hardware-info/windows/windows.factor +++ b/extra/hardware-info/windows/windows.factor @@ -1,5 +1,6 @@ USING: alien alien.c-types kernel libc math namespaces -windows windows.kernel32 windows.advapi32 hardware-info ; +windows windows.kernel32 windows.advapi32 hardware-info +words ; IN: hardware-info.windows TUPLE: wince ; @@ -53,6 +54,22 @@ M: windows cpus ( -- n ) : sse3? ( -- ? ) PF_SSE3_INSTRUCTIONS_AVAILABLE feature-present? ; +: ( n -- obj ) + "ushort" ; + +: get-directory ( word -- str ) + >r MAX_UNICODE_PATH [ ] keep dupd r> + execute win32-error=0/f alien>u16-string ; inline + +: windows-directory ( -- str ) + \ GetWindowsDirectory get-directory ; + +: system-directory ( -- str ) + \ GetSystemDirectory get-directory ; + +: system-windows-directory ( -- str ) + \ GetSystemWindowsDirectory get-directory ; + USE-IF: wince? hardware-info.windows.ce USE-IF: winnt? hardware-info.windows.nt diff --git a/extra/help/handbook/handbook.factor b/extra/help/handbook/handbook.factor index d1b48d9955..c59524be6e 100755 --- a/extra/help/handbook/handbook.factor +++ b/extra/help/handbook/handbook.factor @@ -1,7 +1,7 @@ USING: help help.markup help.syntax help.topics namespaces words sequences classes assocs vocabs kernel arrays prettyprint.backend kernel.private io tools.browser -generic ; +generic math tools.profiler system ui ; IN: help.handbook ARTICLE: "conventions" "Conventions" @@ -222,6 +222,67 @@ ARTICLE: "handbook" "Factor documentation" USING: io.files io.sockets float-arrays inference ; ARTICLE: "changes" "Changes in the latest release" +{ $heading "Factor 0.91" } +{ $subheading "Performance" } +{ $list + { "Continuations are now supported by the static stack effect system. This means that the " { $link infer } " word and the optimizing compiler now both support code which uses continuations." } + { "Many words which previously ran in the interpreter, such as error handling and I/O, are now compiled to optimized machine code." } + { "A non-optimizing, just-in-time compiler replaces the interpreter with no loss in functionality or introspective ability." } + { "The non-optimizing compiler compiles quotations the first time they are called, generating a series of stack pushes and subroutine calls. It offers a 33%-50% performance increase over the interpreter." } + { "The optimizing compiler now performs some more representation inference. Alien pointers are unboxed where possible. This improves performance of the " { $vocab-link "ogg.player" } " Ogg Theora video player." } + { "The queue of sleeping tasks is now a sorted priority queue. This reduces overhead for workloads involving large numbers of sleeping threads (Doug Coleman)" } + { "Improved hash code algorithm for sequences" } + { "New, efficient implementations of " { $link bit? } " and " { $link log2 } " runs in constant time for large bignums" } + { "New " { $link big-random } " word for generating large random numbers quickly" } + { "Improved profiler no longer has to be explicitly enabled and disabled with a full recompile; instead, the " { $link profile } " word can be used at any time, and it dynamically patches words to increment call counts. There is no overhead when the profiler is not in use." } +} +{ $subheading "IO" } +{ $list + { "More robust Windows CE native I/O" } + { "New " { $link os-envs } " word to get the current set of environment variables" } + { "Redesigned " { $vocab-link "io.launcher" } " supports passing environment variables to the child process" } + { { $link } " implemented on Windows (Doug Coleman)" } + { "Updated " { $vocab-link "io.mmap" } " for new module system, now supports Windows CE (Doug Coleman)" } + { { $vocab-link "io.sniffer" } " - packet sniffer library (Doug Coleman, Elie Chaftari)" } + { { $vocab-link "io.server" } " - improved logging support, logs to a file by default" } + { { $vocab-link "io.files" } " - several new file system manipulation words added" } + { { $vocab-link "tar" } " - tar file extraction in pure Factor (Doug Coleman)" } + { { $vocab-link "unix.linux" } ", " { $vocab-link "raptor" } " - ``Raptor Linux'', a set of alien bindings to low-level Linux features, such as network interface configuration, file system mounting/unmounting, etc, together with experimental boot scripts intended to entirely replace " { $snippet "/sbin/init" } ", " { $vocab-link "/etc/inittab" } " and " { $snippet "/etc/init.d/" } " (Eduardo Cavazos)." } +} +{ $subheading "Tools" } +{ $list + { "Graphical deploy tool added - see " { $link "ui.tools.deploy" } } + { "The deploy tool now supports Windows" } + { { $vocab-link "network-clipboard" } " - clipboard synchronization with a simple TCP/IP protocol" } +} +{ $subheading "UI" } +{ $list + { { $vocab-link "cairo" } " - updated for new module system, new features (Sampo Vuori)" } + { { $vocab-link "springies" } " - physics simulation UI demo (Eduardo Cavazos)" } + { { $vocab-link "ui.gadgets.buttons" } " - added check box and radio button gadgets" } + { "Double- and triple-click-drag now supported in the editor gadget to select words or lines at a time" } + { "Windows can be closed on request now using " { $link close-window } } + { "New icons (Elie Chaftari)" } +} +{ $subheading "Other" } +{ $list + { "The " { $snippet "queues" } " vocabulary has been removed because its functionality is a subset of " { $vocab-link "dlists" } } + { "The " { $vocab-link "webapps.cgi" } " vocabulary implements CGI support for the Factor HTTP server." } + { "The optimizing compiler no longer depends on the number tower and it is possible to bootstrap a minimal image by just passing " { $snippet "-include=compiler" } " to stage 2 bootstrap." } + { { $vocab-link "benchmark.knucleotide" } " - new benchmark (Eric Mertens)" } + { { $vocab-link "channels" } " - concurrent message passing over message channels" } + { { $vocab-link "destructors" } " - deterministic scope-based resource deallocation (Doug Coleman)" } + { { $vocab-link "dlists" } " - various updates (Doug Coleman)" } + { { $vocab-link "editors.emeditor" } " - EmEditor integration (Doug Coleman)" } + { { $vocab-link "editors.editplus" } " - EditPlus integration (Aaron Schaefer)" } + { { $vocab-link "editors.notepadpp" } " - Notepad++ integration (Doug Coleman)" } + { { $vocab-link "editors.ted-notepad" } " - TED Notepad integration (Doug Coleman)" } + { { $vocab-link "editors.ultraedit" } " - UltraEdit integration (Doug Coleman)" } + { { $vocab-link "heaps" } " - updated for new module system and cleaned up (Doug Coleman)" } + { { $vocab-link "peg" } " - Parser Expression Grammars, a new appoach to parser construction, similar to parser combinators (Chris Double)" } + { { $vocab-link "regexp" } " - revived from " { $snippet "unmaintained/" } " and completely redesigned (Doug Coleman)" } + { { $vocab-link "tuple.lib" } " - some utility words for working with tuples (Doug Coleman)" } +} { $heading "Factor 0.90" } { $subheading "Core" } { $list @@ -249,7 +310,7 @@ ARTICLE: "changes" "Changes in the latest release" "Most existing libraries were improved when ported to the new module system; the most notable changes include:" { $list { { $vocab-link "asn1" } ": ASN1 parser and writer. (Elie Chaftari)" } - { { $vocab-link "benchmarks" } ": new set of benchmarks." } + { { $vocab-link "benchmark" } ": new set of benchmarks." } { { $vocab-link "cfdg" } ": Context-free design grammar implementation; see " { $url "http://www.chriscoyne.com/cfdg/" } ". (Eduardo Cavazos)" } { { $vocab-link "cryptlib" } ": Cryptlib library binding. (Elie Chaftari)" } { { $vocab-link "cryptlib.streams" } ": Streams which perform SSL encryption and decryption. (Matthew Willis)" } diff --git a/extra/browser/analyzer/analyzer.factor b/extra/html/parser/analyzer/analyzer.factor old mode 100644 new mode 100755 similarity index 84% rename from extra/browser/analyzer/analyzer.factor rename to extra/html/parser/analyzer/analyzer.factor index 2384252e5a..9303b81055 --- a/extra/browser/analyzer/analyzer.factor +++ b/extra/html/parser/analyzer/analyzer.factor @@ -1,15 +1,23 @@ -USING: assocs browser.parser kernel math sequences strings ; -IN: browser.analyzer +USING: assocs html.parser kernel math sequences strings ; +IN: html.parser.analyzer -: remove-blank-text ( vector -- vector ) +: remove-blank-text ( vector -- vector' ) [ dup tag-name text = [ - tag-text [ blank? not ] all? + tag-text [ blank? ] all? not ] [ drop t ] if ] subset ; +: trim-text ( vector -- vector' ) + [ + dup tag-name text = [ + [ tag-text [ blank? ] trim ] keep + [ set-tag-text ] keep + ] when + ] map ; + : find-by-id ( id vector -- vector ) [ tag-attributes "id" swap at = ] curry* subset ; @@ -79,5 +87,5 @@ IN: browser.analyzer ! clear "/Users/erg/web/hostels.html" contents parse-html "Currency" "name" pick find-first-attribute-key-value ! clear "/Users/erg/web/hostels.html" contents parse-html -! "Currency" "name" pick find-first-attribute-key-value +! "Currency" "name" pick find-first-attribute-key-value ! pick find-between remove-blank-text diff --git a/extra/browser/parser/parser-tests.factor b/extra/html/parser/parser-tests.factor similarity index 97% rename from extra/browser/parser/parser-tests.factor rename to extra/html/parser/parser-tests.factor index b4cd87d542..c490b737d9 100644 --- a/extra/browser/parser/parser-tests.factor +++ b/extra/html/parser/parser-tests.factor @@ -1,4 +1,4 @@ -USING: browser.parser kernel tools.test ; +USING: html.parser kernel tools.test ; IN: temporary [ diff --git a/extra/browser/parser/parser.factor b/extra/html/parser/parser.factor similarity index 94% rename from extra/browser/parser/parser.factor rename to extra/html/parser/parser.factor index 9ef6113e63..7057cfe61e 100644 --- a/extra/browser/parser/parser.factor +++ b/extra/html/parser/parser.factor @@ -1,8 +1,7 @@ -USING: arrays browser.utils hashtables io kernel namespaces -prettyprint quotations +USING: arrays html.parser.utils hashtables io kernel +namespaces prettyprint quotations sequences splitting state-parser strings ; -USE: tools.interpreter -IN: browser.parser +IN: html.parser TUPLE: tag name attributes text matched? closing? ; @@ -121,7 +120,7 @@ SYMBOL: tagstack ] unless ; : parse-attributes ( -- hashtable ) - [ (parse-attributes) ] { } make >hashtable ; + [ (parse-attributes) ] { } make >hashtable ; : (parse-tag) [ diff --git a/extra/browser/printer/printer.factor b/extra/html/parser/printer/printer.factor similarity index 95% rename from extra/browser/printer/printer.factor rename to extra/html/parser/printer/printer.factor index a68d588afb..5ed9ab84c1 100644 --- a/extra/browser/printer/printer.factor +++ b/extra/html/parser/printer/printer.factor @@ -1,9 +1,9 @@ -USING: assocs browser.parser browser.utils combinators +USING: assocs html.parser html.parser.utils combinators continuations hashtables hashtables.private io kernel math namespaces prettyprint quotations sequences splitting state-parser strings ; -IN: browser.printer +IN: html.parser.printer SYMBOL: no-section SYMBOL: html @@ -42,7 +42,7 @@ HOOK: print-closing-named-tag printer ( tag -- ) M: printer print-text-tag ( tag -- ) tag-text write ; -M: printer print-comment-tag ( tag -- ) +M: printer print-comment-tag ( tag -- ) "" write ; @@ -67,7 +67,6 @@ M: printer print-closing-named-tag ( tag -- ) [ swap bl write "=" write ?quote write ] assoc-each ; - M: src-printer print-opening-named-tag ( tag -- ) "<" write @@ -102,7 +101,7 @@ SYMBOL: tablestack [ V{ } clone tablestack set ] with-scope ; - + ! { { 1 2 } { 3 4 } } ! H{ { table-gap { 10 10 } } } [ ! [ [ [ [ . ] with-cell ] each ] with-row ] each diff --git a/extra/browser/utils/utils-tests.factor b/extra/html/parser/utils/utils-tests.factor similarity index 97% rename from extra/browser/utils/utils-tests.factor rename to extra/html/parser/utils/utils-tests.factor index 9ae54c775f..fcac31a6aa 100644 --- a/extra/browser/utils/utils-tests.factor +++ b/extra/html/parser/utils/utils-tests.factor @@ -2,7 +2,7 @@ USING: assocs combinators continuations hashtables hashtables.private io kernel math namespaces prettyprint quotations sequences splitting state-parser strings tools.test ; -USING: browser.utils ; +USING: html.parser.utils ; IN: temporary [ "'Rome'" ] [ "Rome" single-quote ] unit-test diff --git a/extra/browser/utils/utils.factor b/extra/html/parser/utils/utils.factor similarity index 95% rename from extra/browser/utils/utils.factor rename to extra/html/parser/utils/utils.factor index 827c60d11d..febd1716ed 100644 --- a/extra/browser/utils/utils.factor +++ b/extra/html/parser/utils/utils.factor @@ -2,8 +2,8 @@ USING: assocs circular combinators continuations hashtables hashtables.private io kernel math namespaces prettyprint quotations sequences splitting state-parser strings ; -USING: browser.parser ; -IN: browser.utils +USING: html.parser ; +IN: html.parser.utils : string-parse-end? get-next not ; diff --git a/extra/inverse/inverse-docs.factor b/extra/inverse/inverse-docs.factor index 1551776982..f8ae3bfbdb 100644 --- a/extra/inverse/inverse-docs.factor +++ b/extra/inverse/inverse-docs.factor @@ -24,7 +24,7 @@ HELP: matches? { $values { "quot" "a quotation" } { "?" "a boolean" } } { $description "Tests if the stack can match the given quotation. The quotation is inverted, and if the inverse can run without a unification failure, then t is returned. Else f is returned. If a different error is encountered (such as stack underflow), this will be propagated." } ; -HELP: which +HELP: switch { $values { "quot-alist" "an alist from inverse quots to quots" } } { $description "The equivalent of a case expression in a programming language with buitlin pattern matchining. It attempts to match the stack with each of the patterns, in order, by treating them as inverse quotations. Failure causes the next pattern to be tested." } { $code @@ -34,7 +34,7 @@ HELP: which " {" " { [ ] [ sum + ] }" " { [ f ] [ 0 ] }" -" } which ;" } +" } switch ;" } { $see-also undo } ; ARTICLE: { "inverse" "intro" } "Invertible quotations" @@ -46,7 +46,7 @@ ARTICLE: { "inverse" "intro" } "Invertible quotations" "To use the inverse quotation for pattern matching" { $subsection undo } { $subsection matches? } -{ $subsection which } ; +{ $subsection switch } ; IN: inverse ABOUT: { "inverse" "intro" } diff --git a/extra/inverse/inverse-tests.factor b/extra/inverse/inverse-tests.factor index 8374caa9ff..a61be734fc 100644 --- a/extra/inverse/inverse-tests.factor +++ b/extra/inverse/inverse-tests.factor @@ -1,5 +1,6 @@ USING: inverse tools.test arrays math kernel sequences -math.functions ; +math.functions math.constants ; +IN: inverse-tests [ 2 ] [ { 3 2 } [ 3 swap 2array ] undo ] unit-test [ { 3 4 } [ dup 2array ] undo ] unit-test-fails @@ -20,7 +21,7 @@ C: foo { { [ dup 1+ 2array ] [ 3 * ] } { [ 3array ] [ + + ] } - } which ; + } switch ; [ 5 ] [ { 1 2 2 } something ] unit-test [ 6 ] [ { 2 3 } something ] unit-test @@ -35,6 +36,8 @@ C: foo [ { t t f } ] [ { t f 1 } [ [ >boolean ] matches? ] map ] unit-test [ { t f } ] [ { { 1 2 3 } 4 } [ [ >array ] matches? ] map ] unit-test [ 9 9 ] [ 3 [ 1/2 ^ ] undo 3 [ sqrt ] undo ] unit-test +[ 5 ] [ 6 5 - [ 6 swap - ] undo ] unit-test +[ 6 ] [ 6 5 - [ 5 - ] undo ] unit-test TUPLE: cons car cdr ; @@ -49,12 +52,19 @@ C: nil { [ ] [ list-sum + ] } { [ ] [ 0 ] } { [ ] [ "Malformed list" throw ] } - } which ; + } switch ; [ 10 ] [ 1 2 3 4 list-sum ] unit-test +[ ] [ [ ] undo ] unit-test +[ 1 2 ] [ 1 2 [ ] undo ] unit-test +[ t ] [ 1 2 [ ] matches? ] unit-test +[ f ] [ 1 2 [ ] matches? ] unit-test : empty-cons ( -- cons ) cons construct-empty ; : cons* ( cdr car -- cons ) { set-cons-cdr set-cons-car } cons construct ; [ ] [ T{ cons f f f } [ empty-cons ] undo ] unit-test [ 1 2 ] [ 2 1 [ cons* ] undo ] unit-test + +[ t ] [ pi [ pi ] matches? ] unit-test +[ 0.0 ] [ 0.0 pi + [ pi + ] undo ] unit-test diff --git a/extra/inverse/inverse.factor b/extra/inverse/inverse.factor index 5d0981f06f..583ae610c0 100644 --- a/extra/inverse/inverse.factor +++ b/extra/inverse/inverse.factor @@ -1,18 +1,9 @@ USING: kernel words inspector slots quotations sequences assocs math arrays inference effects shuffle continuations debugger tuples namespaces vectors bit-arrays byte-arrays strings sbufs -math.functions macros ; +math.functions macros combinators.private combinators ; IN: inverse -: (repeat) ( from to quot -- ) - pick pick >= [ - 3drop - ] [ - [ swap >r call 1+ r> ] keep (repeat) - ] if ; inline - -: repeat ( n quot -- ) 0 -rot (repeat) ; inline - TUPLE: fail ; : fail ( -- * ) \ fail construct-empty throw ; M: fail summary drop "Unification failed" ; @@ -26,58 +17,100 @@ M: fail summary drop "Unification failed" ; : define-inverse ( word quot -- ) "inverse" set-word-prop ; -DEFER: [undo] +: define-math-inverse ( word quot1 quot2 -- ) + pick 1quotation 3array "math-inverse" set-word-prop ; -: make-inverse ( word -- quot ) - word-def [undo] ; +: define-pop-inverse ( word n quot -- ) + >r dupd "pop-length" set-word-prop r> + "pop-inverse" set-word-prop ; TUPLE: no-inverse word ; : no-inverse ( word -- * ) \ no-inverse construct-empty throw ; M: no-inverse summary drop "The word cannot be used in pattern matching" ; -GENERIC: inverse ( word -- quot ) +: next ( revquot -- revquot* first ) + dup empty? + [ "Badly formed math inverse" throw ] + [ unclip-slice ] if ; -M: word inverse - dup "inverse" word-prop [ ] - [ dup primitive? [ no-inverse ] [ make-inverse ] if ] ?if ; +: constant-word? ( word -- ? ) + stack-effect + [ effect-out length 1 = ] keep + effect-in length 0 = and ; -: undo-literal ( object -- quot ) - [ =/fail ] curry ; +: assure-constant ( constant -- quot ) + dup word? [ "Badly formed math inverse" throw ] when 1quotation ; -M: object inverse undo-literal ; -M: symbol inverse undo-literal ; +: swap-inverse ( math-inverse revquot -- revquot* quot ) + next assure-constant rot second [ swap ] swap 3compose ; + +: pull-inverse ( math-inverse revquot const -- revquot* quot ) + assure-constant rot first compose ; : ?word-prop ( word/object name -- value/f ) over word? [ word-prop ] [ 2drop f ] if ; -: group-pops ( seq -- matrix ) - [ - dup length [ - 2dup swap nth dup "pop-length" ?word-prop - [ 1+ dupd + tuck >r pick r> swap subseq , 1- ] - [ 1quotation , ] ?if - ] repeat drop - ] [ ] make ; +: undo-literal ( object -- quot ) + [ =/fail ] curry ; -: inverse-pop ( quot -- inverse ) - unclip >r reverse r> "pop-inverse" word-prop call ; +PREDICATE: word normal-inverse "inverse" word-prop ; +PREDICATE: word math-inverse "math-inverse" word-prop ; +PREDICATE: word pop-inverse "pop-length" word-prop ; +UNION: explicit-inverse normal-inverse math-inverse pop-inverse ; -: firstn ( n -- quot ) - { [ drop ] [ first ] [ first2 ] [ first3 ] [ first4 ] } nth ; +: inline-word ( word -- ) + { + { [ dup word? not over symbol? or ] [ , ] } + { [ dup explicit-inverse? ] [ , ] } + { [ dup compound? over { if dispatch } member? not and ] + [ word-def [ inline-word ] each ] } + { [ drop t ] [ "Quotation is not invertible" throw ] } + } cond ; -: define-pop-inverse ( word n quot -- ) - -rot 2dup "pop-length" set-word-prop - firstn rot append "pop-inverse" set-word-prop ; +: math-exp? ( n n word -- ? ) + { + - * / ^ } member? -rot [ number? ] 2apply and and ; + +: (fold-constants) ( quot -- ) + dup length 3 < [ % ] [ + dup first3 3dup math-exp? + [ execute , 3 ] [ 2drop , 1 ] if + tail-slice (fold-constants) + ] if ; + +: fold-constants ( quot -- folded ) + [ (fold-constants) ] [ ] make ; + +: do-inlining ( quot -- inlined-quot ) + [ [ inline-word ] each ] [ ] make fold-constants ; + +GENERIC: inverse ( revquot word -- revquot* quot ) + +M: object inverse undo-literal ; +M: symbol inverse undo-literal ; + +M: normal-inverse inverse + "inverse" word-prop ; + +M: math-inverse inverse + "math-inverse" word-prop + swap next dup \ swap = + [ drop swap-inverse ] [ pull-inverse ] if ; + +M: pop-inverse inverse + [ "pop-length" word-prop cut-slice swap ] keep + "pop-inverse" word-prop compose call ; + +: (undo) ( revquot -- ) + dup empty? [ drop ] + [ unclip-slice inverse % (undo) ] if ; : [undo] ( quot -- undo ) - reverse group-pops [ - dup length 1 = [ first inverse ] [ inverse-pop ] if - ] map concat [ ] like ; + do-inlining reverse [ (undo) ] [ ] make ; MACRO: undo ( quot -- ) [undo] ; -! Inversions of selected words +! Inverse of selected words \ swap [ swap ] define-inverse \ dup [ [ =/fail ] keep ] define-inverse @@ -96,8 +129,6 @@ MACRO: undo ( quot -- ) [undo] ; \ undo 1 [ [ call ] curry ] define-pop-inverse \ map 1 [ [undo] [ over sequence? assure map ] curry ] define-pop-inverse -\ neg [ neg ] define-inverse -\ recip [ recip ] define-inverse \ exp [ log ] define-inverse \ log [ exp ] define-inverse \ not [ not ] define-inverse @@ -107,11 +138,11 @@ MACRO: undo ( quot -- ) [undo] ; : assert-literal ( n -- n ) dup [ word? ] keep symbol? not and [ "Literal missing in pattern matching" throw ] when ; -\ + 1 [ assert-literal [ - ] curry ] define-pop-inverse -\ - 1 [ assert-literal [ + ] curry ] define-pop-inverse -\ * 1 [ assert-literal [ / ] curry ] define-pop-inverse -\ / 1 [ assert-literal [ * ] curry ] define-pop-inverse -\ ^ 1 [ assert-literal recip [ ^ ] curry ] define-pop-inverse +\ + [ - ] [ - ] define-math-inverse +\ - [ + ] [ - ] define-math-inverse +\ * [ / ] [ / ] define-math-inverse +\ / [ * ] [ / ] define-math-inverse +\ ^ [ recip ^ ] [ [ log ] 2apply / ] define-math-inverse \ ? 2 [ [ assert-literal ] 2apply @@ -160,13 +191,13 @@ MACRO: undo ( quot -- ) [undo] ; : slot-readers ( class -- quot ) "slots" word-prop 1 tail ! tail gets rid of delegate [ slot-spec-reader 1quotation [ keep ] curry ] map concat - [ drop ] append ; + [ ] like [ drop ] compose ; : ?wrapped ( object -- wrapped ) dup wrapper? [ wrapped ] when ; : boa-inverse ( class -- quot ) - [ deconstruct-pred ] keep slot-readers append ; + [ deconstruct-pred ] keep slot-readers compose ; \ construct-boa 1 [ ?wrapped boa-inverse ] define-pop-inverse @@ -186,7 +217,7 @@ MACRO: undo ( quot -- ) [undo] ; [ writer>reader ] map [ get-slots ] curry compose ; -\ construct 2 [ ?wrapped swap construct-inverse ] define-pop-inverse +\ construct 2 [ >r ?wrapped r> construct-inverse ] define-pop-inverse ! More useful inverse-based combinators @@ -196,21 +227,27 @@ MACRO: undo ( quot -- ) [undo] ; [ drop call ] [ nip throw ] if ] recover ; inline -: infer-out ( quot -- #out ) - infer effect-out ; +: true-out ( quot effect -- quot' ) + effect-out [ ndrop ] curry + [ t ] 3compose ; -MACRO: matches? ( quot -- ? ) - [undo] [ t ] append - [ [ [ f ] recover-fail ] curry ] keep - infer-out 1- [ nnip ] curry append ; +: false-recover ( effect -- quot ) + effect-in [ ndrop f ] curry [ recover-fail ] curry ; + +: [matches?] ( quot -- undoes?-quot ) + [undo] dup infer [ true-out ] keep false-recover curry ; + +MACRO: matches? ( quot -- ? ) [matches?] ; TUPLE: no-match ; : no-match ( -- * ) \ no-match construct-empty throw ; -M: no-match summary drop "Fall through in which" ; +M: no-match summary drop "Fall through in switch" ; : recover-chain ( seq -- quot ) [ no-match ] [ swap \ recover-fail 3array >quotation ] reduce ; -MACRO: which ( quot-alist -- ) - reverse [ >r [undo] r> append ] { } assoc>map +: [switch] ( quot-alist -- quot ) + reverse [ >r [undo] r> compose ] { } assoc>map recover-chain ; + +MACRO: switch ( quot-alist -- ) [switch] ; diff --git a/extra/jamshred/tunnel/tunnel-tests.factor b/extra/jamshred/tunnel/tunnel-tests.factor index e78ced83e0..2ea8a64bd9 100644 --- a/extra/jamshred/tunnel/tunnel-tests.factor +++ b/extra/jamshred/tunnel/tunnel-tests.factor @@ -12,4 +12,4 @@ IN: temporary [ 3 ] [ T{ oint f { 0 0 -3.25 } } 0 nearest-segment-forward segment-number ] unit-test -[ { 0 0 0 } ] [ T{ oint f { 0 0 -0.25 } } over first nearest-segment oint-location ] unit-test +[ F{ 0 0 0 } ] [ T{ oint f { 0 0 -0.25 } } over first nearest-segment oint-location ] unit-test diff --git a/extra/parser-combinators/parser-combinators-tests.factor b/extra/parser-combinators/parser-combinators-tests.factor index 59ef383c87..8d55cc5770 100644 --- a/extra/parser-combinators/parser-combinators-tests.factor +++ b/extra/parser-combinators/parser-combinators-tests.factor @@ -149,5 +149,3 @@ IN: scratchpad { { } } [ "234" "1" token <+> parse list>array ] unit-test - - diff --git a/extra/parser-combinators/parser-combinators.factor b/extra/parser-combinators/parser-combinators.factor index 5741c801f7..874dedeb6f 100755 --- a/extra/parser-combinators/parser-combinators.factor +++ b/extra/parser-combinators/parser-combinators.factor @@ -1,128 +1,149 @@ ! Copyright (C) 2004 Chris Double. ! See http://factorcode.org/license.txt for BSD license. -USING: lazy-lists promises kernel sequences strings math io -arrays namespaces splitting ; +USING: lazy-lists promises kernel sequences strings math +arrays splitting quotations combinators ; IN: parser-combinators ! Parser combinator protocol -GENERIC: (parse) ( input parser -- list ) +GENERIC: parse ( input parser -- list ) -M: promise (parse) ( input parser -- list ) - force (parse) ; - -: parse ( input parser -- promise ) - (parse) ; +M: promise parse ( input parser -- list ) + force parse ; TUPLE: parse-result parsed unparsed ; : parse-1 ( input parser -- result ) - parse car parse-result-parsed ; + dupd parse dup nil? [ + "Cannot parse " rot append throw + ] [ + nip car parse-result-parsed + ] if ; C: parse-result +: parse-result-parsed-slice ( parse-result -- slice ) + dup parse-result-parsed empty? [ + parse-result-unparsed 0 0 rot + ] [ + dup parse-result-unparsed + dup slice-from [ rot parse-result-parsed length - ] keep + rot slice-seq + ] if ; + TUPLE: token-parser string ; C: token token-parser ( string -- parser ) -M: token-parser (parse) ( input parser -- list ) - token-parser-string swap over ?head-slice [ - 1list - ] [ - 2drop nil - ] if ; +M: token-parser parse ( input parser -- list ) + token-parser-string swap over ?head-slice [ + 1list + ] [ + 2drop nil + ] if ; + +: 1token ( n -- parser ) 1string token ; TUPLE: satisfy-parser quot ; C: satisfy satisfy-parser ( quot -- parser ) -M: satisfy-parser (parse) ( input parser -- list ) - #! A parser that succeeds if the predicate, - #! when passed the first character in the input, returns - #! true. - over empty? [ - 2drop nil - ] [ - satisfy-parser-quot >r unclip-slice dup r> call [ - swap 1list +M: satisfy-parser parse ( input parser -- list ) + #! A parser that succeeds if the predicate, + #! when passed the first character in the input, returns + #! true. + over empty? [ + 2drop nil ] [ - 2drop nil - ] if - ] if ; + satisfy-parser-quot >r unclip-slice dup r> call [ + swap 1list + ] [ + 2drop nil + ] if + ] if ; LAZY: any-char-parser ( -- parser ) - [ drop t ] satisfy ; + [ drop t ] satisfy ; TUPLE: epsilon-parser ; C: epsilon epsilon-parser ( -- parser ) -M: epsilon-parser (parse) ( input parser -- list ) - #! A parser that parses the empty string. It - #! does not consume any input and always returns - #! an empty list as the parse tree with the - #! unmodified input. - drop "" swap 1list ; +M: epsilon-parser parse ( input parser -- list ) + #! A parser that parses the empty string. It + #! does not consume any input and always returns + #! an empty list as the parse tree with the + #! unmodified input. + drop "" swap 1list ; TUPLE: succeed-parser result ; C: succeed succeed-parser ( result -- parser ) -M: succeed-parser (parse) ( input parser -- list ) - #! A parser that always returns 'result' as a - #! successful parse with no input consumed. - succeed-parser-result swap 1list ; +M: succeed-parser parse ( input parser -- list ) + #! A parser that always returns 'result' as a + #! successful parse with no input consumed. + succeed-parser-result swap 1list ; TUPLE: fail-parser ; C: fail fail-parser ( -- parser ) -M: fail-parser (parse) ( input parser -- list ) - #! A parser that always fails and returns - #! an empty list of successes. - 2drop nil ; +M: fail-parser parse ( input parser -- list ) + #! A parser that always fails and returns + #! an empty list of successes. + 2drop nil ; TUPLE: and-parser parsers ; : <&> ( parser1 parser2 -- parser ) - over and-parser? [ - >r and-parser-parsers r> add - ] [ - 2array - ] if \ and-parser construct-boa ; + over and-parser? [ + >r and-parser-parsers r> add + ] [ + 2array + ] if and-parser construct-boa ; + +: ( parsers -- parser ) + dup length 1 = [ first ] [ and-parser construct-boa ] if ; : and-parser-parse ( list p1 -- list ) - swap [ - dup parse-result-unparsed rot parse - [ - >r parse-result-parsed r> - [ parse-result-parsed 2array ] keep - parse-result-unparsed - ] lmap-with - ] lmap-with lconcat ; + swap [ + dup parse-result-unparsed rot parse + [ + >r parse-result-parsed r> + [ parse-result-parsed 2array ] keep + parse-result-unparsed + ] lmap-with + ] lmap-with lconcat ; -M: and-parser (parse) ( input parser -- list ) - #! Parse 'input' by sequentially combining the - #! two parsers. First parser1 is applied to the - #! input then parser2 is applied to the rest of - #! the input strings from the first parser. - and-parser-parsers unclip swapd parse [ [ and-parser-parse ] reduce ] 2curry promise ; +M: and-parser parse ( input parser -- list ) + #! Parse 'input' by sequentially combining the + #! two parsers. First parser1 is applied to the + #! input then parser2 is applied to the rest of + #! the input strings from the first parser. + and-parser-parsers unclip swapd parse + [ [ and-parser-parse ] reduce ] 2curry promise ; -TUPLE: or-parser p1 p2 ; +TUPLE: or-parser parsers ; -C: <|> or-parser ( parser1 parser2 -- parser ) +: ( parsers -- parser ) + dup length 1 = [ first ] [ or-parser construct-boa ] if ; -M: or-parser (parse) ( input parser1 -- list ) - #! Return the combined list resulting from the parses - #! of parser1 and parser2 being applied to the same - #! input. This implements the choice parsing operator. - [ or-parser-p1 ] keep or-parser-p2 >r dupd parse swap r> parse lappend ; +: <|> ( parser1 parser2 -- parser ) + 2array ; + +M: or-parser parse ( input parser1 -- list ) + #! Return the combined list resulting from the parses + #! of parser1 and parser2 being applied to the same + #! input. This implements the choice parsing operator. + or-parser-parsers 0 swap seq>list + [ parse ] lmap-with lconcat ; : left-trim-slice ( string -- string ) - #! Return a new string without any leading whitespace - #! from the original string. - dup empty? [ - dup first blank? [ 1 tail-slice left-trim-slice ] when - ] unless ; + #! Return a new string without any leading whitespace + #! from the original string. + dup empty? [ + dup first blank? [ 1 tail-slice left-trim-slice ] when + ] unless ; TUPLE: sp-parser p1 ; @@ -130,111 +151,115 @@ TUPLE: sp-parser p1 ; #! calling the original parser. C: sp sp-parser ( p1 -- parser ) -M: sp-parser (parse) ( input parser -- list ) - #! Skip all leading whitespace from the input then call - #! the parser on the remaining input. - >r left-trim-slice r> sp-parser-p1 parse ; +M: sp-parser parse ( input parser -- list ) + #! Skip all leading whitespace from the input then call + #! the parser on the remaining input. + >r left-trim-slice r> sp-parser-p1 parse ; TUPLE: just-parser p1 ; C: just just-parser ( p1 -- parser ) -M: just-parser (parse) ( input parser -- result ) - #! Calls the given parser on the input removes - #! from the results anything where the remaining - #! input to be parsed is not empty. So ensures a - #! fully parsed input string. - just-parser-p1 parse [ parse-result-unparsed empty? ] lsubset ; +M: just-parser parse ( input parser -- result ) + #! Calls the given parser on the input removes + #! from the results anything where the remaining + #! input to be parsed is not empty. So ensures a + #! fully parsed input string. + just-parser-p1 parse [ parse-result-unparsed empty? ] lsubset ; TUPLE: apply-parser p1 quot ; C: <@ apply-parser ( parser quot -- parser ) -M: apply-parser (parse) ( input parser -- result ) - #! Calls the parser on the input. For each successfull - #! parse the quot is call with the parse result on the stack. - #! The result of that quotation then becomes the new parse result. - #! This allows modification of parse tree results (like - #! converting strings to integers, etc). - [ apply-parser-p1 ] keep apply-parser-quot - -rot parse [ - [ parse-result-parsed swap call ] keep - parse-result-unparsed - ] lmap-with ; +M: apply-parser parse ( input parser -- result ) + #! Calls the parser on the input. For each successfull + #! parse the quot is call with the parse result on the stack. + #! The result of that quotation then becomes the new parse result. + #! This allows modification of parse tree results (like + #! converting strings to integers, etc). + [ apply-parser-p1 ] keep apply-parser-quot + -rot parse [ + [ parse-result-parsed swap call ] keep + parse-result-unparsed + ] lmap-with ; TUPLE: some-parser p1 ; C: some some-parser ( p1 -- parser ) -M: some-parser (parse) ( input parser -- result ) - #! Calls the parser on the input, guarantees - #! the parse is complete (the remaining input is empty), - #! picks the first solution and only returns the parse - #! tree since the remaining input is empty. - some-parser-p1 just parse-1 ; - +M: some-parser parse ( input parser -- result ) + #! Calls the parser on the input, guarantees + #! the parse is complete (the remaining input is empty), + #! picks the first solution and only returns the parse + #! tree since the remaining input is empty. + some-parser-p1 just parse-1 ; : <& ( parser1 parser2 -- parser ) - #! Same as <&> except discard the results of the second parser. - <&> [ first ] <@ ; + #! Same as <&> except discard the results of the second parser. + <&> [ first ] <@ ; : &> ( parser1 parser2 -- parser ) - #! Same as <&> except discard the results of the first parser. - <&> [ second ] <@ ; + #! Same as <&> except discard the results of the first parser. + <&> [ second ] <@ ; : <:&> ( parser1 parser2 -- result ) - #! Same as <&> except flatten the result. - <&> [ dup second swap first [ % , ] { } make ] <@ ; + #! Same as <&> except flatten the result. + <&> [ first2 add ] <@ ; : <&:> ( parser1 parser2 -- result ) - #! Same as <&> except flatten the result. - <&> [ dup second swap first [ , % ] { } make ] <@ ; + #! Same as <&> except flatten the result. + <&> [ first2 swap add* ] <@ ; + +: <:&:> ( parser1 parser2 -- result ) + #! Same as <&> except flatten the result. + <&> [ first2 append ] <@ ; LAZY: <*> ( parser -- parser ) - dup <*> <&:> { } succeed <|> ; + dup <*> <&:> { } succeed <|> ; : <+> ( parser -- parser ) - #! Return a parser that accepts one or more occurences of the original - #! parser. - dup <*> <&:> ; + #! Return a parser that accepts one or more occurences of the original + #! parser. + dup <*> <&:> ; LAZY: ( parser -- parser ) - #! Return a parser that optionally uses the parser - #! if that parser would be successfull. - [ 1array ] <@ f succeed <|> ; + #! Return a parser that optionally uses the parser + #! if that parser would be successfull. + [ 1array ] <@ f succeed <|> ; TUPLE: only-first-parser p1 ; -LAZY: only-first ( parser -- parser ) - \ only-first-parser construct-boa ; -M: only-first-parser (parse) ( input parser -- list ) - #! Transform a parser into a parser that only yields - #! the first possibility. - only-first-parser-p1 parse 1 swap ltake ; +LAZY: only-first ( parser -- parser ) + only-first-parser construct-boa ; + +M: only-first-parser parse ( input parser -- list ) + #! Transform a parser into a parser that only yields + #! the first possibility. + only-first-parser-p1 parse 1 swap ltake ; LAZY: ( parser -- parser ) - #! Like <*> but only return one possible result - #! containing all matching parses. Does not return - #! partial matches. Useful for efficiency since that's - #! usually the effect you want and cuts down on backtracking - #! required. - <*> only-first ; + #! Like <*> but only return one possible result + #! containing all matching parses. Does not return + #! partial matches. Useful for efficiency since that's + #! usually the effect you want and cuts down on backtracking + #! required. + <*> only-first ; LAZY: ( parser -- parser ) - #! Like <+> but only return one possible result - #! containing all matching parses. Does not return - #! partial matches. Useful for efficiency since that's - #! usually the effect you want and cuts down on backtracking - #! required. - <+> only-first ; + #! Like <+> but only return one possible result + #! containing all matching parses. Does not return + #! partial matches. Useful for efficiency since that's + #! usually the effect you want and cuts down on backtracking + #! required. + <+> only-first ; LAZY: ( parser -- parser ) - #! Like but only return one possible result - #! containing all matching parses. Does not return - #! partial matches. Useful for efficiency since that's - #! usually the effect you want and cuts down on backtracking - #! required. - only-first ; + #! Like but only return one possible result + #! containing all matching parses. Does not return + #! partial matches. Useful for efficiency since that's + #! usually the effect you want and cuts down on backtracking + #! required. + only-first ; LAZY: <(*)> ( parser -- parser ) #! Like <*> but take shortest match first. @@ -247,20 +272,37 @@ LAZY: <(+)> ( parser -- parser ) dup <(*)> <&:> ; : pack ( close body open -- parser ) - #! Parse a construct enclosed by two symbols, - #! given a parser for the opening symbol, the - #! closing symbol, and the body. - <& &> ; + #! Parse a construct enclosed by two symbols, + #! given a parser for the opening symbol, the + #! closing symbol, and the body. + <& &> ; : nonempty-list-of ( items separator -- parser ) - [ over &> <*> <&:> ] keep tuck pack ; + [ over &> <*> <&:> ] keep tuck pack ; : list-of ( items separator -- parser ) - #! Given a parser for the separator and for the - #! items themselves, return a parser that parses - #! lists of those items. The parse tree is an - #! array of the parsed items. - nonempty-list-of { } succeed <|> ; + #! Given a parser for the separator and for the + #! items themselves, return a parser that parses + #! lists of those items. The parse tree is an + #! array of the parsed items. + nonempty-list-of { } succeed <|> ; LAZY: surrounded-by ( parser start end -- parser' ) - [ token ] 2apply swapd pack ; \ No newline at end of file + [ token ] 2apply swapd pack ; + +: exactly-n ( parser n -- parser' ) + swap ; + +: at-most-n ( parser n -- parser' ) + dup zero? [ + 2drop epsilon + ] [ + 2dup exactly-n + -rot 1- at-most-n <|> + ] if ; + +: at-least-n ( parser n -- parser' ) + dupd exactly-n swap <*> <&> ; + +: from-m-to-n ( parser m n -- parser' ) + >r [ exactly-n ] 2keep r> swap - at-most-n <&> ; diff --git a/extra/peg/authors.txt b/extra/peg/authors.txt new file mode 100644 index 0000000000..44b06f94bc --- /dev/null +++ b/extra/peg/authors.txt @@ -0,0 +1 @@ +Chris Double diff --git a/extra/peg/ebnf/authors.txt b/extra/peg/ebnf/authors.txt new file mode 100644 index 0000000000..44b06f94bc --- /dev/null +++ b/extra/peg/ebnf/authors.txt @@ -0,0 +1 @@ +Chris Double diff --git a/extra/peg/ebnf/ebnf-tests.factor b/extra/peg/ebnf/ebnf-tests.factor new file mode 100644 index 0000000000..a308b9af52 --- /dev/null +++ b/extra/peg/ebnf/ebnf-tests.factor @@ -0,0 +1,99 @@ +! Copyright (C) 2007 Chris Double. +! See http://factorcode.org/license.txt for BSD license. +! +USING: kernel tools.test peg peg.ebnf ; +IN: temporary + +{ T{ ebnf-non-terminal f "abc" } } [ + "abc" 'non-terminal' parse parse-result-ast +] unit-test + +{ T{ ebnf-terminal f "55" } } [ + "'55'" 'terminal' parse parse-result-ast +] unit-test + +{ + T{ ebnf-rule f + "digit" + V{ + T{ ebnf-choice f + V{ T{ ebnf-terminal f "1" } T{ ebnf-terminal f "2" } } + } + f + } + } +} [ + "digit = '1' | '2'" 'rule' parse parse-result-ast +] unit-test + +{ + T{ ebnf-rule f + "digit" + V{ + T{ ebnf-sequence f + V{ T{ ebnf-terminal f "1" } T{ ebnf-terminal f "2" } } + } + f + } + } +} [ + "digit = '1' '2'" 'rule' parse parse-result-ast +] 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 parse-result-ast +] unit-test + +{ + T{ ebnf-sequence f + V{ + T{ ebnf-non-terminal f "one" } + T{ ebnf-choice f + V{ T{ ebnf-non-terminal f "two" } T{ ebnf-non-terminal f "three" } } + } + } + } +} [ + "one (two | three)" 'choice' parse parse-result-ast +] 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 parse-result-ast +] 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 parse-result-ast +] unit-test diff --git a/extra/peg/ebnf/ebnf.factor b/extra/peg/ebnf/ebnf.factor new file mode 100644 index 0000000000..e55ee9d852 --- /dev/null +++ b/extra/peg/ebnf/ebnf.factor @@ -0,0 +1,184 @@ +! Copyright (C) 2007 Chris Double. +! See http://factorcode.org/license.txt for BSD license. +USING: kernel parser words arrays strings math.parser sequences + quotations vectors namespaces math assocs continuations peg ; +IN: peg.ebnf + +TUPLE: ebnf-non-terminal symbol ; +TUPLE: ebnf-terminal symbol ; +TUPLE: ebnf-choice options ; +TUPLE: ebnf-sequence elements ; +TUPLE: ebnf-repeat0 group ; +TUPLE: ebnf-optional elements ; +TUPLE: ebnf-rule symbol elements ; +TUPLE: ebnf-action word ; +TUPLE: ebnf rules ; + +C: ebnf-non-terminal +C: ebnf-terminal +C: ebnf-choice +C: ebnf-sequence +C: ebnf-repeat0 +C: ebnf-optional +C: ebnf-rule +C: ebnf-action +C: ebnf + +SYMBOL: parsers +SYMBOL: non-terminals +SYMBOL: last-parser + +: reset-parser-generation ( -- ) + V{ } clone parsers set + H{ } clone non-terminals set + f last-parser set ; + +: store-parser ( parser -- number ) + parsers get [ push ] keep length 1- ; + +: get-parser ( index -- parser ) + parsers get nth ; + +: non-terminal-index ( name -- number ) + dup non-terminals get at [ + nip + ] [ + f store-parser [ swap non-terminals get set-at ] keep + ] if* ; + +GENERIC: (generate-parser) ( ast -- id ) + +: generate-parser ( ast -- id ) + (generate-parser) dup last-parser set ; + +M: ebnf-terminal (generate-parser) ( ast -- id ) + ebnf-terminal-symbol token sp store-parser ; + +M: ebnf-non-terminal (generate-parser) ( ast -- id ) + [ + ebnf-non-terminal-symbol dup non-terminal-index , + parsers get , \ nth , [ search ] [ 2drop f ] recover , \ or , + ] [ ] make delay sp store-parser ; + +M: ebnf-choice (generate-parser) ( ast -- id ) + ebnf-choice-options [ + generate-parser get-parser + ] map choice store-parser ; + +M: ebnf-sequence (generate-parser) ( ast -- id ) + ebnf-sequence-elements [ + generate-parser get-parser + ] map seq store-parser ; + +M: ebnf-repeat0 (generate-parser) ( ast -- id ) + ebnf-repeat0-group generate-parser get-parser repeat0 store-parser ; + +M: ebnf-optional (generate-parser) ( ast -- id ) + ebnf-optional-elements generate-parser get-parser optional store-parser ; + +M: ebnf-rule (generate-parser) ( ast -- id ) + dup ebnf-rule-symbol non-terminal-index swap + ebnf-rule-elements generate-parser get-parser ! nt-id body + swap [ parsers get set-nth ] keep ; + +M: ebnf-action (generate-parser) ( ast -- id ) + ebnf-action-word search 1quotation + last-parser get get-parser swap action store-parser ; + +M: vector (generate-parser) ( ast -- id ) + [ generate-parser ] map peek ; + +M: f (generate-parser) ( ast -- id ) + drop last-parser get ; + +M: ebnf (generate-parser) ( ast -- id ) + ebnf-rules [ + generate-parser + ] map peek ; + +DEFER: 'rhs' + +: 'non-terminal' ( -- parser ) + CHAR: a CHAR: z range repeat1 [ >string ] action ; + +: 'terminal' ( -- parser ) + "'" token hide [ CHAR: ' = not ] satisfy repeat1 "'" token hide 3array seq [ first >string ] action ; + +: 'element' ( -- parser ) + 'non-terminal' 'terminal' 2array choice ; + +DEFER: 'choice' + +: 'group' ( -- parser ) + "(" token sp hide + [ 'choice' sp ] delay + ")" token sp hide + 3array seq [ first ] action ; + +: 'repeat0' ( -- parser ) + "{" token sp hide + [ 'choice' sp ] delay + "}" token sp hide + 3array seq [ first ] action ; + +: 'optional' ( -- parser ) + "[" token sp hide + [ 'choice' sp ] delay + "]" token sp hide + 3array seq [ first ] action ; + +: 'sequence' ( -- parser ) + [ + 'element' sp , + 'group' sp , + 'repeat0' sp , + 'optional' sp , + ] { } make choice + repeat1 [ + dup length 1 = [ first ] [ ] if + ] action ; + +: 'choice' ( -- parser ) + 'sequence' sp "|" token sp list-of [ + dup length 1 = [ first ] [ ] if + ] action ; + +: 'action' ( -- parser ) + "=>" token hide + [ blank? ] satisfy ensure-not [ drop t ] satisfy 2array seq [ first ] action repeat1 [ >string ] action sp + 2array seq [ first ] action ; + +: 'rhs' ( -- parser ) + 'choice' 'action' sp optional 2array seq ; + +: 'rule' ( -- parser ) + 'non-terminal' [ ebnf-non-terminal-symbol ] action + "=" token sp hide + 'rhs' + 3array seq [ first2 ] action ; + +: 'ebnf' ( -- parser ) + 'rule' sp "." token sp hide list-of [ ] action ; + +: ebnf>quot ( string -- quot ) + 'ebnf' parse [ + parse-result-ast [ + reset-parser-generation + generate-parser drop + [ + non-terminals get + [ + get-parser [ + swap , \ in , \ get , \ create , + 1quotation , \ define-compound , + ] [ + drop + ] if* + ] assoc-each + ] [ ] make + ] with-scope + ] [ + f + ] if* ; + +: " parse-tokens " " join ebnf>quot call ; parsing \ No newline at end of file diff --git a/extra/peg/ebnf/summary.txt b/extra/peg/ebnf/summary.txt new file mode 100644 index 0000000000..473cf4f3a2 --- /dev/null +++ b/extra/peg/ebnf/summary.txt @@ -0,0 +1 @@ +Grammar for parsing EBNF diff --git a/extra/peg/peg-docs.factor b/extra/peg/peg-docs.factor new file mode 100644 index 0000000000..63b9d44310 --- /dev/null +++ b/extra/peg/peg-docs.factor @@ -0,0 +1,150 @@ +! Copyright (C) 2007 Chris Double. +! See http://factorcode.org/license.txt for BSD license. +USING: help.markup help.syntax peg ; + +HELP: parse +{ $values + { "string" "a string" } + { "parse" "a parser" } + { "result" "a or f" } +} +{ $description + "Given the input string, parse it using the given parser. The result is a object if " + "the parse was successful, otherwise it is f." } ; + +HELP: token +{ $values + { "string" "a string" } + { "parser" "a parser" } +} +{ $description + "Returns a parser that matches the given string." } ; + +HELP: satisfy +{ $values + { "quot" "a quotation" } + { "parser" "a parser" } +} +{ $description + "Returns a parser that calls the quotation on the first character of the input string, " + "succeeding if that quotation returns true. The AST is the character from the string." } ; + +HELP: range +{ $values + { "min" "a character" } + { "max" "a character" } + { "parser" "a parser" } +} +{ $description + "Returns a parser that matches a single character that lies within the range of characters given, inclusive." } +{ $example ": digit ( -- parser ) CHAR: 0 CHAR: 9 range ;" } ; + +HELP: seq +{ $values + { "seq" "a sequence of parsers" } + { "parser" "a parser" } +} +{ $description + "Returns a parser that calls all parsers in the given sequence, in order. The parser succeeds if " + "all the parsers succeed, otherwise it fails. The AST produced is a sequence of the AST produced by " + "the individual parsers." } ; + +HELP: choice +{ $values + { "seq" "a sequence of parsers" } + { "parser" "a parser" } +} +{ $description + "Returns a parser that will try all the parsers in the sequence, in order, until one succeeds. " + "The resulting AST is that produced by the successful parser." } ; + +HELP: repeat0 +{ $values + { "p1" "a parser" } + { "p2" "a parser" } +} +{ $description + "Returns a parser that parses 0 or more instances of the 'p1' parser. The AST produced is " + "an array of the AST produced by the 'p1' parser. An empty array indicates 0 instances were " + "parsed." } ; + +HELP: repeat1 +{ $values + { "p1" "a parser" } + { "p2" "a parser" } +} +{ $description + "Returns a parser that parses 1 or more instances of the 'p1' parser. The AST produced is " + "an array of the AST produced by the 'p1' parser." } ; + +HELP: optional +{ $values + { "p1" "a parser" } + { "p2" "a parser" } +} +{ $description + "Returns a parser that parses 0 or 1 instances of the 'p1' parser. The AST produced is " + "'f' if 0 instances are parsed the AST produced is 'f', otherwise it is the AST produced by 'p1'." } ; + +HELP: ensure +{ $values + { "p1" "a parser" } + { "p2" "a parser" } +} +{ $description + "Returns a parser that succeeds if the 'p1' parser succeeds but does not add anything to the " + "AST and does not move the location in the input string. This can be used for lookahead and " + "disambiguation, along with the " { $link ensure-not } " word." } +{ $example "\"0\" token ensure octal-parser" } ; + +HELP: ensure-not +{ $values + { "p1" "a parser" } + { "p2" "a parser" } +} +{ $description + "Returns a parser that succeeds if the 'p1' parser fails but does not add anything to the " + "AST and does not move the location in the input string. This can be used for lookahead and " + "disambiguation, along with the " { $link ensure } " word." } +{ $example "\"+\" token \"=\" token ensure-not \"+=\" token 3array seq" } ; + +HELP: action +{ $values + { "p1" "a parser" } + { "quot" "a quotation with stack effect ( ast -- ast )" } +} +{ $description + "Returns a parser that calls the 'p1' parser and applies the quotation to the AST resulting " + "from that parse. The result of the quotation is then used as the final AST. This can be used " + "for manipulating the parse tree to produce a AST better suited for the task at hand rather than " + "the default AST." } +{ $example "CHAR: 0 CHAR: 9 range [ to-digit ] action" } ; + +HELP: sp +{ $values + { "p1" "a parser" } + { "parser" "a parser" } +} +{ $description + "Returns a parser that calls the original parser 'p1' after stripping any whitespace " + " from the left of the input string." } ; + +HELP: hide +{ $values + { "p1" "a parser" } + { "parser" "a parser" } +} +{ $description + "Returns a parser that succeeds if the original parser succeeds, but does not " + "put any result in the AST. Useful for ignoring 'syntax' in the AST." } +{ $example "\"[\" token hide number \"]\" token hide 3array seq" } ; + +HELP: delay +{ $values + { "quot" "a quotation with stack effect ( -- parser )" } + { "parser" "a parser" } +} +{ $description + "Delays the construction of a parser until it is actually required to parse. This " + "allows for calling a parser that results in a recursive call to itself. The quotation " + "should return the constructed parser." } ; \ No newline at end of file diff --git a/extra/peg/peg-tests.factor b/extra/peg/peg-tests.factor new file mode 100644 index 0000000000..6a8d7429f3 --- /dev/null +++ b/extra/peg/peg-tests.factor @@ -0,0 +1,164 @@ +! Copyright (C) 2007 Chris Double. +! See http://factorcode.org/license.txt for BSD license. +! +USING: kernel tools.test strings namespaces arrays sequences peg peg.private ; +IN: temporary + +{ 0 1 2 } [ + 0 next-id set-global get-next-id get-next-id get-next-id +] unit-test + +{ f } [ + "endbegin" "begin" token parse +] unit-test + +{ "begin" "end" } [ + "beginend" "begin" token parse + { parse-result-ast parse-result-remaining } get-slots + >string +] unit-test + +{ f } [ + "" CHAR: a CHAR: z range parse +] unit-test + +{ f } [ + "1bcd" CHAR: a CHAR: z range parse +] unit-test + +{ CHAR: a } [ + "abcd" CHAR: a CHAR: z range parse parse-result-ast +] unit-test + +{ CHAR: z } [ + "zbcd" CHAR: a CHAR: z range parse parse-result-ast +] unit-test + +{ f } [ + "bad" "a" token "b" token 2array seq parse +] unit-test + +{ V{ "g" "o" } } [ + "good" "g" token "o" token 2array seq parse parse-result-ast +] unit-test + +{ "a" } [ + "abcd" "a" token "b" token 2array choice parse parse-result-ast +] unit-test + +{ "b" } [ + "bbcd" "a" token "b" token 2array choice parse parse-result-ast +] unit-test + +{ f } [ + "cbcd" "a" token "b" token 2array choice parse +] unit-test + +{ f } [ + "" "a" token "b" token 2array choice parse +] unit-test + +{ 0 } [ + "" "a" token repeat0 parse parse-result-ast length +] unit-test + +{ 0 } [ + "b" "a" token repeat0 parse parse-result-ast length +] unit-test + +{ V{ "a" "a" "a" } } [ + "aaab" "a" token repeat0 parse parse-result-ast +] unit-test + +{ f } [ + "" "a" token repeat1 parse +] unit-test + +{ f } [ + "b" "a" token repeat1 parse +] unit-test + +{ V{ "a" "a" "a" } } [ + "aaab" "a" token repeat1 parse parse-result-ast +] unit-test + +{ V{ "a" "b" } } [ + "ab" "a" token optional "b" token 2array seq parse parse-result-ast +] unit-test + +{ V{ f "b" } } [ + "b" "a" token optional "b" token 2array seq parse parse-result-ast +] unit-test + +{ f } [ + "cb" "a" token optional "b" token 2array seq parse +] unit-test + +{ V{ CHAR: a CHAR: b } } [ + "ab" "a" token ensure CHAR: a CHAR: z range dup 3array seq parse parse-result-ast +] unit-test + +{ f } [ + "bb" "a" token ensure CHAR: a CHAR: z range 2array seq parse +] unit-test + +{ t } [ + "a+b" + "a" token "+" token dup ensure-not 2array seq "++" token 2array choice "b" token 3array seq + parse [ t ] [ f ] if +] unit-test + +{ t } [ + "a++b" + "a" token "+" token dup ensure-not 2array seq "++" token 2array choice "b" token 3array seq + parse [ t ] [ f ] if +] unit-test + +{ t } [ + "a+b" + "a" token "+" token "++" token 2array choice "b" token 3array seq + parse [ t ] [ f ] if +] unit-test + +{ f } [ + "a++b" + "a" token "+" token "++" token 2array choice "b" token 3array seq + parse [ t ] [ f ] if +] unit-test + +{ 1 } [ + "a" "a" token [ drop 1 ] action parse parse-result-ast +] unit-test + +{ V{ 1 1 } } [ + "aa" "a" token [ drop 1 ] action dup 2array seq parse parse-result-ast +] unit-test + +{ f } [ + "b" "a" token [ drop 1 ] action parse +] unit-test + +{ f } [ + "b" [ CHAR: a = ] satisfy parse +] unit-test + +{ CHAR: a } [ + "a" [ CHAR: a = ] satisfy parse parse-result-ast +] unit-test + +{ "a" } [ + " a" "a" token sp parse parse-result-ast +] unit-test + +{ "a" } [ + "a" "a" token sp parse parse-result-ast +] unit-test + +{ V{ "a" } } [ + "[a]" "[" token hide "a" token "]" token hide 3array seq parse parse-result-ast +] unit-test + +{ f } [ + "a]" "[" token hide "a" token "]" token hide 3array seq parse +] unit-test + diff --git a/extra/peg/peg.factor b/extra/peg/peg.factor new file mode 100644 index 0000000000..7fa1fb90e5 --- /dev/null +++ b/extra/peg/peg.factor @@ -0,0 +1,267 @@ +! Copyright (C) 2007 Chris Double. +! See http://factorcode.org/license.txt for BSD license. +USING: kernel sequences strings namespaces math assocs shuffle + vectors arrays combinators.lib memoize ; +IN: peg + +TUPLE: parse-result remaining ast ; + +GENERIC: (parse) ( state parser -- result ) + + ( remaining ast -- parse-result ) + parse-result construct-boa ; + +SYMBOL: next-id + +: get-next-id ( -- number ) + next-id get-global 0 or dup 1+ next-id set-global ; + +TUPLE: parser id ; + +: init-parser ( parser -- parser ) + get-next-id parser construct-boa over set-delegate ; + +: from ( slice-or-string -- index ) + dup slice? [ slice-from ] [ drop 0 ] if ; + +: get-cached ( input parser -- result ) + [ from ] dip parser-id packrat-cache get at at* [ + drop not-in-cache + ] unless ; + +: put-cached ( result input parser -- ) + parser-id dup packrat-cache get at [ + nip + ] [ + H{ } clone dup >r swap packrat-cache get set-at r> + ] if* + [ from ] dip set-at ; + +PRIVATE> + +: parse ( input parser -- result ) + packrat-cache get [ + 2dup get-cached dup not-in-cache? [ +! "cache missed: " write over parser-id number>string write " - " write nl ! pick . + drop + #! Protect against left recursion blowing the callstack + #! by storing a failed parse in the cache. + [ f ] dipd [ put-cached ] 2keep + [ (parse) dup ] 2keep put-cached + ] [ +! "cache hit: " write over parser-id number>string write " - " write nl ! pick . + 2nip + ] if + ] [ + (parse) + ] if ; + +: packrat-parse ( input parser -- result ) + H{ } clone packrat-cache [ parse ] with-variable ; + +r length tail-slice r> + ] [ + 2drop f + ] if ; + +TUPLE: satisfy-parser quot ; + +M: satisfy-parser (parse) ( state parser -- result ) + over empty? [ + 2drop f + ] [ + satisfy-parser-quot [ unclip-slice dup ] dip call [ + + ] [ + 2drop f + ] if + ] if ; + +TUPLE: range-parser min max ; + +M: range-parser (parse) ( state parser -- result ) + over empty? [ + 2drop f + ] [ + 0 pick nth dup rot + { range-parser-min range-parser-max } get-slots between? [ + [ 1 tail-slice ] dip + ] [ + 2drop f + ] if + ] if ; + +TUPLE: seq-parser parsers ; + +: do-seq-parser ( result parser -- result ) + [ dup parse-result-remaining ] dip parse [ + [ parse-result-remaining swap set-parse-result-remaining ] 2keep + parse-result-ast dup ignore = [ drop ] [ swap [ parse-result-ast push ] keep ] if + ] [ + drop f + ] if* ; + +: (seq-parser) ( result parsers -- result ) + dup empty? not pick and [ + unclip swap [ do-seq-parser ] dip (seq-parser) + ] [ + drop + ] if ; + +M: seq-parser (parse) ( state parser -- result ) + seq-parser-parsers [ V{ } clone ] dip (seq-parser) ; + +TUPLE: choice-parser parsers ; + +: (choice-parser) ( state parsers -- result ) + dup empty? [ + 2drop f + ] [ + unclip pick swap parse [ + 2nip + ] [ + (choice-parser) + ] if* + ] if ; + +M: choice-parser (parse) ( state parser -- result ) + choice-parser-parsers (choice-parser) ; + +TUPLE: repeat0-parser p1 ; + +: (repeat-parser) ( parser result -- result ) + 2dup parse-result-remaining swap parse [ + [ parse-result-remaining swap set-parse-result-remaining ] 2keep + parse-result-ast swap [ parse-result-ast push ] keep + (repeat-parser) + ] [ + nip + ] if* ; + +: clone-result ( result -- result ) + { parse-result-remaining parse-result-ast } + get-slots 1vector ; + +M: repeat0-parser (parse) ( state parser -- result ) + repeat0-parser-p1 2dup parse [ + nipd clone-result (repeat-parser) + ] [ + drop V{ } clone + ] if* ; + +TUPLE: repeat1-parser p1 ; + +M: repeat1-parser (parse) ( state parser -- result ) + repeat1-parser-p1 tuck parse dup [ clone-result (repeat-parser) ] [ nip ] if ; + +TUPLE: optional-parser p1 ; + +M: optional-parser (parse) ( state parser -- result ) + dupd optional-parser-p1 parse swap f or ; + +TUPLE: ensure-parser p1 ; + +M: ensure-parser (parse) ( state parser -- result ) + dupd ensure-parser-p1 parse [ + ignore + ] [ + drop f + ] if ; + +TUPLE: ensure-not-parser p1 ; + +M: ensure-not-parser (parse) ( state parser -- result ) + dupd ensure-not-parser-p1 parse [ + drop f + ] [ + ignore + ] if ; + +TUPLE: action-parser p1 quot ; + +M: action-parser (parse) ( state parser -- result ) + tuck action-parser-p1 parse dup [ + dup parse-result-ast rot action-parser-quot call + swap [ set-parse-result-ast ] keep + ] [ + nip + ] if ; + +: left-trim-slice ( string -- string ) + #! Return a new string without any leading whitespace + #! from the original string. + dup empty? [ + dup first blank? [ 1 tail-slice left-trim-slice ] when + ] unless ; + +TUPLE: sp-parser p1 ; + +M: sp-parser (parse) ( state parser -- result ) + [ left-trim-slice ] dip sp-parser-p1 parse ; + +TUPLE: delay-parser quot ; + +M: delay-parser (parse) ( state parser -- result ) + delay-parser-quot call parse ; + +PRIVATE> + +MEMO: token ( string -- parser ) + token-parser construct-boa init-parser ; + +: satisfy ( quot -- parser ) + satisfy-parser construct-boa init-parser ; + +MEMO: range ( min max -- parser ) + range-parser construct-boa init-parser ; + +: seq ( seq -- parser ) + seq-parser construct-boa init-parser ; + +: choice ( seq -- parser ) + choice-parser construct-boa init-parser ; + +MEMO: repeat0 ( parser -- parser ) + repeat0-parser construct-boa init-parser ; + +MEMO: repeat1 ( parser -- parser ) + repeat1-parser construct-boa init-parser ; + +MEMO: optional ( parser -- parser ) + optional-parser construct-boa init-parser ; + +MEMO: ensure ( parser -- parser ) + ensure-parser construct-boa init-parser ; + +MEMO: ensure-not ( parser -- parser ) + ensure-not-parser construct-boa init-parser ; + +: action ( parser quot -- parser ) + action-parser construct-boa init-parser ; + +MEMO: sp ( parser -- parser ) + sp-parser construct-boa init-parser ; + +MEMO: hide ( parser -- parser ) + [ drop ignore ] action ; + +MEMO: delay ( parser -- parser ) + delay-parser construct-boa init-parser ; + +MEMO: list-of ( items separator -- parser ) + hide over 2array seq repeat0 [ concat ] action 2array seq [ unclip 1vector swap first append ] action ; diff --git a/extra/peg/pl0/authors.txt b/extra/peg/pl0/authors.txt new file mode 100644 index 0000000000..44b06f94bc --- /dev/null +++ b/extra/peg/pl0/authors.txt @@ -0,0 +1 @@ +Chris Double diff --git a/extra/peg/pl0/pl0-tests.factor b/extra/peg/pl0/pl0-tests.factor new file mode 100644 index 0000000000..cec7b24cd0 --- /dev/null +++ b/extra/peg/pl0/pl0-tests.factor @@ -0,0 +1,13 @@ +! Copyright (C) 2007 Chris Double. +! See http://factorcode.org/license.txt for BSD license. +! +USING: kernel tools.test peg peg.pl0 ; +IN: temporary + +{ "abc" } [ + "abc" ident parse parse-result-ast +] unit-test + +{ 55 } [ + "55abc" number parse parse-result-ast +] unit-test diff --git a/extra/peg/pl0/pl0.factor b/extra/peg/pl0/pl0.factor new file mode 100644 index 0000000000..b6b030f56c --- /dev/null +++ b/extra/peg/pl0/pl0.factor @@ -0,0 +1,29 @@ +! Copyright (C) 2007 Chris Double. +! See http://factorcode.org/license.txt for BSD license. +USING: kernel arrays strings math.parser sequences peg peg.ebnf memoize ; +IN: peg.pl0 + +#! Grammar for PL/0 based on http://en.wikipedia.org/wiki/PL/0 +MEMO: ident ( -- parser ) + CHAR: a CHAR: z range + CHAR: A CHAR: Z range 2array choice repeat1 + [ >string ] action ; + +MEMO: number ( -- parser ) + CHAR: 0 CHAR: 9 range repeat1 [ string>number ] action ; + +=' | '>') expression . +expression = ['+' | '-'] term {('+' | '-') term } . +term = factor {('*' | '/') factor } . +factor = ident | number | '(' expression ')' +EBNF> diff --git a/extra/peg/pl0/summary.txt b/extra/peg/pl0/summary.txt new file mode 100644 index 0000000000..59a20cf8c4 --- /dev/null +++ b/extra/peg/pl0/summary.txt @@ -0,0 +1 @@ +Grammar for PL/0 Language diff --git a/extra/peg/summary.txt b/extra/peg/summary.txt new file mode 100644 index 0000000000..324a544036 --- /dev/null +++ b/extra/peg/summary.txt @@ -0,0 +1 @@ +Parsing Expression Grammar and Packrat Parser diff --git a/extra/random-tester/databank/databank.factor b/extra/random-tester/databank/databank.factor new file mode 100644 index 0000000000..45ee779372 --- /dev/null +++ b/extra/random-tester/databank/databank.factor @@ -0,0 +1,11 @@ +USING: kernel math.constants ; +IN: random-tester.databank + +: databank ( -- array ) + { + ! V{ } H{ } V{ 3 } { 3 } { } "" "asdf" + pi 1/0. -1/0. 0/0. [ ] + f t "" 0 0.0 3.14 2 -3 -7 20 3/4 -3/4 1.2/3 3.5 + C{ 2 2 } C{ 1/0. 1/0. } + } ; + diff --git a/extra/random-tester/random-tester.factor b/extra/random-tester/random-tester.factor new file mode 100644 index 0000000000..f8aa0f29b5 --- /dev/null +++ b/extra/random-tester/random-tester.factor @@ -0,0 +1,45 @@ +USING: compiler continuations io kernel math namespaces +prettyprint quotations random sequences vectors ; +USING: random-tester.databank random-tester.safe-words ; +IN: random-tester + +SYMBOL: errored +SYMBOL: before +SYMBOL: after +SYMBOL: quot +TUPLE: random-tester-error ; + +: setup-test ( #data #code -- data... quot ) + #! Variable stack effect + >r [ databank random ] times r> + [ drop \ safe-words get random ] map >quotation ; + +: test-compiler ! ( data... quot -- ... ) + errored off + dup quot set + datastack clone >vector dup pop* before set + [ call ] catch drop + datastack clone after set + clear + before get [ ] each + quot get [ compile-1 ] [ errored on ] recover ; + +: do-test ! ( data... quot -- ) + .s flush test-compiler + errored get [ + datastack after get 2dup = [ + 2drop + ] [ + [ . ] each + "--" print + [ . ] each + quot get . + random-tester-error construct-empty throw + ] if + ] unless clear ; + +: random-test1 ( #data #code -- ) + setup-test do-test ; + +: random-test2 ( -- ) + 3 2 setup-test do-test ; diff --git a/unmaintained/random-tester/random.factor b/extra/random-tester/random/random.factor old mode 100644 new mode 100755 similarity index 56% rename from unmaintained/random-tester/random.factor rename to extra/random-tester/random/random.factor index da9a5c26d8..7cd669becf --- a/unmaintained/random-tester/random.factor +++ b/extra/random-tester/random/random.factor @@ -1,22 +1,12 @@ -USING: kernel math sequences namespaces errors hashtables words -arrays parser compiler syntax io tools prettyprint optimizer -inference ; +USING: kernel math sequences namespaces hashtables words +arrays parser compiler syntax io prettyprint optimizer +random math.constants math.functions layouts random-tester.utils ; IN: random-tester ! Tweak me : max-length 15 ; inline : max-value 1000000000 ; inline -: 10% ( -- bool ) 10 random 8 > ; -: 20% ( -- bool ) 10 random 7 > ; -: 30% ( -- bool ) 10 random 6 > ; -: 40% ( -- bool ) 10 random 5 > ; -: 50% ( -- bool ) 10 random 4 > ; -: 60% ( -- bool ) 10 random 3 > ; -: 70% ( -- bool ) 10 random 2 > ; -: 80% ( -- bool ) 10 random 1 > ; -: 90% ( -- bool ) 10 random 0 > ; - ! varying bit-length random number : random-bits ( n -- int ) random 2 swap ^ random ; @@ -31,32 +21,29 @@ IN: random-tester SYMBOL: special-integers [ { -1 0 1 } % most-negative-fixnum , most-positive-fixnum , first-bignum , ] { } make \ special-integers set-global -: special-integers ( -- seq ) \ special-integers get ; SYMBOL: special-floats [ { 0.0 -0.0 } % e , pi , 1./0. , -1./0. , 0./0. , epsilon , epsilon neg , ] { } make \ special-floats set-global -: special-floats ( -- seq ) \ special-floats get ; SYMBOL: special-complexes [ - { -1 0 1 i -i } % + { -1 0 1 C{ 0 1 } C{ 0 -1 } } % e , e neg , pi , pi neg , 0 pi rect> , 0 pi neg rect> , pi neg 0 rect> , pi pi rect> , pi pi neg rect> , pi neg pi rect> , pi neg pi neg rect> , e neg e neg rect> , e e rect> , ] { } make \ special-complexes set-global -: special-complexes ( -- seq ) \ special-complexes get ; : random-fixnum ( -- fixnum ) - most-positive-fixnum random 1+ coin-flip [ neg 1- ] when >fixnum ; + most-positive-fixnum random 1+ 50% [ neg 1- ] when >fixnum ; : random-bignum ( -- bignum ) - 400 random-bits first-bignum + coin-flip [ neg ] when ; + 400 random-bits first-bignum + 50% [ neg ] when ; : random-integer ( -- n ) - coin-flip [ + 50% [ random-fixnum ] [ - coin-flip [ random-bignum ] [ special-integers random ] if + 50% [ random-bignum ] [ special-integers get random ] if ] if ; : random-positive-integer ( -- int ) @@ -67,12 +54,12 @@ SYMBOL: special-complexes ] if ; : random-ratio ( -- ratio ) - 1000000000 dup [ random ] 2apply 1+ / coin-flip [ neg ] when dup [ drop random-ratio ] unless 10% [ drop 0 ] when ; + 1000000000 dup [ random ] 2apply 1+ / 50% [ neg ] when dup [ drop random-ratio ] unless 10% [ drop 0 ] when ; : random-float ( -- float ) - coin-flip [ random-ratio ] [ special-floats random ] if - coin-flip - [ .0000000000000000001 /f ] [ coin-flip [ .00000000000000001 * ] when ] if + 50% [ random-ratio ] [ special-floats get random ] if + 50% + [ .0000000000000000001 /f ] [ 50% [ .00000000000000001 * ] when ] if >float ; : random-number ( -- number ) diff --git a/extra/random-tester/safe-words/safe-words.factor b/extra/random-tester/safe-words/safe-words.factor new file mode 100644 index 0000000000..9bc87a9c5a --- /dev/null +++ b/extra/random-tester/safe-words/safe-words.factor @@ -0,0 +1,117 @@ +USING: kernel namespaces sequences sorting vocabs ; +USING: arrays assocs generic hashtables math math.intervals math.parser math.functions refs shuffle vectors words ; +IN: random-tester.safe-words + +: ?-words + { + delegate + + /f + + bits>float bits>double + float>bits double>bits + + >bignum >boolean >fixnum >float + + array? integer? complex? value-ref? ref? key-ref? + interval? number? + wrapper? tuple? + [-1,1]? between? bignum? both? either? eq? equal? even? fixnum? float? fp-nan? hashtable? interval-contains? interval-subset? interval? key-ref? key? number? odd? pair? power-of-2? ratio? rational? real? subassoc? valid-digits? zero? assoc? curry? vector? callstack? ! clear 3.14 [ assoc? ] compile-1 + 2^ not + ! arrays + resize-array + ! assocs + (assoc-stack) + new-assoc + assoc-like + + all-integers? (all-integers?) ! hangs? + assoc-push-if + + (clone) assoc-clone-like ! SYMBOL: foo foo dup (clone) = + } ; + +: bignum-words + { + next-power-of-2 (next-power-of-2) + times + hashcode hashcode* + } ; + +: initialization-words + { + init-namespaces + } ; + +: stack-words + { + dup + drop 2drop 3drop + roll -roll 2swap + + >r r> + } ; + +: method-words + { + method-def + forget-word + } ; + +: stateful-words + { + counter + gensym + } ; + +: foo-words + { + set-retainstack + retainstack callstack + datastack + callstack>array + } ; + +: exit-words + { + call-clear die + } ; + +: bad-words ( -- array ) + [ + ?-words % + bignum-words % + initialization-words % + stack-words % + method-words % + stateful-words % + exit-words % + foo-words % + ] { } make ; + +: safe-words ( -- array ) + bad-words { + "alists" "arrays" "assocs" ! "bit-arrays" "byte-arrays" + ! "classes" "combinators" "compiler" "continuations" + ! "core-foundation" "definitions" "documents" + ! "float-arrays" "generic" "graphs" "growable" + "hashtables" ! io.* + "kernel" "math" + "math.bitfields" "math.complex" "math.constants" "math.floats" + "math.functions" "math.integers" "math.intervals" "math.libm" + "math.parser" "math.ratios" "math.vectors" + ! "namespaces" "quotations" "sbufs" + ! "queues" "strings" "sequences" + "vectors" + ! "words" + } [ words ] map concat seq-diff natural-sort ; + +safe-words \ safe-words set-global + +! foo dup (clone) = . +! foo dup clone = . +! f [ byte-array>bignum assoc-clone-like ] compile-1 +! 2 3.14 [ construct-empty number= ] compile-1 +! 3.14 [ assoc? ] compile-1 +! -3 [ ] 2 [ byte-array>bignum denominator ] compile-1 + diff --git a/extra/random-tester/utils/utils.factor b/extra/random-tester/utils/utils.factor new file mode 100644 index 0000000000..ef3d66ad2d --- /dev/null +++ b/extra/random-tester/utils/utils.factor @@ -0,0 +1,95 @@ +USING: arrays assocs combinators.lib continuations kernel +math math.functions namespaces quotations random sequences +sequences.private shuffle ; + +IN: random-tester.utils + +: %chance ( n -- ? ) + 100 random > ; + +: 10% ( -- ? ) 10 %chance ; +: 20% ( -- ? ) 20 %chance ; +: 30% ( -- ? ) 30 %chance ; +: 40% ( -- ? ) 40 %chance ; +: 50% ( -- ? ) 50 %chance ; +: 60% ( -- ? ) 60 %chance ; +: 70% ( -- ? ) 70 %chance ; +: 80% ( -- ? ) 80 %chance ; +: 90% ( -- ? ) 90 %chance ; + +: call-if ( quot ? -- ) [ call ] [ drop ] if ; inline + +: with-10% ( quot -- ) 10% call-if ; inline +: with-20% ( quot -- ) 20% call-if ; inline +: with-30% ( quot -- ) 30% call-if ; inline +: with-40% ( quot -- ) 40% call-if ; inline +: with-50% ( quot -- ) 50% call-if ; inline +: with-60% ( quot -- ) 60% call-if ; inline +: with-70% ( quot -- ) 70% call-if ; inline +: with-80% ( quot -- ) 80% call-if ; inline +: with-90% ( quot -- ) 90% call-if ; inline + +: random-hash-key keys random ; +: random-hash-value [ random-hash-key ] keep at ; + +: do-one ( seq -- ) random call ; inline + +TUPLE: p-list seq max count count-vec ; + +: reset-array ( seq -- ) + [ drop 0 ] over map-into ; + +C: p-list + +: make-p-list ( seq n -- tuple ) + >r dup length [ 1- ] keep r> + [ ^ 0 swap 2array ] keep + 0 ; + +: inc-seq ( seq max -- ) + 2dup [ < ] curry find-last over [ + nipd 1+ 2over swap set-nth + 1+ over length rot reset-array + ] [ + 3drop reset-array + ] if ; + +: inc-count ( tuple -- ) + [ p-list-count first2 >r 1+ r> 2array ] keep + set-p-list-count ; + +: (get-permutation) ( seq index-seq -- newseq ) + [ swap nth ] map-with ; + +: get-permutation ( tuple -- seq ) + [ p-list-seq ] keep p-list-count-vec (get-permutation) ; + +: p-list-next ( tuple -- seq/f ) + dup p-list-count first2 < [ + [ + [ get-permutation ] keep + [ p-list-count-vec ] keep p-list-max + inc-seq + ] keep inc-count + ] [ + drop f + ] if ; + +: (permutations) ( tuple -- ) + dup p-list-next [ , (permutations) ] [ drop ] if* ; + +: permutations ( seq n -- seq ) + make-p-list [ (permutations) ] { } make ; + +: (each-permutation) ( tuple quot -- ) + over p-list-next [ + [ rot drop swap call ] 3keep + drop (each-permutation) + ] [ + 2drop + ] if* ; inline + +: each-permutation ( seq n quot -- ) + >r make-p-list r> (each-permutation) ; + + diff --git a/extra/raptor/config.factor b/extra/raptor/config.factor index ecdbf98f17..29e26d4381 100644 --- a/extra/raptor/config.factor +++ b/extra/raptor/config.factor @@ -44,7 +44,10 @@ IN: raptor ! rcS.d "mountvirtfs" start-service - "hostname.sh" start-service + + ! "hostname.sh" start-service + "narodnik" set-hostname + "keymap.sh" start-service "linux-restricted-modules-common" start-service "udev" start-service diff --git a/extra/raptor/cronjobs.factor b/extra/raptor/cronjobs.factor index 894e8e5ce7..91263a31d9 100644 --- a/extra/raptor/cronjobs.factor +++ b/extra/raptor/cronjobs.factor @@ -6,8 +6,6 @@ IN: raptor ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -: fork-exec-args-wait ( args -- ) [ first ] [ ] bi fork-exec-wait ; - : run-script ( path -- ) 1array [ fork-exec-args-wait ] curry in-thread ; ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/extra/raptor/raptor.factor b/extra/raptor/raptor.factor index e6f960cd8d..ef5359c313 100644 --- a/extra/raptor/raptor.factor +++ b/extra/raptor/raptor.factor @@ -22,6 +22,8 @@ SYMBOL: networking-hook : fork-exec-wait ( pathname args -- ) fork dup 0 = [ drop exec drop ] [ 2nip wait-for-pid drop ] if ; +: fork-exec-args-wait ( args -- ) [ first ] [ ] bi fork-exec-wait ; + ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! : forever ( quot -- ) [ call ] [ forever ] bi ; @@ -59,6 +61,10 @@ SYMBOL: swap-devices : start-networking ( -- ) networking-hook get call ; +: set-hostname ( name -- ) `{ "/bin/hostname" , } fork-exec-args-wait ; + +! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + : boot ( -- ) boot-hook get call ; : reboot ( -- ) reboot-hook get call ; : shutdown ( -- ) shutdown-hook get call ; diff --git a/extra/regexp/regexp-tests.factor b/extra/regexp/regexp-tests.factor new file mode 100755 index 0000000000..5cec0af0a9 --- /dev/null +++ b/extra/regexp/regexp-tests.factor @@ -0,0 +1,174 @@ +USING: regexp tools.test ; +IN: regexp-tests + +[ f ] [ "b" "a*" matches? ] unit-test +[ t ] [ "" "a*" matches? ] unit-test +[ t ] [ "a" "a*" matches? ] unit-test +[ t ] [ "aaaaaaa" "a*" matches? ] unit-test +[ f ] [ "ab" "a*" matches? ] unit-test + +[ t ] [ "abc" "abc" matches? ] unit-test +[ t ] [ "a" "a|b|c" matches? ] unit-test +[ t ] [ "b" "a|b|c" matches? ] unit-test +[ t ] [ "c" "a|b|c" matches? ] unit-test +[ f ] [ "c" "d|e|f" matches? ] unit-test + +[ f ] [ "aa" "a|b|c" matches? ] unit-test +[ f ] [ "bb" "a|b|c" matches? ] unit-test +[ f ] [ "cc" "a|b|c" matches? ] unit-test +[ f ] [ "cc" "d|e|f" matches? ] unit-test + +[ f ] [ "" "a+" matches? ] unit-test +[ t ] [ "a" "a+" matches? ] unit-test +[ t ] [ "aa" "a+" matches? ] unit-test + +[ t ] [ "" "a?" matches? ] unit-test +[ t ] [ "a" "a?" matches? ] unit-test +[ f ] [ "aa" "a?" matches? ] unit-test + +[ f ] [ "" "." matches? ] unit-test +[ t ] [ "a" "." matches? ] unit-test +[ t ] [ "." "." matches? ] unit-test +! [ f ] [ "\n" "." matches? ] unit-test + +[ f ] [ "" ".+" matches? ] unit-test +[ t ] [ "a" ".+" matches? ] unit-test +[ t ] [ "ab" ".+" matches? ] unit-test + +[ t ] [ "" "a|b*|c+|d?" matches? ] unit-test +[ t ] [ "a" "a|b*|c+|d?" matches? ] unit-test +[ t ] [ "c" "a|b*|c+|d?" matches? ] unit-test +[ t ] [ "cc" "a|b*|c+|d?" matches? ] unit-test +[ f ] [ "ccd" "a|b*|c+|d?" matches? ] unit-test +[ t ] [ "d" "a|b*|c+|d?" matches? ] unit-test + +[ t ] [ "foo" "foo|bar" matches? ] unit-test +[ t ] [ "bar" "foo|bar" matches? ] unit-test +[ f ] [ "foobar" "foo|bar" matches? ] unit-test + +[ f ] [ "" "(a)" matches? ] unit-test +[ t ] [ "a" "(a)" matches? ] unit-test +[ f ] [ "aa" "(a)" matches? ] unit-test +[ t ] [ "aa" "(a*)" matches? ] unit-test + +[ f ] [ "aababaaabbac" "(a|b)+" matches? ] unit-test +[ t ] [ "ababaaabba" "(a|b)+" matches? ] unit-test + +[ f ] [ "" "a{1}" matches? ] unit-test +[ t ] [ "a" "a{1}" matches? ] unit-test +[ f ] [ "aa" "a{1}" matches? ] unit-test + +[ f ] [ "a" "a{2,}" matches? ] unit-test +[ t ] [ "aaa" "a{2,}" matches? ] unit-test +[ t ] [ "aaaa" "a{2,}" matches? ] unit-test +[ t ] [ "aaaaa" "a{2,}" matches? ] unit-test + +[ t ] [ "" "a{,2}" matches? ] unit-test +[ t ] [ "a" "a{,2}" matches? ] unit-test +[ t ] [ "aa" "a{,2}" matches? ] unit-test +[ f ] [ "aaa" "a{,2}" matches? ] unit-test +[ f ] [ "aaaa" "a{,2}" matches? ] unit-test +[ f ] [ "aaaaa" "a{,2}" matches? ] unit-test + +[ f ] [ "" "a{1,3}" matches? ] unit-test +[ t ] [ "a" "a{1,3}" matches? ] unit-test +[ t ] [ "aa" "a{1,3}" matches? ] unit-test +[ t ] [ "aaa" "a{1,3}" matches? ] unit-test +[ f ] [ "aaaa" "a{1,3}" matches? ] unit-test + +[ f ] [ "" "[a]" matches? ] unit-test +[ t ] [ "a" "[a]" matches? ] unit-test +[ t ] [ "a" "[abc]" matches? ] unit-test +[ f ] [ "b" "[a]" matches? ] unit-test +[ f ] [ "d" "[abc]" matches? ] unit-test +[ t ] [ "ab" "[abc]{1,2}" matches? ] unit-test +[ f ] [ "abc" "[abc]{1,2}" matches? ] unit-test + +[ f ] [ "" "[^a]" matches? ] unit-test +[ f ] [ "a" "[^a]" matches? ] unit-test +[ f ] [ "a" "[^abc]" matches? ] unit-test +[ t ] [ "b" "[^a]" matches? ] unit-test +[ t ] [ "d" "[^abc]" matches? ] unit-test +[ f ] [ "ab" "[^abc]{1,2}" matches? ] unit-test +[ f ] [ "abc" "[^abc]{1,2}" matches? ] unit-test + +[ t ] [ "]" "[]]" matches? ] unit-test +[ f ] [ "]" "[^]]" matches? ] unit-test + +! [ "^" "[^]" matches? ] unit-test-fails +[ t ] [ "^" "[]^]" matches? ] unit-test +[ t ] [ "]" "[]^]" matches? ] unit-test + +[ t ] [ "[" "[[]" matches? ] unit-test +[ f ] [ "^" "[^^]" matches? ] unit-test +[ t ] [ "a" "[^^]" matches? ] unit-test + +[ t ] [ "-" "[-]" matches? ] unit-test +[ f ] [ "a" "[-]" matches? ] unit-test +[ f ] [ "-" "[^-]" matches? ] unit-test +[ t ] [ "a" "[^-]" matches? ] unit-test + +[ t ] [ "-" "[-a]" matches? ] unit-test +[ t ] [ "a" "[-a]" matches? ] unit-test +[ t ] [ "-" "[a-]" matches? ] unit-test +[ t ] [ "a" "[a-]" matches? ] unit-test +[ f ] [ "b" "[a-]" matches? ] unit-test +[ f ] [ "-" "[^-]" matches? ] unit-test +[ t ] [ "a" "[^-]" matches? ] unit-test + +[ f ] [ "-" "[a-c]" matches? ] unit-test +[ t ] [ "-" "[^a-c]" matches? ] unit-test +[ t ] [ "b" "[a-c]" matches? ] unit-test +[ f ] [ "b" "[^a-c]" matches? ] unit-test + +[ t ] [ "-" "[a-c-]" matches? ] unit-test +[ f ] [ "-" "[^a-c-]" matches? ] unit-test + +[ t ] [ "\\" "[\\\\]" matches? ] unit-test +[ f ] [ "a" "[\\\\]" matches? ] unit-test +[ f ] [ "\\" "[^\\\\]" matches? ] unit-test +[ t ] [ "a" "[^\\\\]" matches? ] unit-test + +[ t ] [ "0" "[\\d]" matches? ] unit-test +[ f ] [ "a" "[\\d]" matches? ] unit-test +[ f ] [ "0" "[^\\d]" matches? ] unit-test +[ t ] [ "a" "[^\\d]" matches? ] unit-test + +[ t ] [ "a" "[a-z]{1,}|[A-Z]{2,4}|b*|c|(f|g)*" matches? ] unit-test +[ t ] [ "a" "[a-z]{1,2}|[A-Z]{3,3}|b*|c|(f|g)*" matches? ] unit-test +[ t ] [ "a" "[a-z]{1,2}|[A-Z]{3,3}" matches? ] unit-test + +[ t ] [ "1000" "\\d{4,6}" matches? ] unit-test +[ t ] [ "1000" "[0-9]{4,6}" matches? ] unit-test + +[ t ] [ "abc" "\\p{Lower}{3}" matches? ] unit-test +[ f ] [ "ABC" "\\p{Lower}{3}" matches? ] unit-test +[ t ] [ "ABC" "\\p{Upper}{3}" matches? ] unit-test +[ f ] [ "abc" "\\p{Upper}{3}" matches? ] unit-test + +[ f ] [ "abc" "[\\p{Upper}]{3}" matches? ] unit-test +[ t ] [ "ABC" "[\\p{Upper}]{3}" matches? ] unit-test + +[ t ] [ "" "\\Q\\E" matches? ] unit-test +[ f ] [ "a" "\\Q\\E" matches? ] unit-test +[ t ] [ "|*+" "\\Q|*+\\E" matches? ] unit-test +[ f ] [ "abc" "\\Q|*+\\E" matches? ] unit-test + +[ t ] [ "S" "\\0123" matches? ] unit-test +[ t ] [ "SXY" "\\0123XY" matches? ] unit-test +[ t ] [ "x" "\\x78" matches? ] unit-test +[ f ] [ "y" "\\x78" matches? ] unit-test +[ t ] [ "x" "\\u0078" matches? ] unit-test +[ f ] [ "y" "\\u0078" matches? ] unit-test + +[ t ] [ "ab" "a+b" matches? ] unit-test +[ f ] [ "b" "a+b" matches? ] unit-test +[ t ] [ "aab" "a+b" matches? ] unit-test +[ f ] [ "abb" "a+b" matches? ] unit-test + +[ t ] [ "abbbb" "ab*" matches? ] unit-test +[ t ] [ "a" "ab*" matches? ] unit-test +[ f ] [ "abab" "ab*" matches? ] unit-test + +[ f ] [ "x" "\\." matches? ] unit-test +[ t ] [ "." "\\." matches? ] unit-test diff --git a/extra/regexp/regexp.factor b/extra/regexp/regexp.factor new file mode 100755 index 0000000000..55d15aed42 --- /dev/null +++ b/extra/regexp/regexp.factor @@ -0,0 +1,243 @@ +USING: arrays combinators kernel lazy-lists math math.parser +namespaces parser parser-combinators parser-combinators.simple +promises quotations sequences combinators.lib strings macros +assocs prettyprint.backend ; +USE: io +IN: regexp + +: or-predicates ( quots -- quot ) + [ \ dup add* ] map [ [ t ] ] f short-circuit \ nip add ; + +MACRO: fast-member? ( str -- quot ) + [ dup ] H{ } map>assoc [ key? ] curry ; + +: octal-digit? ( n -- ? ) + CHAR: 0 CHAR: 7 between? ; + +: decimal-digit? ( n -- ? ) + CHAR: 0 CHAR: 9 between? ; + +: hex-digit? ( n -- ? ) + dup decimal-digit? + swap CHAR: a CHAR: f between? or ; + +: control-char? ( n -- ? ) + dup 0 HEX: 1f between? + swap HEX: 7f = or ; + +: punct? ( n -- ? ) + "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~" fast-member? ; + +: c-identifier-char? ( ch -- ? ) + dup alpha? swap CHAR: _ = or ; + +: java-blank? ( n -- ? ) + { + CHAR: \t CHAR: \n CHAR: \r + HEX: c HEX: 7 HEX: 1b + } fast-member? ; + +: java-printable? ( n -- ? ) + dup alpha? swap punct? or ; + +: 'ordinary-char' ( -- parser ) + [ "\\^*+?|(){}[$" fast-member? not ] satisfy + [ [ = ] curry ] <@ ; + +: 'octal-digit' ( -- parser ) [ octal-digit? ] satisfy ; + +: 'octal' ( -- parser ) + "0" token 'octal-digit' 1 3 from-m-to-n &> + [ oct> ] <@ ; + +: 'hex-digit' ( -- parser ) [ hex-digit? ] satisfy ; + +: 'hex' ( -- parser ) + "x" token 'hex-digit' 2 exactly-n &> + "u" token 'hex-digit' 4 exactly-n &> <|> + [ hex> ] <@ ; + +: satisfy-tokens ( assoc -- parser ) + [ >r token r> [ nip ] curry <@ ] { } assoc>map ; + +: 'simple-escape-char' ( -- parser ) + { + { "\\" CHAR: \\ } + { "t" CHAR: \t } + { "n" CHAR: \n } + { "r" CHAR: \r } + { "f" HEX: c } + { "a" HEX: 7 } + { "e" HEX: 1b } + } [ [ = ] curry ] assoc-map satisfy-tokens ; + +: 'predefined-char-class' ( -- parser ) + { + { "d" [ digit? ] } + { "D" [ digit? not ] } + { "s" [ java-blank? ] } + { "S" [ java-blank? not ] } + { "w" [ c-identifier-char? ] } + { "W" [ c-identifier-char? not ] } + } satisfy-tokens ; + +: 'posix-character-class' ( -- parser ) + { + { "Lower" [ letter? ] } + { "Upper" [ LETTER? ] } + { "ASCII" [ 0 HEX: 7f between? ] } + { "Alpha" [ Letter? ] } + { "Digit" [ digit? ] } + { "Alnum" [ alpha? ] } + { "Punct" [ punct? ] } + { "Graph" [ java-printable? ] } + { "Print" [ java-printable? ] } + { "Blank" [ " \t" member? ] } + { "Cntrl" [ control-char? ] } + { "XDigit" [ hex-digit? ] } + { "Space" [ java-blank? ] } + } satisfy-tokens "p{" "}" surrounded-by ; + +: 'simple-escape' ( -- parser ) + 'octal' + 'hex' <|> + "c" token [ LETTER? ] satisfy &> <|> + any-char-parser <|> + [ [ = ] curry ] <@ ; + +: 'escape' ( -- parser ) + "\\" token + 'simple-escape-char' + 'predefined-char-class' <|> + 'posix-character-class' <|> + 'simple-escape' <|> &> ; + +: 'any-char' + "." token [ drop [ drop t ] ] <@ ; + +: 'char' + 'any-char' 'escape' 'ordinary-char' <|> <|> [ satisfy ] <@ ; + +DEFER: 'regexp' + +TUPLE: group-result str ; + +C: group-result + +: 'grouping' + 'regexp' [ [ ] <@ ] <@ + "(" ")" surrounded-by ; + +: 'range' ( -- parser ) + any-char-parser "-" token <& any-char-parser <&> + [ first2 [ between? ] 2curry ] <@ ; + +: 'character-class-term' ( -- parser ) + 'range' + 'escape' <|> + [ "\\]" member? not ] satisfy [ [ = ] curry ] <@ <|> ; + +: 'positive-character-class' ( -- parser ) + "]" token [ drop [ CHAR: ] = ] ] <@ 'character-class-term' <*> <&:> + 'character-class-term' <+> <|> + [ or-predicates ] <@ ; + +: 'negative-character-class' ( -- parser ) + "^" token 'positive-character-class' &> + [ [ not ] append ] <@ ; + +: 'character-class' ( -- parser ) + 'negative-character-class' 'positive-character-class' <|> + "[" "]" surrounded-by [ satisfy ] <@ ; + +: 'escaped-seq' ( -- parser ) + any-char-parser <*> [ token ] <@ "\\Q" "\\E" surrounded-by ; + +: 'simple' ( -- parser ) + 'escaped-seq' + 'grouping' <|> + 'char' <|> + 'character-class' <|> ; + +: 'greedy-interval' ( -- parser ) + 'simple' 'integer' "{" "}" surrounded-by <&> [ first2 exactly-n ] <@ + 'simple' 'integer' "{" ",}" surrounded-by <&> [ first2 at-least-n ] <@ <|> + 'simple' 'integer' "{," "}" surrounded-by <&> [ first2 at-most-n ] <@ <|> + 'simple' 'integer' "," token <& 'integer' <&> "{" "}" surrounded-by <&> [ first2 first2 from-m-to-n ] <@ <|> ; + +: 'interval' ( -- parser ) + 'greedy-interval' + 'greedy-interval' "?" token <& [ "reluctant {}" print ] <@ <|> + 'greedy-interval' "+" token <& [ "possessive {}" print ] <@ <|> ; + +: 'greedy-repetition' ( -- parser ) + 'simple' "*" token <& [ <*> ] <@ + 'simple' "+" token <& [ <+> ] <@ <|> + 'simple' "?" token <& [ ] <@ <|> ; + +: 'repetition' ( -- parser ) + 'greedy-repetition' + 'greedy-repetition' "?" token <& [ "reluctant" print ] <@ <|> + 'greedy-repetition' "+" token <& [ "possessive" print ] <@ <|> ; + +: 'term' ( -- parser ) + 'simple' 'repetition' 'interval' <|> <|> + <+> [ ] <@ ; + +LAZY: 'regexp' ( -- parser ) + 'term' "|" token nonempty-list-of [ ] <@ + "^" token 'term' "|" token nonempty-list-of [ ] <@ + &> [ "caret" print ] <@ <|> + 'term' "|" token nonempty-list-of [ ] <@ + "$" token <& [ "dollar" print ] <@ <|> + "^" token 'term' "|" token nonempty-list-of [ ] <@ &> + "$" token [ "caret dollar" print ] <@ <& <|> ; + +TUPLE: regexp source parser ; + +: dup 'regexp' just parse-1 regexp construct-boa ; + +GENERIC: >regexp ( obj -- parser ) + +M: string >regexp ; + +M: object >regexp ; + +: matches? ( string regexp -- ? ) + >regexp regexp-parser just parse nil? not ; + +! Literal syntax for regexps +: parse-regexp ( accum end -- accum ) + lexer get dup skip-blank [ + [ index* dup 1+ swap ] 2keep swapd subseq swap + ] change-column parsed ; + +: R! CHAR: ! parse-regexp ; parsing +: R" CHAR: " parse-regexp ; parsing +: R# CHAR: # parse-regexp ; parsing +: R' CHAR: ' parse-regexp ; parsing +: R( CHAR: ) parse-regexp ; parsing +: R/ CHAR: / parse-regexp ; parsing +: R@ CHAR: @ parse-regexp ; parsing +: R[ CHAR: ] parse-regexp ; parsing +: R` CHAR: ` parse-regexp ; parsing +: R{ CHAR: } parse-regexp ; parsing +: R| CHAR: | parse-regexp ; parsing + +: find-regexp-syntax ( string -- prefix suffix ) + { + { "R/ " "/" } + { "R! " "!" } + { "R\" " "\"" } + { "R# " "#" } + { "R' " "'" } + { "R( " ")" } + { "R@ " "@" } + { "R[ " "]" } + { "R` " "`" } + { "R{ " "}" } + { "R| " "|" } + } swap [ subseq? not nip ] curry assoc-find drop ; + +M: regexp pprint* + dup regexp-source dup find-regexp-syntax pprint-string ; diff --git a/extra/rss/rss-tests.factor b/extra/rss/rss-tests.factor index 643c2ecf51..18aa8440b9 100644 --- a/extra/rss/rss-tests.factor +++ b/extra/rss/rss-tests.factor @@ -1,5 +1,9 @@ -USING: rss io.files tools.test ; -IN: temporary +USING: rss io kernel io.files tools.test ; + +: load-news-file ( filename -- feed ) + #! Load an news syndication file and process it, returning + #! it as an feed tuple. + read-feed ; [ T{ feed @@ -34,4 +38,3 @@ IN: temporary } } } ] [ "extra/rss/atom.xml" resource-path load-news-file ] unit-test -[ " & & hi" ] [ " & & hi" &>& ] unit-test diff --git a/extra/rss/rss.factor b/extra/rss/rss.factor index b0fdc65adb..da810ee377 100644 --- a/extra/rss/rss.factor +++ b/extra/rss/rss.factor @@ -1,24 +1,14 @@ -! Copyright (C) 2006 Chris Double. +! Copyright (C) 2006 Chris Double, Daniel Ehrenberg. ! See http://factorcode.org/license.txt for BSD license. IN: rss -! USING: kernel http-client xml xml-utils xml-data errors io strings -! sequences xml-writer parser-combinators lazy-lists entities ; -USING: xml.utilities kernel promises parser-combinators assocs - parser-combinators.replace strings sequences xml.data xml.writer +USING: xml.utilities kernel assocs + strings sequences xml.data xml.writer io.streams.string combinators xml xml.entities io.files io - http.client ; + http.client namespaces xml.generator hashtables ; : ?children>string ( tag/f -- string/f ) [ children>string ] [ f ] if* ; -LAZY: '&' ( -- parser ) - "&" token - [ blank? ] satisfy &> - [ "&" swap add ] <@ ; - -: &>& ( string -- string ) - '&' replace ; - TUPLE: feed title link entries ; C: feed @@ -72,26 +62,42 @@ C: entry children>string ] map ; -: feed ( xml -- feed ) +: xml>feed ( xml -- feed ) dup name-tag { { "RDF" [ rss1.0 ] } { "rss" [ rss2.0 ] } { "feed" [ atom1.0 ] } } case ; -: read-feed ( string -- feed ) - ! &>& ! this will be uncommented when parser-combinators are fixed - [ string>xml ] with-html-entities feed ; +: read-feed ( stream -- feed ) + [ read-xml ] with-html-entities xml>feed ; -: load-news-file ( filename -- feed ) - #! Load an news syndication file and process it, returning - #! it as an feed tuple. - [ contents read-feed ] keep stream-close ; - -: news-get ( url -- feed ) +: download-feed ( url -- feed ) #! Retrieve an news syndication file, return as a feed tuple. http-get rot 200 = [ nip read-feed ] [ 2drop "Error retrieving newsfeed file" throw ] if ; + +! Atom generation +: simple-tag, ( content name -- ) + [ , ] tag, ; + +: entry, ( entry -- ) + "entry" [ + dup entry-title "title" simple-tag, + "link" over entry-link "href" associate contained*, + dup entry-pub-date "published" simple-tag, + entry-description "content" simple-tag, + ] tag, ; + +: feed>xml ( feed -- xml ) + "feed" { { "xmlns" "http://www.w3.org/2005/Atom" } } [ + dup feed-title "title" simple-tag, + "link" over feed-link "href" associate contained*, + feed-entries [ entry, ] each + ] make-xml* ; + +: write-feed ( feed -- ) + feed>xml write-xml ; diff --git a/extra/sequences/lib/lib-tests.factor b/extra/sequences/lib/lib-tests.factor index c170a0d20a..82e2b911c3 100644 --- a/extra/sequences/lib/lib-tests.factor +++ b/extra/sequences/lib/lib-tests.factor @@ -39,3 +39,6 @@ math.functions tools.test ; [ 2 ] [ V{ 10 20 30 } [ delete-random drop ] keep length ] unit-test [ V{ } [ delete-random drop ] keep length ] unit-test-fails + +[ { 1 9 25 } ] [ { 1 3 5 6 } [ sq ] [ even? ] map-until ] unit-test +[ { 2 4 } ] [ { 2 4 1 3 } [ even? ] take-while ] unit-test diff --git a/extra/sequences/lib/lib.factor b/extra/sequences/lib/lib.factor index 33cfe80fcc..e090feffea 100644 --- a/extra/sequences/lib/lib.factor +++ b/extra/sequences/lib/lib.factor @@ -62,3 +62,15 @@ IN: sequences.lib : delete-random ( seq -- value ) [ length random ] keep [ nth ] 2keep delete-nth ; + +: (map-until) ( quot pred -- quot ) + [ dup ] swap 3compose + [ [ drop t ] [ , f ] if ] compose [ find 2drop ] curry ; + +: map-until ( seq quot pred -- newseq ) + (map-until) { } make ; + +: take-while ( seq quot -- newseq ) + [ not ] compose + [ find drop [ head-slice ] when* ] curry + [ dup ] swap compose keep like ; diff --git a/extra/tools/annotations/annotations.factor b/extra/tools/annotations/annotations.factor index d24d60cef6..e97f292416 100644 --- a/extra/tools/annotations/annotations.factor +++ b/extra/tools/annotations/annotations.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2005, 2007 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. USING: kernel words parser io inspector quotations sequences -prettyprint continuations ; +prettyprint continuations effects ; IN: tools.annotations : annotate ( word quot -- ) @@ -9,17 +9,29 @@ IN: tools.annotations swap define-compound do-parse-hook ; inline -: entering ( str -- ) "! Entering: " write print .s flush ; +: entering ( str -- ) + "/-- Entering: " write dup . + stack-effect [ + >r datastack r> effect-in length tail* stack. + ] [ + .s + ] if* "\\--" print flush ; -: leaving ( str -- ) "! Leaving: " write print .s flush ; +: leaving ( str -- ) + "/-- Leaving: " write dup . + stack-effect [ + >r datastack r> effect-out length tail* stack. + ] [ + .s + ] if* "\\--" print flush ; -: (watch) ( str def -- def ) +: (watch) ( word def -- def ) over [ entering ] curry rot [ leaving ] curry swapd 3append ; : watch ( word -- ) - dup word-name swap [ (watch) ] annotate ; + dup [ (watch) ] annotate ; : breakpoint ( word -- ) [ \ break add* ] annotate ; diff --git a/extra/tools/browser/browser-docs.factor b/extra/tools/browser/browser-docs.factor index 61ad58f5b3..db0e5942f5 100644 --- a/extra/tools/browser/browser-docs.factor +++ b/extra/tools/browser/browser-docs.factor @@ -1,6 +1,10 @@ USING: help.markup help.syntax io strings ; IN: tools.browser +ARTICLE: "vocab-index" "Vocabulary index" +{ $tags,authors } +{ $describe-vocab "" } ; + ARTICLE: "tools.browser" "Vocabulary browser" "Getting and setting vocabulary meta-data:" { $subsection vocab-summary } diff --git a/extra/tools/browser/browser.factor b/extra/tools/browser/browser.factor index 5342022b54..97d3c968cb 100644 --- a/extra/tools/browser/browser.factor +++ b/extra/tools/browser/browser.factor @@ -303,10 +303,6 @@ C: vocab-author "Authors" $heading all-authors authors. ; -ARTICLE: "vocab-index" "Vocabulary index" -{ $tags,authors } -{ $describe-vocab "" } ; - M: vocab-spec article-title vocab-name " vocabulary" append ; M: vocab-spec article-name vocab-name ; diff --git a/extra/tools/deploy/shaker/shaker.factor b/extra/tools/deploy/shaker/shaker.factor index 3e1aa3ab53..7b6d3fdbb5 100755 --- a/extra/tools/deploy/shaker/shaker.factor +++ b/extra/tools/deploy/shaker/shaker.factor @@ -111,6 +111,10 @@ SYMBOL: deploy-vocab builtins , strip-io? [ io-backend , ] unless + deploy-compiler? get [ + "callbacks" "alien.compiler" lookup , + ] when + strip-dictionary? [ { dictionary diff --git a/extra/ui/cocoa/cocoa.factor b/extra/ui/cocoa/cocoa.factor index 7492ad19b7..1e46544180 100755 --- a/extra/ui/cocoa/cocoa.factor +++ b/extra/ui/cocoa/cocoa.factor @@ -5,7 +5,7 @@ kernel memory namespaces cocoa.messages cocoa.runtime cocoa.subclassing cocoa.pasteboard cocoa.types cocoa.windows cocoa.classes cocoa.application sequences system ui ui.backend ui.clipboards ui.gadgets ui.gadgets.worlds ui.cocoa.views -core-foundation ; +core-foundation threads ; IN: ui.cocoa TUPLE: cocoa-ui-backend ; diff --git a/extra/ui/gadgets/incremental/incremental.factor b/extra/ui/gadgets/incremental/incremental.factor index a5c7431d36..c90b955eb7 100755 --- a/extra/ui/gadgets/incremental/incremental.factor +++ b/extra/ui/gadgets/incremental/incremental.factor @@ -40,13 +40,13 @@ M: incremental pref-dim* swap set-rect-loc ; : prefer-incremental ( gadget -- ) - dup forget-pref-dim dup pref-dim over set-rect-dim - layout ; + dup forget-pref-dim dup pref-dim swap set-rect-dim ; : add-incremental ( gadget incremental -- ) not-in-layout 2dup (add-gadget) over prefer-incremental + over layout-later 2dup incremental-loc tuck update-cursor dup prefer-incremental diff --git a/extra/ui/tools/debugger/debugger.factor b/extra/ui/tools/debugger/debugger.factor index 0e7addb157..a7c173799a 100644 --- a/extra/ui/tools/debugger/debugger.factor +++ b/extra/ui/tools/debugger/debugger.factor @@ -52,7 +52,7 @@ debugger "gestures" f { \ :help H{ { +nullary+ t } { +listener+ t } } define-command -\ :edit H{ { +nullary+ t } } define-command +\ :edit H{ { +nullary+ t } { +listener+ t } } define-command debugger "toolbar" f { { T{ key-down f f "s" } com-traceback } diff --git a/extra/ui/tools/operations/operations.factor b/extra/ui/tools/operations/operations.factor index d2d7685f45..b7a59f5c28 100755 --- a/extra/ui/tools/operations/operations.factor +++ b/extra/ui/tools/operations/operations.factor @@ -64,6 +64,7 @@ V{ } clone operations set-global { +keyboard+ T{ key-down f { C+ } "E" } } { +primary+ t } { +secondary+ t } + { +listener+ t } } define-operation UNION: definition word method-spec link ; @@ -72,6 +73,7 @@ UNION: editable-definition definition vocab vocab-link ; [ editable-definition? ] \ edit H{ { +keyboard+ T{ key-down f { C+ } "E" } } + { +listener+ t } } define-operation UNION: reloadable-definition definition pathname ; diff --git a/extra/ui/ui.factor b/extra/ui/ui.factor index bafd6c40c5..09c06035b8 100755 --- a/extra/ui/ui.factor +++ b/extra/ui/ui.factor @@ -4,7 +4,7 @@ USING: arrays assocs io kernel math models namespaces prettyprint dlists sequences threads sequences words timers debugger ui.gadgets ui.gadgets.worlds ui.gadgets.tracks ui.gestures ui.backend ui.render continuations init -combinators ; +combinators hashtables ; IN: ui ! Assoc mapping aliens to gadgets @@ -114,7 +114,7 @@ SYMBOL: ui-hook layout-queue [ dup layout find-world [ , ] when* ] dlist-slurp - ] { } make ; + ] { } make prune ; : redraw-worlds ( seq -- ) [ dup update-hand draw-world ] each ; diff --git a/extra/ui/windows/windows.factor b/extra/ui/windows/windows.factor index 43b30d7a9f..3d95e281aa 100755 --- a/extra/ui/windows/windows.factor +++ b/extra/ui/windows/windows.factor @@ -257,14 +257,12 @@ M: windows-ui-backend (close-window) : prepare-mouse ( hWnd uMsg wParam lParam -- button coordinate world ) nip >r mouse-event>gesture r> >lo-hi rot window ; -: mouse-captured? ( -- ? ) - mouse-captured get ; - : set-capture ( hwnd -- ) mouse-captured get [ drop ] [ - [ SetCapture drop ] keep mouse-captured set + [ SetCapture drop ] keep + mouse-captured set ] if ; : release-capture ( -- ) @@ -276,7 +274,7 @@ M: windows-ui-backend (close-window) prepare-mouse send-button-down ; : handle-wm-buttonup ( hWnd uMsg wParam lParam -- ) - mouse-captured? [ release-capture ] when + mouse-captured get [ release-capture ] when prepare-mouse send-button-up ; : make-TRACKMOUSEEVENT ( hWnd -- alien ) @@ -434,7 +432,7 @@ M: windows-ui-backend flush-gl-context ( handle -- ) ! Move window to front M: windows-ui-backend raise-window ( world -- ) world-handle [ - win-hWnd SetFocus drop release-capture + win-hWnd SetFocus drop ] when* ; M: windows-ui-backend set-title ( string world -- ) diff --git a/extra/ui/x11/x11.factor b/extra/ui/x11/x11.factor index 2b1a5ba331..5984e3decd 100755 --- a/extra/ui/x11/x11.factor +++ b/extra/ui/x11/x11.factor @@ -5,7 +5,7 @@ ui.clipboards ui.gadgets.worlds assocs kernel math namespaces opengl sequences strings x11.xlib x11.events x11.xim x11.glx x11.clipboard x11.constants x11.windows io.utf8 combinators debugger system command-line ui.render math.vectors tuples -opengl.gl ; +opengl.gl threads ; IN: ui.x11 TUPLE: x11-ui-backend ; diff --git a/extra/units/si/si.factor b/extra/units/si/si.factor index c07ffb8423..9029d6bd35 100644 --- a/extra/units/si/si.factor +++ b/extra/units/si/si.factor @@ -38,8 +38,11 @@ IN: units.si : cd/m^2 { cd } { m m } ; : kg/kg { kg } { kg } ; -: radians ( n -- radian ) { m } { m } ; -: sr ( n -- steradian ) { m m } { m m } ; +! Radians are really m/m, and steradians are m^2/m^2 +! but they need to be in reduced form here. +: radians ( n -- radian ) scalar ; +: sr ( n -- steradian ) scalar ; + : Hz ( n -- hertz ) { } { s } ; : N ( n -- newton ) { kg m } { s s } ; : Pa ( n -- pascal ) { kg } { m s s } ; diff --git a/extra/webapps/planet/planet.factor b/extra/webapps/planet/planet.factor index c7f4e4c2f1..9fdafe033b 100644 --- a/extra/webapps/planet/planet.factor +++ b/extra/webapps/planet/planet.factor @@ -11,7 +11,7 @@ TUPLE: posting author title date link body ; : fetch-feed ( pair -- feed ) second dup "Fetching " diagnostic - dup news-get feed-entries + dup download-feed feed-entries swap "Done fetching " diagnostic ; : fetch-blogroll ( blogroll -- entries ) @@ -125,3 +125,15 @@ SYMBOL: last-update [ update-thread ] in-thread ; "planet" "planet-factor" "extra/webapps/planet" web-app + +: merge-feeds ( feeds -- feed ) + [ feed-entries ] map concat sort-entries ; + +: planet-feed ( -- feed ) + default-blogroll get [ second download-feed ] map merge-feeds + >r "[ planet-factor ]" "http://planet.factorcode.org" r> + feed>xml ; + +: feed.xml planet-feed ; + +\ feed.xml { } define-action diff --git a/extra/windows/kernel32/kernel32.factor b/extra/windows/kernel32/kernel32.factor index bb8919dd70..5e0f4ddc65 100755 --- a/extra/windows/kernel32/kernel32.factor +++ b/extra/windows/kernel32/kernel32.factor @@ -1010,7 +1010,8 @@ FUNCTION: HANDLE GetStdHandle ( DWORD nStdHandle ) ; ! FUNCTION: GetSystemDefaultLCID ! FUNCTION: GetSystemDefaultUILanguage ! FUNCTION: GetSystemDirectoryA -! FUNCTION: GetSystemDirectoryW +FUNCTION: UINT GetSystemDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ; +: GetSystemDirectory GetSystemDirectoryW ; inline FUNCTION: void GetSystemInfo ( LPSYSTEM_INFO lpSystemInfo ) ; ! FUNCTION: GetSystemPowerStatus ! FUNCTION: GetSystemRegistryQuota @@ -1019,7 +1020,8 @@ FUNCTION: void GetSystemTime ( LPSYSTEMTIME lpSystemTime ) ; FUNCTION: void GetSystemTimeAsFileTime ( LPFILETIME lpSystemTimeAsFileTime ) ; ! FUNCTION: GetSystemTimes ! FUNCTION: GetSystemWindowsDirectoryA -! FUNCTION: GetSystemWindowsDirectoryW +FUNCTION: UINT GetSystemWindowsDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ; +: GetSystemWindowsDirectory GetSystemWindowsDirectoryW ; inline ! FUNCTION: GetSystemWow64DirectoryA ! FUNCTION: GetSystemWow64DirectoryW ! FUNCTION: GetTapeParameters @@ -1057,7 +1059,8 @@ FUNCTION: BOOL GetVersionExW ( LPOSVERSIONINFO lpVersionInfo ) ; ! FUNCTION: GetVolumePathNamesForVolumeNameW ! FUNCTION: GetVolumePathNameW ! FUNCTION: GetWindowsDirectoryA -! FUNCTION: GetWindowsDirectoryW +FUNCTION: UINT GetWindowsDirectoryW ( LPTSTR lpBuffer, UINT uSize ) ; +: GetWindowsDirectory GetWindowsDirectoryW ; inline ! FUNCTION: GetWriteWatch ! FUNCTION: GlobalAddAtomA ! FUNCTION: GlobalAddAtomW diff --git a/extra/windows/nt/nt.factor b/extra/windows/nt/nt.factor index d9e8f58cc2..8a709416d8 100644 --- a/extra/windows/nt/nt.factor +++ b/extra/windows/nt/nt.factor @@ -6,6 +6,7 @@ USING: alien sequences ; { "kernel32" "kernel32.dll" "stdcall" } { "winsock" "ws2_32.dll" "stdcall" } { "mswsock" "mswsock.dll" "stdcall" } + { "shell32" "shell32.dll" "stdcall" } { "libc" "msvcrt.dll" "cdecl" } { "libm" "msvcrt.dll" "cdecl" } { "gl" "opengl32.dll" "stdcall" } diff --git a/extra/windows/shell32/shell32.factor b/extra/windows/shell32/shell32.factor new file mode 100644 index 0000000000..a6599df637 --- /dev/null +++ b/extra/windows/shell32/shell32.factor @@ -0,0 +1,127 @@ +USING: alien alien.c-types alien.syntax combinators +kernel windows ; +IN: windows.shell32 + +: CSIDL_DESKTOP HEX: 00 ; inline +: CSIDL_INTERNET HEX: 01 ; inline +: CSIDL_PROGRAMS HEX: 02 ; inline +: CSIDL_CONTROLS HEX: 03 ; inline +: CSIDL_PRINTERS HEX: 04 ; inline +: CSIDL_PERSONAL HEX: 05 ; inline +: CSIDL_FAVORITES HEX: 06 ; inline +: CSIDL_STARTUP HEX: 07 ; inline +: CSIDL_RECENT HEX: 08 ; inline +: CSIDL_SENDTO HEX: 09 ; inline +: CSIDL_BITBUCKET HEX: 0a ; inline +: CSIDL_STARTMENU HEX: 0b ; inline +: CSIDL_MYDOCUMENTS HEX: 0c ; inline +: CSIDL_MYMUSIC HEX: 0d ; inline +: CSIDL_MYVIDEO HEX: 0e ; inline +: CSIDL_DESKTOPDIRECTORY HEX: 10 ; inline +: CSIDL_DRIVES HEX: 11 ; inline +: CSIDL_NETWORK HEX: 12 ; inline +: CSIDL_NETHOOD HEX: 13 ; inline +: CSIDL_FONTS HEX: 14 ; inline +: CSIDL_TEMPLATES HEX: 15 ; inline +: CSIDL_COMMON_STARTMENU HEX: 16 ; inline +: CSIDL_COMMON_PROGRAMS HEX: 17 ; inline +: CSIDL_COMMON_STARTUP HEX: 18 ; inline +: CSIDL_COMMON_DESKTOPDIRECTORY HEX: 19 ; inline +: CSIDL_APPDATA HEX: 1a ; inline +: CSIDL_PRINTHOOD HEX: 1b ; inline +: CSIDL_LOCAL_APPDATA HEX: 1c ; inline +: CSIDL_ALTSTARTUP HEX: 1d ; inline +: CSIDL_COMMON_ALTSTARTUP HEX: 1e ; inline +: CSIDL_COMMON_FAVORITES HEX: 1f ; inline +: CSIDL_INTERNET_CACHE HEX: 20 ; inline +: CSIDL_COOKIES HEX: 21 ; inline +: CSIDL_HISTORY HEX: 22 ; inline +: CSIDL_COMMON_APPDATA HEX: 23 ; inline +: CSIDL_WINDOWS HEX: 24 ; inline +: CSIDL_SYSTEM HEX: 25 ; inline +: CSIDL_PROGRAM_FILES HEX: 26 ; inline +: CSIDL_MYPICTURES HEX: 27 ; inline +: CSIDL_PROFILE HEX: 28 ; inline +: CSIDL_SYSTEMX86 HEX: 29 ; inline +: CSIDL_PROGRAM_FILESX86 HEX: 2a ; inline +: CSIDL_PROGRAM_FILES_COMMON HEX: 2b ; inline +: CSIDL_PROGRAM_FILES_COMMONX86 HEX: 2c ; inline +: CSIDL_COMMON_TEMPLATES HEX: 2d ; inline +: CSIDL_COMMON_DOCUMENTS HEX: 2e ; inline +: CSIDL_COMMON_ADMINTOOLS HEX: 2f ; inline +: CSIDL_ADMINTOOLS HEX: 30 ; inline +: CSIDL_CONNECTIONS HEX: 31 ; inline +: CSIDL_COMMON_MUSIC HEX: 35 ; inline +: CSIDL_COMMON_PICTURES HEX: 36 ; inline +: CSIDL_COMMON_VIDEO HEX: 37 ; inline +: CSIDL_RESOURCES HEX: 38 ; inline +: CSIDL_RESOURCES_LOCALIZED HEX: 39 ; inline +: CSIDL_COMMON_OEM_LINKS HEX: 3a ; inline +: CSIDL_CDBURN_AREA HEX: 3b ; inline +: CSIDL_COMPUTERSNEARME HEX: 3d ; inline +: CSIDL_PROFILES HEX: 3e ; inline +: CSIDL_FOLDER_MASK HEX: ff ; inline +: CSIDL_FLAG_PER_USER_INIT HEX: 800 ; inline +: CSIDL_FLAG_NO_ALIAS HEX: 1000 ; inline +: CSIDL_FLAG_DONT_VERIFY HEX: 4000 ; inline +: CSIDL_FLAG_CREATE HEX: 8000 ; inline +: CSIDL_FLAG_MASK HEX: ff00 ; inline + +: S_OK 0 ; inline +: S_FALSE 1 ; inline +: E_FAIL HEX: 80004005 ; inline +: E_INVALIDARG HEX: 80070057 ; inline +: ERROR_FILE_NOT_FOUND 2 ; inline + + +: SHGFP_TYPE_CURRENT 0 ; inline +: SHGFP_TYPE_DEFAULT 1 ; inline + +LIBRARY: shell32 + +TYPEDEF: void* PIDLIST_ABSOLUTE +FUNCTION: HRESULT SHGetFolderPathW ( HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPTSTR pszPath ) ; +! SHGetSpecialFolderLocation +! SHGetSpecialFolderPath + +: SHGetFolderPath SHGetFolderPathW ; inline + +: shell32-error ( n -- ) + dup S_OK = [ + drop + ] [ + { + ! { ERROR_FILE_NOT_FOUND [ "file not found" throw ] } + ! { E_INVALIDARG [ "invalid arg" throw ] } + [ (win32-error-string) throw ] + } case + ] if ; + +: shell32-directory ( n -- str ) + f swap f SHGFP_TYPE_DEFAULT + MAX_UNICODE_PATH "ushort" + [ SHGetFolderPath shell32-error ] keep alien>u16-string ; + +: desktop ( -- str ) + CSIDL_DESKTOPDIRECTORY shell32-directory ; + +: my-documents ( -- str ) + CSIDL_PERSONAL shell32-directory ; + +: application-data ( -- str ) + CSIDL_APPDATA shell32-directory ; + +: programs ( -- str ) + CSIDL_PROGRAMS shell32-directory ; + +: program-files ( -- str ) + CSIDL_PROGRAM_FILES shell32-directory ; + +: program-files-x86 ( -- str ) + CSIDL_PROGRAM_FILESX86 shell32-directory ; + +: program-files-common ( -- str ) + CSIDL_PROGRAM_FILES_COMMON shell32-directory ; + +: program-files-common-x86 ( -- str ) + CSIDL_PROGRAM_FILES_COMMONX86 shell32-directory ; diff --git a/extra/windows/windows.factor b/extra/windows/windows.factor index 657a8e8a7c..e07c504781 100755 --- a/extra/windows/windows.factor +++ b/extra/windows/windows.factor @@ -7,6 +7,7 @@ IN: windows : lo-word ( wparam -- lo ) *short ; inline : hi-word ( wparam -- hi ) -16 shift lo-word ; inline +: MAX_UNICODE_PATH 32768 ; inline ! You must LocalFree the return value! FUNCTION: void* error_message ( DWORD id ) ; diff --git a/extra/x/x.factor b/extra/x/x.factor index e55dc3f5cd..8d9f869fa3 100644 --- a/extra/x/x.factor +++ b/extra/x/x.factor @@ -29,7 +29,8 @@ define-independent-class "create" !( name -- display ) [ new-empty swap >>name - dup $name dup [ string>char-alien ] [ ] if XOpenDisplay >>ptr + dup $name dup [ string>char-alien ] [ ] if XOpenDisplay + dup [ >>ptr ] [ "XOpenDisplay error" throw ] if dup $ptr XDefaultScreen >>default-screen dup $ptr XDefaultRootWindow dupd new >>default-root dup $ptr over $default-screen XDefaultGC >>default-gc diff --git a/extra/xml/data/data.factor b/extra/xml/data/data.factor index 56e34b7db2..1850171537 100644 --- a/extra/xml/data/data.factor +++ b/extra/xml/data/data.factor @@ -65,6 +65,8 @@ M: attrs set-at M: attrs assoc-size length ; M: attrs new-assoc drop V{ } new ; +M: attrs assoc-find >r delegate r> assoc-find ; +M: attrs >alist delegate >alist ; : >attrs ( assoc -- attrs ) V{ } assoc-clone-like diff --git a/extra/xmode/README.txt b/extra/xmode/README.txt new file mode 100755 index 0000000000..bf73042030 --- /dev/null +++ b/extra/xmode/README.txt @@ -0,0 +1,41 @@ +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. + +This is still a work in progress. If you find any behavioral differences +between the Factor implementation and the original jEdit code, please +report them as bugs. Also, 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 new file mode 100644 index 0000000000..1901f27a24 --- /dev/null +++ b/extra/xmode/authors.txt @@ -0,0 +1 @@ +Slava Pestov diff --git a/extra/xmode/catalog/catalog-tests.factor b/extra/xmode/catalog/catalog-tests.factor new file mode 100644 index 0000000000..e5d049de72 --- /dev/null +++ b/extra/xmode/catalog/catalog-tests.factor @@ -0,0 +1,9 @@ +IN: temporary +USING: xmode.catalog tools.test hashtables assocs +kernel sequences io ; + +[ t ] [ modes hashtable? ] unit-test + +[ ] [ + modes keys [ dup print load-mode drop reset-modes ] each +] unit-test diff --git a/extra/xmode/catalog/catalog.factor b/extra/xmode/catalog/catalog.factor new file mode 100644 index 0000000000..cde9c6b025 --- /dev/null +++ b/extra/xmode/catalog/catalog.factor @@ -0,0 +1,55 @@ +USING: xmode.loader xmode.utilities namespaces +assocs sequences kernel io.files xml memoize words globs ; +IN: xmode.catalog + +TUPLE: mode file file-name-glob first-line-glob ; + +r + mode construct-empty { + { "FILE" f set-mode-file } + { "FILE_NAME_GLOB" f set-mode-file-name-glob } + { "FIRST_LINE_GLOB" f set-mode-first-line-glob } + } init-from-tag r> + rot set-at ; + +TAGS> + +: parse-modes-tag ( tag -- modes ) + H{ } clone [ + swap child-tags [ parse-mode-tag ] curry* each + ] keep ; + +: load-catalog ( -- modes ) + "extra/xmode/modes/catalog" resource-path + read-xml parse-modes-tag ; + +: modes ( -- ) + \ modes get-global [ + load-catalog dup \ modes set-global + ] unless* ; + +: reset-catalog ( -- ) + f \ modes set-global ; + +MEMO: load-mode ( name -- rule-sets ) + modes at mode-file + "extra/xmode/modes/" swap append + resource-path parse-mode ; + +: reset-modes ( -- ) + \ load-mode "memoize" word-prop clear-assoc ; + +: ?glob-matches ( string glob/f -- ? ) + dup [ glob-matches? ] [ 2drop f ] if ; + +: suitable-mode? ( file-name first-line mode -- ? ) + tuck mode-first-line-glob ?glob-matches + [ 2drop t ] [ mode-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/code2html.factor b/extra/xmode/code2html/code2html.factor new file mode 100644 index 0000000000..02bf74dc23 --- /dev/null +++ b/extra/xmode/code2html/code2html.factor @@ -0,0 +1,45 @@ +USING: xmode.tokens xmode.marker +xmode.catalog kernel html html.elements io io.files +sequences words ; +IN: xmode.code2html + +: htmlize-tokens ( tokens -- ) + [ + dup token-str swap token-id [ + write + ] [ + write + ] if* + ] each ; + +: htmlize-line ( line-context line rules -- line-context' ) + tokenize-line htmlize-tokens ; + +: htmlize-lines ( lines rules -- ) +
 f -rot [ htmlize-line nl ] curry each drop 
; + +: default-stylesheet ( -- ) + ; + +: htmlize-file ( path -- ) + dup lines dup empty? [ 2drop ] [ + swap dup ".html" append [ + [ + + + dup write + default-stylesheet + + + over first + find-mode + load-mode + htmlize-lines + + + ] with-html-stream + ] with-stream + ] if ; diff --git a/extra/xmode/code2html/stylesheet.css b/extra/xmode/code2html/stylesheet.css new file mode 100644 index 0000000000..4cd4f8bfc1 --- /dev/null +++ b/extra/xmode/code2html/stylesheet.css @@ -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/extra/xmode/keyword-map/keyword-map-tests.factor b/extra/xmode/keyword-map/keyword-map-tests.factor new file mode 100644 index 0000000000..9fbe9110e8 --- /dev/null +++ b/extra/xmode/keyword-map/keyword-map-tests.factor @@ -0,0 +1,30 @@ +IN: temporary +USING: xmode.keyword-map xmode.tokens +tools.test namespaces assocs kernel strings ; + +f 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 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 new file mode 100644 index 0000000000..b75c24393c --- /dev/null +++ b/extra/xmode/keyword-map/keyword-map.factor @@ -0,0 +1,38 @@ +USING: kernel strings assocs sequences hashtables sorting ; +IN: xmode.keyword-map + +! Based on org.gjt.sp.jedit.syntax.KeywordMap +TUPLE: keyword-map no-word-sep ignore-case? ; + +: ( ignore-case? -- map ) + H{ } clone { set-keyword-map-ignore-case? set-delegate } + keyword-map construct ; + +: invalid-no-word-sep f swap set-keyword-map-no-word-sep ; + +: handle-case ( key keyword-map -- key assoc ) + [ keyword-map-ignore-case? [ >upper ] when ] keep + delegate ; + +M: keyword-map at* handle-case at* ; + +M: keyword-map set-at + [ handle-case set-at ] keep invalid-no-word-sep ; + +M: keyword-map clear-assoc + [ delegate clear-assoc ] keep invalid-no-word-sep ; + +M: keyword-map assoc-find >r delegate r> assoc-find ; + +M: keyword-map >alist delegate >alist ; + +: (keyword-map-no-word-sep) + keys concat [ alpha? not ] subset prune natural-sort ; + +: keyword-map-no-word-sep* ( keyword-map -- str ) + dup keyword-map-no-word-sep [ ] [ + dup (keyword-map-no-word-sep) + dup rot set-keyword-map-no-word-sep + ] ?if ; + +INSTANCE: keyword-map assoc diff --git a/extra/xmode/loader/loader.factor b/extra/xmode/loader/loader.factor new file mode 100755 index 0000000000..c6b5cad9d1 --- /dev/null +++ b/extra/xmode/loader/loader.factor @@ -0,0 +1,175 @@ +USING: 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 ; +IN: xmode.loader + +! Based on org.gjt.sp.jedit.XModeHandler + +! Attribute utilities +: string>boolean ( string -- ? ) "TRUE" = ; + +: string>match-type ( string -- obj ) + { + { "RULE" [ f ] } + { "CONTEXT" [ t ] } + [ string>token ] + } case ; + +: string>rule-set-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 swap position-attrs ; + +: parse-regexp-matcher ( tag -- matcher ) + dup children>string swap position-attrs ; + +! SPAN's children + + +! RULES and its children +number swap set-rule-set-terminate-char ; + +: (parse-rule-tag) ( rule-set tag specs class -- ) + construct-rule swap init-from-tag swap add-rule ; inline + +: RULE: + scan scan-word + parse-definition { } make + swap [ (parse-rule-tag) ] 2curry (TAG:) ; parsing + +: shared-tag-attrs + { "TYPE" string>token set-rule-body-token } , ; inline + +: delegate-attr + { "DELEGATE" f set-rule-delegate } , ; + +: regexp-attr + { "HASH_CHAR" f set-rule-chars } , ; + +: match-type-attr + { "MATCH_TYPE" string>match-type set-rule-match-token } , ; + +: span-attrs + { "NO_LINE_BREAK" string>boolean set-rule-no-line-break? } , + { "NO_WORD_BREAK" string>boolean set-rule-no-word-break? } , + { "NO_ESCAPE" string>boolean set-rule-no-escape? } , ; + +: literal-start + [ parse-literal-matcher swap set-rule-start ] , ; + +: regexp-start + [ parse-regexp-matcher swap set-rule-start ] , ; + +: literal-end + [ parse-literal-matcher swap set-rule-end ] , ; + +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 ; + +: parse-begin/end-tags + [ + ! XXX: handle position attrs on span tag itself + child-tags [ parse-begin/end-tag ] curry* each + ] , ; + +: init-span-tag [ drop init-span ] , ; + +: init-eol-span-tag [ drop init-eol-span ] , ; + +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 ; + +: parse-keyword-tag + dup name-tag string>token swap children>string rot set-at ; + +TAG: KEYWORDS ( rule-set tag -- key value ) + >r rule-set-keywords r> + child-tags [ parse-keyword-tag ] curry* each ; + +TAGS> + +: (parse-rules-tag) ( tag -- rule-set ) + + { + { "SET" string>rule-set-name set-rule-set-name } + { "IGNORE_CASE" string>boolean set-rule-set-ignore-case? } + { "HIGHLIGHT_DIGITS" string>boolean set-rule-set-highlight-digits? } + { "DIGIT_RE" set-rule-set-digit-re } ! XXX + { "ESCAPE" f add-escape-rule } + { "DEFAULT" string>token set-rule-set-default } + { "NO_WORD_SEP" f set-rule-set-no-word-sep } + } init-from-tag ; + +: parse-rules-tag ( tag -- rule-set ) + dup (parse-rules-tag) [ + swap child-tags [ + parse-rule-tag + ] curry* each + ] keep ; + +: merge-rule-set-props ( props rule-set -- ) + [ rule-set-props union ] keep set-rule-set-props ; + +! Top-level entry points +: parse-mode-tag ( tag -- rule-sets ) + dup "RULES" tags-named [ + parse-rules-tag dup rule-set-name swap + ] H{ } map>assoc + swap "PROPS" tag-named [ + parse-props-tag over values + [ merge-rule-set-props ] curry* each + ] when* ; + +: parse-mode ( stream -- rule-sets ) + read-xml parse-mode-tag ; diff --git a/extra/xmode/marker/context/context.factor b/extra/xmode/marker/context/context.factor new file mode 100644 index 0000000000..8023e1d321 --- /dev/null +++ b/extra/xmode/marker/context/context.factor @@ -0,0 +1,19 @@ +USING: kernel ; +IN: xmode.marker.context + +! Based on org.gjt.sp.jedit.syntax.TokenMarker.LineContext +TUPLE: line-context +parent +in-rule +in-rule-set +end +; + +: ( ruleset parent -- line-context ) + { set-line-context-in-rule-set set-line-context-parent } + line-context construct ; + +M: line-context clone + (clone) + dup line-context-parent clone + over set-line-context-parent ; diff --git a/extra/xmode/marker/marker-tests.factor b/extra/xmode/marker/marker-tests.factor new file mode 100755 index 0000000000..cb7f2960a4 --- /dev/null +++ b/extra/xmode/marker/marker-tests.factor @@ -0,0 +1,111 @@ +USING: xmode.tokens xmode.catalog +xmode.marker tools.test kernel ; +IN: temporary + +[ + { + 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 } + } +] [ + f "" "xml" load-mode tokenize-line nip +] unit-test + +[ + { + T{ token f "" KEYWORD2 } + } +] [ + f "" "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 diff --git a/extra/xmode/marker/marker.factor b/extra/xmode/marker/marker.factor new file mode 100755 index 0000000000..cd9eacbb88 --- /dev/null +++ b/extra/xmode/marker/marker.factor @@ -0,0 +1,319 @@ +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 ; + +! 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 rule-set-highlight-digits? ] + [ dup [ digit? ] contains? ] + [ + dup [ digit? ] all? [ + current-rule-set rule-set-digit-re dup + [ dupd 2drop f ] [ drop f ] if + ] unless* + ] + } && nip ; + +: mark-number ( keyword -- id ) + keyword-number? DIGIT and ; + +: resolve-delegate ( name -- rules ) + dup string? [ + "::" split1 [ swap load-mode at ] [ rule-sets get at ] if* + ] when ; + +: rule-set-keyword-maps ( ruleset -- seq ) + dup rule-set-imports + [ resolve-delegate rule-set-keyword-maps ] map concat + swap rule-set-keywords add ; + +: mark-keyword ( keyword -- id ) + current-rule-set rule-set-keyword-maps assoc-stack ; + +: add-remaining-token ( -- ) + current-rule-set rule-set-default prev-token, ; + +: mark-token ( -- ) + current-keyword + dup mark-number [ ] [ mark-keyword ] ?if + [ prev-token, ] when* ; + +: check-terminate-char ( -- ) + current-rule-set rule-set-terminate-char [ + position get <= [ + terminated? on + ] when + ] 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 matcher-at-line-start? over zero? implies ] + [ over matcher-at-whitespace-end? over whitespace-end get = implies ] + [ over matcher-at-word-start? over last-offset get = implies ] + } && 2nip ; + +GENERIC: text-matches? ( position text -- match-count/f ) + +M: f text-matches? 2drop f ; + +M: string text-matches? + ! XXX ignore case + >r line get swap tail-slice r> + [ head? ] keep length and ; + +! M: regexp text-matches? ... ; + +: rule-start-matches? ( rule -- match-count/f ) + dup rule-start tuck swap can-match-here? [ + position get swap matcher-text text-matches? + ] [ + drop f + ] if ; + +: rule-end-matches? ( rule -- match-count/f ) + dup mark-following-rule? [ + dup rule-start swap can-match-here? 0 and + ] [ + dup rule-end tuck swap can-match-here? [ + position get swap matcher-text + context get line-context-end or + text-matches? + ] [ + drop f + ] if + ] if ; + +DEFER: get-rules + +: get-imported-rules ( vector/f char ruleset -- vector/f ) + rule-set-imports + [ resolve-delegate get-rules ?push-all ] curry* each ; + +: get-always-rules ( vector/f ruleset -- vector/f ) + f swap rule-set-rules at ?push-all ; + +: get-char-rules ( vector/f char ruleset -- vector/f ) + >r ch>upper r> rule-set-rules at ?push-all ; + +: get-rules ( char ruleset -- seq ) + f -rot + [ get-char-rules ] 2keep + [ get-always-rules ] keep + get-imported-rules ; + +GENERIC: handle-rule-start ( match-count rule -- ) + +GENERIC: handle-rule-end ( match-count rule -- ) + +: find-escape-rule ( -- rule ) + context get dup + line-context-in-rule-set rule-set-escape-rule [ ] [ + line-context-parent line-context-in-rule-set + dup [ rule-set-escape-rule ] when + ] ?if ; + +: check-escape-rule ( 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 rule-match-token { + { f [ dup rule-body-token ] } + { t [ current-rule-set 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 rule-body-token next-token, + rule-delegate [ resolve-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 set-line-context-in-rule + rule-delegate resolve-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 set-line-context-end + context get set-line-context-in-rule ; + +M: mark-following-rule handle-rule-end + nip rule-match-token* prev-token, + f context get set-line-context-in-rule ; + +M: mark-previous-rule handle-rule-start + ?end-rule + mark-token + dup rule-body-token prev-token, + rule-match-token* next-token, ; + +: do-escaped + escaped? get [ + escaped? off + ! ... + ] when ; + +: check-end-delegate ( -- ? ) + context get line-context-parent [ + line-context-in-rule [ + dup rule-end-matches? dup [ + [ + swap handle-rule-end + ?end-rule + mark-token + add-remaining-token + ] keep context get line-context-parent line-context-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 line-context-parent [ + line-context-in-rule dup rule-no-word-break? [ + rule-match-token* prev-token, + pop-context + ] [ drop ] if + ] when* ; + +: check-rule ( -- ) + ?end-rule + handle-no-word-break + mark-token + add-remaining-token ; + +: (check-word-break) ( -- ) + check-rule + + 1 current-rule-set rule-set-default next-token, ; + +: rule-set-empty? ( ruleset -- ? ) + dup rule-set-rules assoc-empty? + swap rule-set-keywords assoc-empty? 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-terminate-char + + { + [ check-end-delegate ] + [ check-every-rule ] + [ check-word-break ] + } || drop + + position inc + mark-token-loop + ] when ; + +: mark-remaining ( -- ) + line get length position set + check-rule ; + +: unwind-no-line-break ( -- ) + context get line-context-parent [ + line-context-in-rule rule-no-line-break? + terminated? get or [ + pop-context + unwind-no-line-break + ] when + ] when* ; + +: tokenize-line ( line-context line rules -- line-context' seq ) + [ + init-token-marker + mark-token-loop + mark-remaining + unwind-no-line-break + context get + ] { } make ; diff --git a/extra/xmode/marker/state/state.factor b/extra/xmode/marker/state/state.factor new file mode 100755 index 0000000000..cce7c7567a --- /dev/null +++ b/extra/xmode/marker/state/state.factor @@ -0,0 +1,67 @@ +USING: xmode.marker.context xmode.rules +xmode.tokens namespaces kernel sequences assocs math ; +IN: xmode.marker.state + +! Based on org.gjt.sp.jedit.syntax.TokenMarker + +SYMBOL: rule-sets +SYMBOL: line +SYMBOL: last-offset +SYMBOL: position +SYMBOL: context + +SYMBOL: whitespace-end +SYMBOL: seen-whitespace-end? + +SYMBOL: escaped? +SYMBOL: process-escape? +SYMBOL: delegate-end-escaped? +SYMBOL: terminated? + +: current-rule ( -- rule ) + context get line-context-in-rule ; + +: current-rule-set ( -- rule ) + context get line-context-in-rule-set ; + +: current-keywords ( -- keyword-map ) + current-rule-set rule-set-keywords ; + +: token, ( from to id -- ) + pick pick = [ 3drop ] [ >r line get subseq r> , ] 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 ; + +: get-rule-set ( name -- rule-set ) + rule-sets get at ; + +: main-rule-set ( -- rule-set ) + "MAIN" get-rule-set ; + +: push-context ( rules -- ) + context [ ] change ; + +: pop-context ( -- ) + context get line-context-parent + dup context set + f swap set-line-context-in-rule ; + +: terminal-rule-set ( -- rule-set ) + get-rule-set rule-set-default standard-rule-set + push-context ; + +: init-token-marker ( prev-context line rules -- ) + rule-sets set + line set + 0 position set + 0 last-offset set + 0 whitespace-end set + process-escape? on + [ clone ] [ main-rule-set f ] if* + context set ; diff --git a/extra/xmode/modes/actionscript.xml b/extra/xmode/modes/actionscript.xml new file mode 100644 index 0000000000..387258d868 --- /dev/null +++ b/extra/xmode/modes/actionscript.xml @@ -0,0 +1,829 @@ + + + + + + + + + + + + + + + + + + + + + + /* + */ + + + + " + " + + + + ' + ' + + + ( + ) + + // + ) + ( + + = + ! + >= + <= + + + - + / + * + > + < + % + & + | + ^ + ~ + . + } + { + , + ; + ] + [ + ? + : + : + + + + add + and + break + continue + delete + do + else + eq + for + function + ge + gt + if + ifFrameLoaded + in + le + lt + ne + new + not + on + onClipEvent + or + return + this + tellTarget + typeof + var + void + while + with + + + Array + Boolean + Color + Date + Function + Key + MovieClip + Math + Mouse + Number + Object + Selection + Sound + String + XML + XMLNode + XMLSocket + + + NaN + Infinity + false + null + true + undefined + + + Boolean + call + Date + escape + eval + fscommand + getProperty + getTimer + getURL + getVersion + gotoAndPlay + gotoAndStop + #include + int + isFinite + isNaN + loadMovie + loadMovieNum + loadVariables + loadVariablesNum + maxscroll + newline + nextFrame + nextScene + Number + parseFloat + parseInt + play + prevFrame + prevScene + print + printAsBitmap + printAsBitmapNum + printNum + random + removeMovieClip + scroll + setProperty + startDrag + stop + stopAllSounds + stopDrag + String + targetPath + tellTarget + toggleHighQuality + trace + unescape + unloadMovie + unloadMovieNum + updateAfterEvent + + + prototype + clearInterval + getVersion + length + __proto__ + __constructor__ + ASSetPropFlags + setInterval + setI + MMExecute + + + attachMovie + createEmptyMovieClip + createTextField + duplicateMovieClip + getBounds + getBytesLoaded + getBytesTotal + getDepth + globalToLocal + hitTest + localToGlobal + setMask + swapDepths + attachAudio + getInstanceAtDepth + getNextHighestDepth + getSWFVersion + getTextSnapshot + getSWFVersion + getSWFVersion + + + beginFill + beginGradientFill + clear + curveTo + endFill + lineStyle + lineTo + moveTo + + + enabled + focusEnabled + hitArea + tabChildren + tabEnabled + tabIndex + trackAsMenu + menu + useHandCursor + + + onData + onDragOut + onDragOver + onEnterFrame + onKeyDown + onKeyUp + onKillFocus + onLoad + onMouseDown + onMouseMove + onMouseUp + onPress + onRelease + onReleaseOutside + onRollOut + onRollOver + onSetFocus + onUnload + + + MovieClipLoader + getProgress + loadClip + onLoadComplete + onLoadError + onLoadInit + onLoadProgress + onLoadStart + unloadClip + + + PrintJob + addPage + + + Camera + activityLevel + bandwidth + currentFps + fps + index + motionLevel + motionTimeOut + muted + name + names + onActivity + onStatus + quality + setMode + setMotionLevel + setQuality + + + Microphone + gain + rate + setGain + setRate + setSilenceLevel + setUseEchoSuppression + silenceLevel + silenceTimeout + useEchoSuppression + + + ContextMenu + builtInItems + copy + customItems + hideBuiltInItems + onSelect + caption + ContextMenuItem + separatorBefore + visible + + + Error + visible + message + + + instanceof + #endinitclip + #initclip + + + _alpha + _currentframe + _droptarget + _focusrect + _framesloaded + _height + _name + _quality + _rotation + _soundbuftime + _target + _totalframes + _url + _visible + _width + _x + _xmouse + _xscale + _y + _ymouse + _yscale + _parent + _root + _level + _lockroot + _accProps + + + + sortOn + toString + splice + sort + slice + shift + reverse + push + join + pop + concat + unshift + + + arguments + callee + caller + valueOf + + + getDate + getDay + getFullYear + getHours + getMilliseconds + getMinutes + getMonth + getSeconds + getTime + getTimezoneOffset + getUTCDate + getUTCDay + getUTCFullYear + getUTCHours + getUTCMilliseconds + getUTCMinutes + getUTCMonth + getUTCSeconds + getYear + setDate + setFullYear + setHours + setMilliseconds + setMinutes + setMonth + setSeconds + setTime + setUTCDate + setUTCFullYear + setUTCHours + setUTCMilliseconds + setUTCMinutes + setUTCMonth + setUTCSeconds + setYear + UTC + + + _global + apply + + + abs + acos + asin + atan + atan2 + ceil + cos + exp + floor + log + max + min + pow + round + sin + sqrt + tan + + E + LN2 + LN10 + LOG2E + LOG10E + PI + SQRT1_2 + SQRT2 + + + MAX_VALUE + MIN_VALUE + NEGATIVE_INFINITY + POSITIVE_INFINITY + + + addProperty + registerClass + unwatch + watch + + + charAt + charCodeAt + fromCharCode + lastIndexOf + indexOf + split + substr + substring + toLowerCase + toUpperCase + + + Accessibility + isActive + updateProperties + + + + System + capabilities + exactSettings + setClipboard + showSettings + useCodepage + avHardwareDisable + hasAccessibility + hasAudio + hasAudioEncoder + hasMP3 + hasVideoEncoder + pixelAspectRatio + screenColor + screenDPI + screenResolutionX + screenResolutionY + hasEmbeddedVideo + hasPrinting + hasScreenBroadcast + hasScreenPlayback + hasStreamingAudio + hasStreamingVideo + isDebugger + language + manufacturer + os + playerType + serverString + localFileReadDisable + version + + security + + + getRGB + getTransform + setRGB + setTransform + + + addListener + getAscii + isDown + getCode + isToggled + removeListener + BACKSPACE + CAPSLOCK + CONTROL + DELETEKEY + DOWN + END + ENTER + ESCAPE + HOME + INSERT + LEFT + PGDN + PGUP + SHIFT + RIGHT + SPACE + TAB + UP + + + hide + show + onMouseWheel + + + getBeginIndex + getCaretIndex + getEndIndex + getFocus + setFocus + setSelection + + + SharedObject + data + flush + getLocal + getSize + + + attachSound + getVolume + loadSound + setPan + getPan + setVolume + start + duration + position + onSoundComplete + id3 + onID3 + + + Video + deblocking + smoothing + + + Stage + align + height + scaleMode + showMenu + width + onResize + + + getFontList + getNewTextFormat + getTextFormat + removeTextField + replaceSel + setNewTextFormat + setTextFormat + autoSize + background + backgroundColor + border + borderColor + bottomScroll + embedFonts + hscroll + html + htmlText + maxChars + maxhscroll + multiline + password + restrict + selectable + text + textColor + textHeight + textWidth + type + variable + wordWrap + onChanged + onScroller + TextField + mouseWheelEnabled + replaceText + + + StyleSheet + getStyle + getStyleNames + parseCSS + setStyle + styleSheet + + + TextFormat + getTextExtent + blockIndent + bold + bullet + color + font + indent + italic + leading + leftMargin + rightMargin + size + tabStops + target + underline + url + + + TextSnapshot + findText + getCount + getSelected + getSelectedText + hitTestTextNearPos + getText + setSelectColor + setSelected + + + LoadVars + load + send + sendAndLoad + contentType + loaded + addRequestHeader + + + LocalConnection + allowDomain + allowInsecureDomain + domain + + + appendChild + cloneNode + createElement + createTextNode + hasChildNodes + insertBefore + parseXML + removeNode + attributes + childNodes + docTypeDecl + firstChild + ignoreWhite + lastChild + nextSibling + nodeName + nodeType + nodeValue + parentNode + previousSibling + status + xmlDecl + close + connect + onClose + onConnect + onXML + + + CustomActions + onUpdate + uninstall + list + install + get + + + NetConnection + + + NetStream + bufferLength + bufferTime + bytesLoaded + bytesTotal + pause + seek + setBufferTime + time + + + DataGlue + bindFormatFunction + bindFormatStrings + getDebugConfig + getDebugID + getService + setCredentials + setDebugID + getDebug + setDebug + createGatewayConnection + NetServices + setDefaultGatewayURL + addItem + addItemAt + addView + filter + getColumnNames + getItemAt + getLength + getNumberAvailable + isFullyPopulated + isLocal + removeAll + removeItemAt + replaceItemAt + setDeliveryMode + setField + sortItemsBy + + + chr + mbchr + mblength + mbord + mbsubstring + ord + _highquality + + + + + + abstract + boolean + byte + case + catch + char + class + const + debugger + default + + double + enum + export + extends + final + finally + float + goto + implements + + import + instanceof + int + interface + long + native + package + private + Void + protected + public + dynamic + + short + static + super + switch + synchronized + throw + throws + transient + try + volatile + + + diff --git a/extra/xmode/modes/ada95.xml b/extra/xmode/modes/ada95.xml new file mode 100644 index 0000000000..a6d15500a4 --- /dev/null +++ b/extra/xmode/modes/ada95.xml @@ -0,0 +1,224 @@ + + + + + + + + + + + + -- + + + " + " + + + ) + ( + .. + .all + := + /= + => + = + <> + << + >> + >= + <= + > + < + & + + + - + / + ** + * + + 'access + 'address + 'adjacent + 'aft + 'alignment + 'base + 'bit_order + 'body_version + 'callable + 'caller + 'ceiling + 'class + 'component_size + 'composed + 'constrained + 'copy_size + 'count + 'definite + 'delta + 'denorm + 'digits + 'exponent + 'external_tag + 'first + 'first_bit + 'floor + 'fore + 'fraction + 'genetic + 'identity + 'image + 'input + 'last + 'last_bit + 'leading_part + 'length + 'machine + 'machine_emax + 'machine_emin + 'machine_mantissa + 'machine_overflows + 'machine_radix + 'machine_rounds + 'max + 'max_size_in_storage_elements + 'min + 'model + 'model_emin + 'model_epsilon + 'model_mantissa + 'model_small + 'modulus + 'output + 'partition_id + 'pos + 'position + 'pred + 'range + 'read + 'remainder + 'round + 'rounding + 'safe_first + 'safe_last + 'scale + 'scaling + 'signed_zeros + 'size + 'small + 'storage_pool + 'storage_size + 'succ + 'tag + 'terminated + 'truncation + 'unbiased_rounding + 'unchecked_access + 'val + 'valid + 'value + 'version + 'wide_image + 'wide_value + 'wide_width + 'width + 'write + + + ' + ' + + + + + entry + function + procedure + + abort + abs + abstract + accept + access + aliased + all + and + array + at + begin + body + case + constant + declare + delay + delta + digits + do + else + elsif + end + exception + exit + for + goto + if + in + is + limited + loop + mod + new + not + or + others + out + package + pragma + private + protected + raise + range + record + rem + renames + requeue + return + select + separate + string + subtype + tagged + task + terminate + then + type + until + use + when + while + with + xor + + + + + address + boolean + character + duration + float + integer + latin_1 + natural + positive + string + time + + + false + null + true + + + diff --git a/extra/xmode/modes/antlr.xml b/extra/xmode/modes/antlr.xml new file mode 100644 index 0000000000..1e5dd1206a --- /dev/null +++ b/extra/xmode/modes/antlr.xml @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + /** + */ + + + /* + */ + + // + + " + " + + | + : + + header + options + tokens + abstract + break + case + catch + continue + default + do + else + extends + final + finally + for + if + implements + instanceof + native + new + private + protected + public + return + static + switch + synchronized + throw + throws + transient + try + volatile + while + package + import + + boolean + byte + char + class + double + float + int + interface + long + short + void + + assert + strictfp + + false + null + super + this + true + + goto + const + + + diff --git a/extra/xmode/modes/apacheconf.xml b/extra/xmode/modes/apacheconf.xml new file mode 100644 index 0000000000..1c16a35199 --- /dev/null +++ b/extra/xmode/modes/apacheconf.xml @@ -0,0 +1,1007 @@ + + + + + + + + + + + + # + + + " + " + + + + ]*>]]> + ]]> + + + + ]*>]]> + ]]> + + + + AcceptMutex + AcceptPathInfo + AccessFileName + Action + AddAlt + AddAltByEncoding + AddAltByType + AddCharset + AddDefaultCharset + AddDescription + AddEncoding + AddHandler + AddIcon + AddIconByEncoding + AddIconByType + AddInputFilter + AddLanguage + AddModuleInfo + AddOutputFilter + AddOutputFilterByType + AddType + Alias + AliasMatch + AllowCONNECT + AllowEncodedSlashes + AuthDigestNcCheck + AuthDigestShmemSize + AuthLDAPCharsetConfig + BS2000Account + BrowserMatch + BrowserMatchNoCase + CacheDefaultExpire + CacheDirLength + CacheDirLevels + CacheDisable + CacheEnable + CacheExpiryCheck + CacheFile + CacheForceCompletion + CacheGcClean + CacheGcDaily + CacheGcInterval + CacheGcMemUsage + CacheGcUnused + CacheIgnoreCacheControl + CacheIgnoreNoLastMod + CacheLastModifiedFactor + CacheMaxExpire + CacheMaxFileSize + CacheMinFileSize + CacheNegotiatedDocs + CacheRoot + CacheSize + CacheTimeMargin + CharsetDefault + CharsetOptions + CharsetSourceEnc + CheckSpelling + ChildPerUserID + ContentDigest + CookieDomain + CookieExpires + CookieLog + CookieName + CookieStyle + CookieTracking + CoreDumpDirectory + CustomLog + DavDepthInfinity + DavLockDB + DavMinTimeout + DefaultIcon + DefaultLanguage + DefaultType + DeflateBufferSize + DeflateCompressionLevel + DeflateFilterNote + DeflateMemLevel + DeflateWindowSize + DirectoryIndex + DirectorySlash + DocumentRoot + EnableExceptionHook + EnableMMAP + EnableSendfile + ErrorDocument + ErrorLog + Example + ExpiresActive + ExpiresByType + ExpiresDefault + ExtFilterDefine + ExtendedStatus + FileETag + ForceLanguagePriority + ForensicLog + Group + Header + HeaderName + HostnameLookups + ISAPIAppendLogToErrors + ISAPIAppendLogToQuery + ISAPICacheFile + ISAPIFakeAsync + ISAPILogNotSupported + ISAPIReadAheadBuffer + IdentityCheck + ImapBase + ImapDefault + ImapMenu + Include + IndexIgnore + IndexOptions + IndexOrderDefault + KeepAlive + KeepAliveTimeout + LDAPCacheEntries + LDAPCacheTTL + LDAPOpCacheEntries + LDAPOpCacheTTL + LDAPSharedCacheFile + LDAPSharedCacheSize + LDAPTrustedCA + LDAPTrustedCAType + LanguagePriority + LimitInternalRecursion + LimitRequestBody + LimitRequestFields + LimitRequestFieldsize + LimitRequestLine + LimitXMLRequestBody + Listen + ListenBacklog + LoadFile + LoadModule + LockFile + LogFormat + LogLevel + MCacheMaxObjectCount + MCacheMaxObjectSize + MCacheMaxStreamingBuffer + MCacheMinObjectSize + MCacheRemovalAlgorithm + MCacheSize + MMapFile + MaxClients + MaxKeepAliveRequests + MaxMemFree + MaxRequestsPerChild + MaxRequestsPerThread + MaxSpareServers + MaxSpareThreads + MaxThreads + MaxThreadsPerChild + MetaDir + MetaFiles + MetaSuffix + MimeMagicFile + MinSpareServers + MinSpareThreads + MultiviewsMatch + NWSSLTrustedCerts + NWSSLUpgradeable + NameVirtualHost + NoProxy + NumServers + Options + PassEnv + PidFile + ProtocolEcho + ProxyBadHeader + ProxyBlock + ProxyDomain + ProxyErrorOverride + ProxyIOBufferSize + ProxyMaxForwards + ProxyPass + ProxyPassReverse + ProxyPreserveHost + ProxyReceiveBufferSize + ProxyRemote + ProxyRemoteMatch + ProxyRequests + ProxyTimeout + ProxyVia + RLimitCPU + RLimitMEM + RLimitNPROC + ReadmeName + Redirect + RedirectMatch + RedirectPermanent + RedirectTemp + RequestHeader + RewriteBase + RewriteCond + RewriteEngine + RewriteLock + RewriteLog + RewriteLogLevel + RewriteMap + RewriteOptions + RewriteRule + SSIEndTag + SSIErrorMsg + SSIStartTag + SSITimeFormat + SSIUndefinedEcho + SSLCACertificateFile + SSLCACertificatePath + SSLCARevocationFile + SSLCARevocationPath + SSLCertificateChainFile + SSLCertificateFile + SSLCertificateKeyFile + SSLCipherSuite + SSLEngine + SSLMutex + SSLOptions + SSLPassPhraseDialog + SSLProtocol + SSLProxyCACertificateFile + SSLProxyCACertificatePath + SSLProxyCARevocationFile + SSLProxyCARevocationPath + SSLProxyCipherSuite + SSLProxyEngine + SSLProxyMachineCertificateFile + SSLProxyMachineCertificatePath + SSLProxyProtocol + SSLProxyVerify + SSLProxyVerifyDepth + SSLRandomSeed + SSLSessionCache + SSLSessionCacheTimeout + SSLVerifyClient + SSLVerifyDepth + ScoreBoardFile + Script + ScriptAlias + ScriptAliasMatch + ScriptInterpreterSource + ScriptLog + ScriptLogBuffer + ScriptLogLength + ScriptSock + SecureListen + SendBufferSize + ServerAdmin + ServerLimit + ServerName + ServerRoot + ServerSignature + ServerTokens + SetEnv + SetEnvIf + SetEnvIfNoCase + SetHandler + SetInputFilter + SetOutputFilter + StartServers + StartThreads + SuexecUserGroup + ThreadLimit + ThreadStackSize + ThreadsPerChild + TimeOut + TransferLog + TypesConfig + UnsetEnv + UseCanonicalName + User + UserDir + VirtualDocumentRoot + VirtualDocumentRootIP + VirtualScriptAlias + VirtualScriptAliasIP + Win32DisableAcceptEx + XBitHack + + + AddModule + ClearModuleList + ServerType + Port + + Off + On + None + + + + + + # + + + " + " + + + + ]*>]]> + ]]> + + + + ]*>]]> + ]]> + + + + + AcceptMutex + AcceptPathInfo + AccessFileName + Action + AddAlt + AddAltByEncoding + AddAltByType + AddCharset + AddDefaultCharset + AddDescription + AddEncoding + AddHandler + AddIcon + AddIconByEncoding + AddIconByType + AddInputFilter + AddLanguage + AddModuleInfo + AddOutputFilter + AddOutputFilterByType + AddType + Alias + AliasMatch + Allow + AllowCONNECT + AllowEncodedSlashes + AllowOverride + Anonymous + Anonymous_Authoritative + Anonymous_LogEmail + Anonymous_MustGiveEmail + Anonymous_NoUserID + Anonymous_VerifyEmail + AuthAuthoritative + AuthDBMAuthoritative + AuthDBMGroupFile + AuthDBMType + AuthDBMUserFile + AuthDigestAlgorithm + AuthDigestDomain + AuthDigestFile + AuthDigestGroupFile + AuthDigestNcCheck + AuthDigestNonceFormat + AuthDigestNonceLifetime + AuthDigestQop + AuthDigestShmemSize + AuthGroupFile + AuthLDAPAuthoritative + AuthLDAPBindDN + AuthLDAPBindPassword + AuthLDAPCharsetConfig + AuthLDAPCompareDNOnServer + AuthLDAPDereferenceAliases + AuthLDAPEnabled + AuthLDAPFrontPageHack + AuthLDAPGroupAttribute + AuthLDAPGroupAttributeIsDN + AuthLDAPRemoteUserIsDN + AuthLDAPUrl + AuthName + AuthType + AuthUserFile + BS2000Account + BrowserMatch + BrowserMatchNoCase + CGIMapExtension + CacheDefaultExpire + CacheDirLength + CacheDirLevels + CacheDisable + CacheEnable + CacheExpiryCheck + CacheFile + CacheForceCompletion + CacheGcClean + CacheGcDaily + CacheGcInterval + CacheGcMemUsage + CacheGcUnused + CacheIgnoreCacheControl + CacheIgnoreNoLastMod + CacheLastModifiedFactor + CacheMaxExpire + CacheMaxFileSize + CacheMinFileSize + CacheNegotiatedDocs + CacheRoot + CacheSize + CacheTimeMargin + CharsetDefault + CharsetOptions + CharsetSourceEnc + CheckSpelling + ChildPerUserID + ContentDigest + CookieDomain + CookieExpires + CookieLog + CookieName + CookieStyle + CookieTracking + CoreDumpDirectory + CustomLog + Dav + DavDepthInfinity + DavLockDB + DavMinTimeout + DefaultIcon + DefaultLanguage + DefaultType + DeflateBufferSize + DeflateCompressionLevel + DeflateFilterNote + DeflateMemLevel + DeflateWindowSize + Deny + DirectoryIndex + DirectorySlash + DocumentRoot + EnableMMAP + EnableSendfile + ErrorDocument + ErrorLog + Example + ExpiresActive + ExpiresByType + ExpiresDefault + ExtFilterDefine + ExtFilterOptions + ExtendedStatus + FileETag + ForceLanguagePriority + ForceType + Group + Header + HeaderName + HostnameLookups + ISAPIAppendLogToErrors + ISAPIAppendLogToQuery + ISAPICacheFile + ISAPIFakeAsync + ISAPILogNotSupported + ISAPIReadAheadBuffer + IdentityCheck + ImapBase + ImapDefault + ImapMenu + Include + IndexIgnore + IndexOptions + IndexOrderDefault + KeepAlive + KeepAliveTimeout + LDAPCacheEntries + LDAPCacheTTL + LDAPOpCacheEntries + LDAPOpCacheTTL + LDAPSharedCacheSize + LDAPTrustedCA + LDAPTrustedCAType + LanguagePriority + LimitInternalRecursion + LimitRequestBody + LimitRequestFields + LimitRequestFieldsize + LimitRequestLine + LimitXMLRequestBody + Listen + ListenBacklog + LoadFile + LoadModule + LockFile + LogFormat + LogLevel + MCacheMaxObjectCount + MCacheMaxObjectSize + MCacheMaxStreamingBuffer + MCacheMinObjectSize + MCacheRemovalAlgorithm + MCacheSize + MMapFile + MaxClients + MaxKeepAliveRequests + MaxMemFree + MaxRequestsPerChild + MaxRequestsPerThread + MaxSpareServers + MaxSpareThreads + MaxThreads + MaxThreadsPerChild + MetaDir + MetaFiles + MetaSuffix + MimeMagicFile + MinSpareServers + MinSpareThreads + ModMimeUsePathInfo + MultiviewsMatch + NWSSLTrustedCerts + NameVirtualHost + NoProxy + NumServers + Options + Order + PassEnv + PidFile + ProtocolEcho + ProxyBadHeader + ProxyBlock + ProxyDomain + ProxyErrorOverride + ProxyIOBufferSize + ProxyMaxForwards + ProxyPass + ProxyPassReverse + ProxyPreserveHost + ProxyReceiveBufferSize + ProxyRemote + ProxyRemoteMatch + ProxyRequests + ProxyTimeout + ProxyVia + RLimitCPU + RLimitMEM + RLimitNPROC + ReadmeName + Redirect + RedirectMatch + RedirectPermanent + RedirectTemp + RemoveCharset + RemoveEncoding + RemoveHandler + RemoveInputFilter + RemoveLanguage + RemoveOutputFilter + RemoveType + RequestHeader + Require + RewriteBase + RewriteCond + RewriteEngine + RewriteLock + RewriteLog + RewriteLogLevel + RewriteMap + RewriteOptions + RewriteRule + SSIEndTag + SSIErrorMsg + SSIStartTag + SSITimeFormat + SSIUndefinedEcho + SSLCACertificateFile + SSLCACertificatePath + SSLCARevocationFile + SSLCARevocationPath + SSLCertificateChainFile + SSLCertificateFile + SSLCertificateKeyFile + SSLCipherSuite + SSLEngine + SSLMutex + SSLOptions + SSLPassPhraseDialog + SSLProtocol + SSLProxyCACertificateFile + SSLProxyCACertificatePath + SSLProxyCARevocationFile + SSLProxyCARevocationPath + SSLProxyCipherSuite + SSLProxyEngine + SSLProxyMachineCertificateFile + SSLProxyMachineCertificatePath + SSLProxyProtocol + SSLProxyVerify + SSLProxyVerifyDepth + SSLRandomSeed + SSLRequire + SSLRequireSSL + SSLSessionCache + SSLSessionCacheTimeout + SSLVerifyClient + SSLVerifyDepth + Satisfy + ScoreBoardFile + Script + ScriptAlias + ScriptAliasMatch + ScriptInterpreterSource + ScriptLog + ScriptLogBuffer + ScriptLogLength + ScriptSock + SecureListen + SendBufferSize + ServerAdmin + ServerLimit + ServerName + ServerRoot + ServerSignature + ServerTokens + SetEnv + SetEnvIf + SetEnvIfNoCase + SetHandler + SetInputFilter + SetOutputFilter + StartServers + StartThreads + SuexecUserGroup + ThreadLimit + ThreadStackSize + ThreadsPerChild + TimeOut + TransferLog + TypesConfig + UnsetEnv + UseCanonicalName + User + UserDir + VirtualDocumentRoot + VirtualDocumentRootIP + VirtualScriptAlias + VirtualScriptAliasIP + XBitHack + + + AddModule + ClearModuleList + + + SVNPath + SVNParentPath + SVNIndexXSLT + + + PythonHandler + PythonDebug + + All + ExecCGI + FollowSymLinks + Includes + IncludesNOEXEC + Indexes + MultiViews + None + Off + On + SymLinksIfOwnerMatch + from + + + + + + # + + + ]*>]]> + ]]> + + + + " + " + + + + AcceptMutex + AcceptPathInfo + AccessFileName + Action + AddAlt + AddAltByEncoding + AddAltByType + AddCharset + AddDefaultCharset + AddDescription + AddEncoding + AddHandler + AddIcon + AddIconByEncoding + AddIconByType + AddInputFilter + AddLanguage + AddModuleInfo + AddOutputFilter + AddOutputFilterByType + AddType + Alias + AliasMatch + AllowCONNECT + AllowEncodedSlashes + AssignUserID + AuthDigestNcCheck + AuthDigestShmemSize + AuthLDAPCharsetConfig + BS2000Account + BrowserMatch + BrowserMatchNoCase + CacheDefaultExpire + CacheDirLength + CacheDirLevels + CacheDisable + CacheEnable + CacheExpiryCheck + CacheFile + CacheForceCompletion + CacheGcClean + CacheGcDaily + CacheGcInterval + CacheGcMemUsage + CacheGcUnused + CacheIgnoreCacheControl + CacheIgnoreNoLastMod + CacheLastModifiedFactor + CacheMaxExpire + CacheMaxFileSize + CacheMinFileSize + CacheNegotiatedDocs + CacheRoot + CacheSize + CacheTimeMargin + CharsetDefault + CharsetOptions + CharsetSourceEnc + CheckSpelling + ChildPerUserID + ContentDigest + CookieDomain + CookieExpires + CookieLog + CookieName + CookieStyle + CookieTracking + CoreDumpDirectory + CustomLog + DavDepthInfinity + DavLockDB + DavMinTimeout + DefaultIcon + DefaultLanguage + DefaultType + DeflateBufferSize + DeflateCompressionLevel + DeflateFilterNote + DeflateMemLevel + DeflateWindowSize + DirectoryIndex + DirectorySlash + DocumentRoot + EnableMMAP + EnableSendfile + ErrorDocument + ErrorLog + Example + ExpiresActive + ExpiresByType + ExpiresDefault + ExtFilterDefine + ExtendedStatus + FileETag + ForceLanguagePriority + ForensicLog + Group + Header + HeaderName + HostnameLookups + ISAPIAppendLogToErrors + ISAPIAppendLogToQuery + ISAPICacheFile + ISAPIFakeAsync + ISAPILogNotSupported + ISAPIReadAheadBuffer + IdentityCheck + ImapBase + ImapDefault + ImapMenu + Include + IndexIgnore + IndexOptions + IndexOrderDefault + JkMount + KeepAlive + KeepAliveTimeout + LDAPCacheEntries + LDAPCacheTTL + LDAPOpCacheEntries + LDAPOpCacheTTL + LDAPSharedCacheSize + LDAPTrustedCA + LDAPTrustedCAType + LanguagePriority + LimitInternalRecursion + LimitRequestBody + LimitRequestFields + LimitRequestFieldsize + LimitRequestLine + LimitXMLRequestBody + Listen + ListenBacklog + LoadFile + LoadModule + LockFile + LogFormat + LogLevel + MCacheMaxObjectCount + MCacheMaxObjectSize + MCacheMaxStreamingBuffer + MCacheMinObjectSize + MCacheRemovalAlgorithm + MCacheSize + MMapFile + MaxClients + MaxKeepAliveRequests + MaxMemFree + MaxRequestsPerChild + MaxRequestsPerThread + MaxSpareServers + MaxSpareThreads + MaxThreads + MaxThreadsPerChild + MetaDir + MetaFiles + MetaSuffix + MimeMagicFile + MinSpareServers + MinSpareThreads + MultiviewsMatch + NWSSLTrustedCerts + NameVirtualHost + NoProxy + NumServers + Options + PassEnv + PidFile + ProtocolEcho + ProxyBadHeader + ProxyBlock + ProxyDomain + ProxyErrorOverride + ProxyIOBufferSize + ProxyMaxForwards + ProxyPass + ProxyPassReverse + ProxyPreserveHost + ProxyReceiveBufferSize + ProxyRemote + ProxyRemoteMatch + ProxyRequests + ProxyTimeout + ProxyVia + RLimitCPU + RLimitMEM + RLimitNPROC + ReadmeName + Redirect + RedirectMatch + RedirectPermanent + RedirectTemp + RemoveCharset + RemoveEncoding + RemoveHandler + RemoveInputFilter + RemoveLanguage + RemoveOutputFilter + RemoveType + RequestHeader + RewriteBase + RewriteCond + RewriteEngine + RewriteLock + RewriteLog + RewriteLogLevel + RewriteMap + RewriteOptions + RewriteRule + SSIEndTag + SSIErrorMsg + SSIStartTag + SSITimeFormat + SSIUndefinedEcho + SSLCACertificateFile + SSLCACertificatePath + SSLCARevocationFile + SSLCARevocationPath + SSLCertificateChainFile + SSLCertificateFile + SSLCertificateKeyFile + SSLCipherSuite + SSLEngine + SSLMutex + SSLOptions + SSLPassPhraseDialog + SSLProtocol + SSLProxyCACertificateFile + SSLProxyCACertificatePath + SSLProxyCARevocationFile + SSLProxyCARevocationPath + SSLProxyCipherSuite + SSLProxyEngine + SSLProxyMachineCertificateFile + SSLProxyMachineCertificatePath + SSLProxyProtocol + SSLProxyVerify + SSLProxyVerifyDepth + SSLRandomSeed + SSLSessionCache + SSLSessionCacheTimeout + SSLVerifyClient + SSLVerifyDepth + ScoreBoardFile + Script + ScriptAlias + ScriptAliasMatch + ScriptInterpreterSource + ScriptLog + ScriptLogBuffer + ScriptLogLength + ScriptSock + SecureListen + SendBufferSize + ServerAdmin + ServerAlias + ServerLimit + ServerName + ServerPath + ServerRoot + ServerSignature + ServerTokens + SetEnv + SetEnvIf + SetEnvIfNoCase + SetHandler + SetInputFilter + SetOutputFilter + StartServers + StartThreads + SuexecUserGroup + ThreadLimit + ThreadStackSize + ThreadsPerChild + TimeOut + TransferLog + TypesConfig + UnsetEnv + UseCanonicalName + User + UserDir + VirtualDocumentRoot + VirtualDocumentRootIP + VirtualScriptAlias + VirtualScriptAliasIP + XBitHack + + Off + On + None + + + + diff --git a/extra/xmode/modes/apdl.xml b/extra/xmode/modes/apdl.xml new file mode 100644 index 0000000000..d66f8bf7ec --- /dev/null +++ b/extra/xmode/modes/apdl.xml @@ -0,0 +1,7536 @@ + + + + + + + + + + + + + + + + : + + + ! + + + + ' + ' + + + + + *ABBR + *ABB + *AFUN + *AFU + *ASK + *CFCLOS + *CFC + *CFOPEN + *CFO + *CFWRITE + *CFW + *CREATE + *CRE + *CYCLE + *CYC + *DEL + *DIM + *DO + *ELSEIF + *ELSE + *ENDDO + *ENDIF + *END + *EVAL + *EVA + *EXIT + *EXI + *GET + *GO + *IF + *LIST + *LIS + *MFOURI + *MFO + *MFUN + *MFU + *MOONEY + *MOO + *MOPER + *MOP + *MSG + *REPEAT + *REP + *SET + *STATUS + *STA + *TREAD + *TRE + *ULIB + *ULI + *USE + *VABS + *VAB + *VCOL + *VCO + *VCUM + *VCU + *VEDIT + *VED + *VFACT + *VFA + *VFILL + *VFI + *VFUN + *VFU + *VGET + *VGE + *VITRP + *VIT + *VLEN + *VLE + *VMASK + *VMA + *VOPER + *VOP + *VPLOT + *VPL + *VPUT + *VPU + *VREAD + *VRE + *VSCFUN + *VSC + *VSTAT + *VST + *VWRITE + *VWR + + + + + + /ANFILE + /ANF + /ANGLE + /ANG + /ANNOT + /ANN + /ANUM + /ANU + /ASSIGN + /ASS + /AUTO + /AUT + /AUX15 + /AUX2 + /AUX + /AXLAB + /AXL + /BATCH + /BAT + /CLABEL + /CLA + /CLEAR + /CLE + /CLOG + /CLO + /CMAP + /CMA + /COLOR + /COL + /COM + /CONFIG + /CONTOUR + /CON + /COPY + /COP + /CPLANE + /CPL + /CTYPE + /CTY + /CVAL + /CVA + /DELETE + /DEL + /DEVDISP + /DEVICE + /DEV + /DIST + /DIS + /DSCALE + /DSC + /DV3D + /DV3 + /EDGE + /EDG + /EFACET + /EFA + /EOF + /ERASE + /ERA + /ESHAPE + /ESH + /EXIT + /EXI + /EXPAND + /EXP + /FACET + /FAC + /FDELE + /FDE + /FILNAME + /FIL + /FOCUS + /FOC + /FORMAT + /FOR + /FTYPE + /FTY + /GCMD + /GCM + /GCOLUMN + /GCO + /GFILE + /GFI + /GFORMAT + /GFO + /GLINE + /GLI + /GMARKER + /GMA + /GOLIST + /GOL + /GOPR + /GOP + /GO + /GRAPHICS + /GRA + /GRESUME + /GRE + /GRID + /GRI + /GROPT + /GRO + /GRTYP + /GRT + /GSAVE + /GSA + /GST + /GTHK + /GTH + /GTYPE + /GTY + /HEADER + /HEA + /INPUT + /INP + /LARC + /LAR + /LIGHT + /LIG + /LINE + /LIN + /LSPEC + /LSP + /LSYMBOL + /LSY + /MENU + /MEN + /MPLIB + /MPL + /MREP + /MRE + /MSTART + /MST + /NERR + /NER + /NOERASE + /NOE + /NOLIST + /NOL + /NOPR + /NOP + /NORMAL + /NOR + /NUMBER + /NUM + /OPT + /OUTPUT + /OUt + /PAGE + /PAG + /PBC + /PBF + /PCIRCLE + /PCI + /PCOPY + /PCO + /PLOPTS + /PLO + /PMACRO + /PMA + /PMETH + /PME + /PMORE + /PMO + /PNUM + /PNU + /POLYGON + /POL + /POST26 + /POST1 + /POS + /PREP7 + /PRE + /PSEARCH + /PSE + /PSF + /PSPEC + /PSP + /PSTATUS + /PST + /PSYMB + /PSY + /PWEDGE + /PWE + /QUIT + /QUI + /RATIO + /RAT + /RENAME + /REN + /REPLOT + /REP + /RESET + /RES + /RGB + /RUNST + /RUN + /SECLIB + /SEC + /SEG + /SHADE + /SHA + /SHOWDISP + /SHOW + /SHO + /SHRINK + /SHR + /SOLU + /SOL + /SSCALE + /SSC + /STATUS + /STA + /STITLE + /STI + /SYP + /SYS + /TITLE + /TIT + /TLABEL + /TLA + /TRIAD + /TRI + /TRLCY + /TRL + /TSPEC + /TSP + /TYPE + /TYP + /UCMD + /UCM + /UIS + /UI + /UNITS + /UNI + /USER + /USE + /VCONE + /VCO + /VIEW + /VIE + /VSCALE + /VSC + /VUP + /WAIT + /WAI + /WINDOW + /WIN + /XRANGE + /XRA + /YRANGE + /YRA + /ZOOM + /ZOO + + + + + + - + $ + = + ( + ) + , + ; + * + / + + + %C + %G + %I + %/ + + + + % + % + + + + + + + A + AADD + AADD + AATT + AATT + ABBR + ABBRES + ABBS + ABBSAV + ABS + ACCA + ACCAT + ACEL + ACEL + ACLE + ACLEAR + ADAP + ADAPT + ADD + ADDA + ADDAM + ADEL + ADELE + ADGL + ADGL + ADRA + ADRAG + AFIL + AFILLT + AFLI + AFLIST + AFSU + AFSURF + AGEN + AGEN + AGLU + AGLUE + AINA + AINA + AINP + AINP + AINV + AINV + AL + ALIS + ALIST + ALLS + ALLSEL + ALPF + ALPFILL + ALPH + ALPHAD + AMAP + AMAP + AMES + AMESH + ANCN + ANCNTR + ANCU + ANCUT + ANDA + ANDATA + ANDS + ANDSCL + ANDY + ANDYNA + ANFL + ANFLOW + ANIM + ANIM + ANIS + ANISOS + ANMO + ANMODE + ANOR + ANORM + ANTI + ANTIME + ANTY + ANTYPE + AOFF + AOFFST + AOVL + AOVLAP + APLO + APLOT + APPE + APPEND + APTN + APTN + ARCL + ARCLEN + ARCO + ARCOLLAPSE + ARCT + ARCTRM + ARDE + ARDETACH + AREA + AREAS + AREF + AREFINE + AREV + AREVERSE + ARFI + ARFILL + ARME + ARMERGE + AROT + AROTAT + ARSC + ARSCALE + ARSP + ARSPLIT + ARSY + ARSYM + ASBA + ASBA + ASBL + ASBL + ASBV + ASBV + ASBW + ASBW + ASEL + ASEL + ASKI + ASKIN + ASLL + ASLL + ASLV + ASLV + ASUB + ASUB + ASUM + ASUM + ATAN + ATAN + ATRA + ATRAN + ATYP + ATYPE + AUTO + AUTOTS + AVPR + AVPRIN + AVRE + AVRES + BELL + BELLOW + BEND + BEND + BETA + BETAD + BF + BFA + BFAD + BFADELE + BFAL + BFALIST + BFCU + BFCUM + BFDE + BFDELE + BFE + BFEC + BFECUM + BFED + BFEDELE + BFEL + BFELIST + BFES + BFESCAL + BFIN + BFINT + BFK + BFKD + BFKDELE + BFKL + BFKLIST + BFL + BFLD + BFLDELE + BFLI + BFLIST + BFLL + BFLLIST + BFSC + BFSCALE + BFTR + BFTRAN + BFUN + BFUNIF + BFV + BFVD + BFVDELE + BFVL + BFVLIST + BIOO + BIOOPT + BIOT + BIOT + BLC4 + BLC4 + BLC5 + BLC5 + BLOC + BLOCK + BOOL + BOOL + BOPT + BOPTN + BRAN + BRANCH + BSPL + BSPLIN + BTOL + BTOL + BUCO + BUCOPT + CALC + CALC + CBDO + CBDOF + CDRE + CDREAD + CDWR + CDWRITE + CE + CECM + CECMOD + CECY + CECYC + CEDE + CEDELE + CEIN + CEINTF + CELI + CELIST + CENT + CENTER + CEQN + CEQN + CERI + CERIG + CESG + CESGEN + CFAC + CFACT + CGLO + CGLOC + CGOM + CGOMGA + CHEC + CHECK + CHKM + CHKMSH + CIRC + CIRCLE + CLOC + CLOCAL + CLOG + CLOG + CLRM + CLRMSHLN + CM + CMDE + CMDELE + CMED + CMEDIT + CMGR + CMGRP + CMLI + CMLIST + CMPL + CMPLOT + CMSE + CMSEL + CNVT + CNVTOL + CON4 + CON4 + CONE + CONE + CONJ + CONJUG + COUP + COUPLE + COVA + COVAL + CP + CPDE + CPDELE + CPIN + CPINTF + CPLG + CPLGEN + CPLI + CPLIST + CPNG + CPNGEN + CPSG + CPSGEN + CQC + CRPL + CRPLIM + CS + CSCI + CSCIR + CSDE + CSDELE + CSKP + CSKP + CSLI + CSLIST + CSWP + CSWPLA + CSYS + CSYS + CURR2D + CURR + CUTC + CUTCONTROL + CVAR + CVAR + CYCG + CYCGEN + CYCS + CYCSOL + CYL4 + CYL4 + CYL5 + CYL5 + CYLI + CYLIND + D + DA + DADE + DADELE + DALI + DALIST + DATA + DATA + DATA + DATADEF + DCGO + DCGOMG + DCUM + DCUM + DDEL + DDELE + DEAC + DEACT + DEFI + DEFINE + DELT + DELTIM + DERI + DERIV + DESI + DESIZE + DESO + DESOL + DETA + DETAB + DIG + DIGI + DIGIT + DISP + DISPLAY + DK + DKDE + DKDELE + DKLI + DKLIST + DL + DLDE + DLDELE + DLIS + DLIST + DLLI + DLLIST + DMOV + DMOVE + DMPR + DMPRAT + DNSO + DNSOL + DOF + DOFS + DOFSEL + DOME + DOMEGA + DSCA + DSCALE + DSET + DSET + DSUM + DSUM + DSUR + DSURF + DSYM + DSYM + DSYS + DSYS + DTRA + DTRAN + DUMP + DUMP + DYNO + DYNOPT + E + EALI + EALIVE + EDBO + EDBOUND + EDBV + EDBVIS + EDCD + EDCDELE + EDCG + EDCGEN + EDCL + EDCLIST + EDCO + EDCONTACT + EDCP + EDCPU + EDCR + EDCRB + EDCS + EDCSC + EDCT + EDCTS + EDCU + EDCURVE + EDDA + EDDAMP + EDDR + EDDRELAX + EDEL + EDELE + EDEN + EDENERGY + EDFP + EDFPLOT + EDHG + EDHGLS + EDHI + EDHIST + EDHT + EDHTIME + EDIN + EDINT + EDIV + EDIVELO + EDLC + EDLCS + EDLD + EDLDPLOT + EDLO + EDLOAD + EDMP + EDMP + EDND + EDNDTSD + EDNR + EDNROT + EDOP + EDOPT + EDOU + EDOUT + EDRE + EDREAD + EDRS + EDRST + EDSH + EDSHELL + EDSO + EDSOLV + EDST + EDSTART + EDWE + EDWELD + EDWR + EDWRITE + EGEN + EGEN + EINT + EINTF + EKIL + EKILL + ELEM + ELEM + ELIS + ELIST + EMAG + EMAGERR + EMF + EMID + EMID + EMIS + EMIS + EMOD + EMODIF + EMOR + EMORE + EMSY + EMSYM + EMUN + EMUNIT + EN + ENGE + ENGEN + ENOR + ENORM + ENSY + ENSYM + EPLO + EPLOT + EQSL + EQSLV + ERAS + ERASE + EREA + EREAD + EREF + EREFINE + ERES + ERESX + ERNO + ERNORM + ERRA + ERRANG + ESEL + ESEL + ESIZ + ESIZE + ESLA + ESLA + ESLL + ESLL + ESLN + ESLN + ESLV + ESLV + ESOL + ESOL + ESOR + ESORT + ESTI + ESTIF + ESUR + ESURF + ESYM + ESYM + ESYS + ESYS + ET + ETAB + ETABLE + ETCH + ETCHG + ETDE + ETDELE + ETLI + ETLIST + ETYP + ETYPE + EUSO + EUSORT + EWRI + EWRITE + EXP + EXPA + EXPA + EXPAND + EXPASS + EXPS + EXPSOL + EXTO + EXTOPT + EXTR + EXTREM + FATI + FATIGUE + FCUM + FCUM + FDEL + FDELE + FE + FEBO + FEBODY + FECO + FECONS + FEFO + FEFOR + FELI + FELIST + FESU + FESURF + FILE + FILE + FILE + FILE + FILEAUX2 + FILEDISP + FILL + FILL + FILL + FILLDATA + FINI + FINISH + FITE + FITEM + FK + FKDE + FKDELE + FKLI + FKLIST + FL + FLAN + FLANGE + FLDA + FLDATA + FLDATA10 + FLDATA11 + FLDATA12 + FLDATA13 + FLDATA14 + FLDATA15 + FLDATA16 + FLDATA17 + FLDATA18 + FLDATA19 + FLDATA1 + FLDATA20 + FLDATA20A + FLDATA21 + FLDATA22 + FLDATA23 + FLDATA24 + FLDATA24A + FLDATA24B + FLDATA24C + FLDATA24D + FLDATA25 + FLDATA26 + FLDATA27 + FLDATA28 + FLDATA29 + FLDATA2 + FLDATA30 + FLDATA31 + FLDATA32 + FLDATA33 + FLDATA37 + FLDATA3 + FLDATA4 + FLDATA4A + FLDATA5 + FLDATA6 + FLDATA7 + FLDATA8 + FLDATA9 + FLDATA + FLIS + FLIST + FLLI + FLLIST + FLOC + FLOCHECK + FLOT + FLOTRAN + FLRE + FLREAD + FLST + FLST + FLUX + FLUXV + FMAG + FMAG + FMAGBC + FMAGSUM + FOR2 + FOR2D + FORC + FORCE + FORM + FORM + FP + FPLI + FPLIST + FREQ + FREQ + FS + FSCA + FSCALE + FSDE + FSDELE + FSLI + FSLIST + FSNO + FSNODE + FSPL + FSPLOT + FSSE + FSSECT + FSUM + FSUM + FTCA + FTCALC + FTRA + FTRAN + FTSI + FTSIZE + FTWR + FTWRITE + FVME + FVMESH + GAP + GAPF + GAPFINISH + GAPL + GAPLIST + GAPM + GAPMERGE + GAPO + GAPOPT + GAPP + GAPPLOT + GAUG + GAUGE + GCGE + GCGEN + GENO + GENOPT + GEOM + GEOM + GEOM + GEOMETRY + GP + GPDE + GPDELE + GPLI + GPLIST + GPLO + GPLOT + GRP + GSUM + GSUM + HARF + HARFRQ + HELP + HELP + HELP + HELPDISP + HFSW + HFSWEEP + HMAG + HMAGSOLV + HPGL + HPGL + HPTC + HPTCREATE + HPTD + HPTDELETE + HRCP + HRCPLX + HREX + HREXP + HROP + HROPT + HROU + HROUT + IC + ICDE + ICDELE + ICLI + ICLIST + IGES + IGES + IGESIN + IGESOUT + IMAG + IMAGIN + IMME + IMMED + IMPD + IMPD + INRE + INRES + INRT + INRTIA + INT1 + INT1 + INTS + INTSRF + IOPT + IOPTN + IRLF + IRLF + IRLI + IRLIST + K + KATT + KATT + KBC + KBET + KBETW + KCAL + KCALC + KCEN + KCENTER + KCLE + KCLEAR + KDEL + KDELE + KDIS + KDIST + KESI + KESIZE + KEYO + KEYOPT + KEYP + KEYPTS + KEYW + KEYW + KFIL + KFILL + KGEN + KGEN + KL + KLIS + KLIST + KMES + KMESH + KMOD + KMODIF + KMOV + KMOVE + KNOD + KNODE + KPLO + KPLOT + KPSC + KPSCALE + KREF + KREFINE + KSCA + KSCALE + KSCO + KSCON + KSEL + KSEL + KSLL + KSLL + KSLN + KSLN + KSUM + KSUM + KSYM + KSYMM + KTRA + KTRAN + KUSE + KUSE + KWPA + KWPAVE + KWPL + KWPLAN + L2AN + L2ANG + L2TA + L2TAN + L + LANG + LANG + LARC + LARC + LARE + LAREA + LARG + LARGE + LATT + LATT + LAYE + LAYE + LAYER + LAYERP26 + LAYL + LAYLIST + LAYP + LAYPLOT + LCAB + LCABS + LCAS + LCASE + LCCA + LCCA + LCCALC + LCCAT + LCDE + LCDEF + LCFA + LCFACT + LCFI + LCFILE + LCLE + LCLEAR + LCOM + LCOMB + LCOP + LCOPER + LCSE + LCSEL + LCSL + LCSL + LCSU + LCSUM + LCWR + LCWRITE + LCZE + LCZERO + LDEL + LDELE + LDIV + LDIV + LDRA + LDRAG + LDRE + LDREAD + LESI + LESIZE + LEXT + LEXTND + LFIL + LFILLT + LFSU + LFSURF + LGEN + LGEN + LGLU + LGLUE + LGWR + LGWRITE + LINA + LINA + LINE + LINE + LINE + LINES + LINL + LINL + LINP + LINP + LINV + LINV + LLIS + LLIST + LMAT + LMATRIX + LMES + LMESH + LNCO + LNCOLLAPSE + LNDE + LNDETACH + LNFI + LNFILL + LNME + LNMERGE + LNSP + LNSPLIT + LNSR + LNSRCH + LOCA + LOCAL + LOVL + LOVLAP + LPLO + LPLOT + LPTN + LPTN + LREF + LREFINE + LREV + LREVERSE + LROT + LROTAT + LSBA + LSBA + LSBL + LSBL + LSBV + LSBV + LSBW + LSBW + LSCL + LSCLEAR + LSDE + LSDELE + LSEL + LSEL + LSLA + LSLA + LSLK + LSLK + LSOP + LSOPER + LSRE + LSREAD + LSSC + LSSCALE + LSSO + LSSOLVE + LSTR + LSTR + LSUM + LSUM + LSWR + LSWRITE + LSYM + LSYMM + LTAN + LTAN + LTRA + LTRAN + LUMP + LUMPM + LVSC + LVSCALE + LWPL + LWPLAN + M + MAGO + MAGOPT + MAGS + MAGSOLV + MAST + MASTER + MAT + MATE + MATER + MDAM + MDAMP + MDEL + MDELE + MESH + MESHING + MGEN + MGEN + MITE + MITER + MLIS + MLIST + MMF + MODE + MODE + MODM + MODMSH + MODO + MODOPT + MONI + MONITOR + MOPT + MOPT + MOVE + MOVE + MP + MPAM + MPAMOD + MPCH + MPCHG + MPDA + MPDATA + MPDE + MPDELE + MPDR + MPDRES + MPLI + MPLIST + MPMO + MPMOD + MPPL + MPPLOT + MPRE + MPREAD + MPRI + MPRINT + MPTE + MPTEMP + MPTG + MPTGEN + MPTR + MPTRES + MPUN + MPUNDO + MPWR + MPWRITE + MSAD + MSADV + MSCA + MSCAP + MSDA + MSDATA + MSHA + MSHAPE + MSHK + MSHKEY + MSHM + MSHMID + MSHP + MSHPATTERN + MSME + MSMETH + MSNO + MSNOMF + MSPR + MSPROP + MSQU + MSQUAD + MSRE + MSRELAX + MSSO + MSSOLU + MSSP + MSSPEC + MSTE + MSTERM + MSVA + MSVARY + MXPA + MXPAND + N + NANG + NANG + NCNV + NCNV + NDEL + NDELE + NDIS + NDIST + NEQI + NEQIT + NFOR + NFORCE + NGEN + NGEN + NKPT + NKPT + NLGE + NLGEOM + NLIS + NLIST + NLOG + NLOG + NLOP + NLOPT + NMOD + NMODIF + NOCO + NOCOLOR + NODE + NODES + NOOR + NOORDER + NPLO + NPLOT + NPRI + NPRINT + NREA + NREAD + NREF + NREFINE + NRLS + NRLSUM + NROP + NROPT + NROT + NROTAT + NRRA + NRRANG + NSCA + NSCALE + NSEL + NSEL + NSLA + NSLA + NSLE + NSLE + NSLK + NSLK + NSLL + NSLL + NSLV + NSLV + NSOL + NSOL + NSOR + NSORT + NSTO + NSTORE + NSUB + NSUBST + NSVR + NSVR + NSYM + NSYM + NUMC + NUMCMP + NUME + NUMEXP + NUMM + NUMMRG + NUMO + NUMOFF + NUMS + NUMSTR + NUMV + NUMVAR + NUSO + NUSORT + NWPA + NWPAVE + NWPL + NWPLAN + NWRI + NWRITE + nx + ny + nz + OMEG + OMEGA + OPAD + OPADD + OPAN + OPANL + OPCL + OPCLR + OPDA + OPDATA + OPDE + OPDEL + OPEQ + OPEQN + OPER + OPERATE + OPEX + OPEXE + OPFA + OPFACT + OPFR + OPFRST + OPGR + OPGRAD + OPKE + OPKEEP + OPLF + OPLFA + OPLG + OPLGR + OPLI + OPLIST + OPLO + OPLOOP + OPLS + OPLSW + OPMA + OPMAKE + OPNC + OPNCONTROL + OPPR + OPPRNT + OPRA + OPRAND + OPRE + OPRESU + OPRF + OPRFA + OPRG + OPRGR + OPRS + OPRSW + OPSA + OPSAVE + OPSE + OPSEL + OPSU + OPSUBP + OPSW + OPSWEEP + OPTY + OPTYPE + OPUS + OPUSER + OPVA + OPVAR + OUTO + OUTOPT + OUTP + OUTPR + OUTR + OUTRES + PADE + PADELE + PAGE + PAGET + PAPU + PAPUT + PARE + PARESU + PARR + PARRES + PARS + PARSAV + PASA + PASAVE + PATH + PATH + PCAL + PCALC + PCIR + PCIRC + PCON + PCONV + PCOR + PCORRO + PCRO + PCROSS + PDEF + PDEF + PDOT + PDOT + PDRA + PDRAG + PERB + PERBC2D + PEXC + PEXCLUDE + PFAC + PFACT + PFLU + PFLUID + PGAP + PGAP + PHYS + PHYSICS + PINC + PINCLUDE + PINS + PINSUL + PIPE + PIPE + PIVC + PIVCHECK + PLAN + PLANEWAVE + PLCO + PLCONV + PLCP + PLCPLX + PLCR + PLCRACK + PLDI + PLDISP + PLES + PLESOL + PLET + PLETAB + PLF2 + PLF2D + PLLS + PLLS + PLNS + PLNSOL + PLOT + PLOT + PLOT + PLOTTING + PLPA + PLPA + PLPAGM + PLPATH + PLSE + PLSECT + PLTI + PLTIME + PLTR + PLTRAC + PLVA + PLVA + PLVAR + PLVAROPT + PLVE + PLVECT + PMAP + PMAP + PMET + PMETH + PMGT + PMGTRAN + PMOP + PMOPTS + POIN + POINT + POLY + POLY + POPT + POPT + PORT + PORTOPT + POWE + POWERH + PPAT + PPATH + PPLO + PPLOT + PPRA + PPRANGE + PPRE + PPRES + PRAN + PRANGE + PRCO + PRCONV + PRCP + PRCPLX + PREC + PRECISION + PRED + PRED + PRER + PRERR + PRES + PRESOL + PRET + PRETAB + PRI2 + PRI2 + PRIM + PRIM + PRIN + PRINT + PRIS + PRISM + PRIT + PRITER + PRNL + PRNLD + PRNS + PRNSOL + PROD + PROD + PRPA + PRPATH + PRRF + PRRFOR + PRRS + PRRSOL + PRSE + PRSECT + PRSS + PRSSOL + PRTI + PRTIME + PRVA + PRVA + PRVAR + PRVAROPT + PRVE + PRVECT + PSCR + PSCR + PSDC + PSDCOM + PSDF + PSDFRQ + PSDR + PSDRES + PSDS + PSDSPL + PSDU + PSDUNIT + PSDV + PSDVAL + PSDW + PSDWAV + PSEL + PSEL + PSOL + PSOLVE + PSPE + PSPEC + PSPR + PSPRNG + PSTR + PSTRES + PTEM + PTEMP + PTXY + PTXY + PUNI + PUNIT + PVEC + PVECT + QDVA + QDVAL + QFAC + QFACT + QUAD + QUAD + QUOT + QUOT + R + RACE + RACE + RALL + RALL + RAPP + RAPPND + RBE3 + RBE3 + RCON + RCON + RDEL + RDELE + REAL + REAL + REAL + REALVAR + RECT + RECTNG + REDU + REDUCE + REFL + REFLCOEF + REOR + REORDER + RESE + RESET + RESP + RESP + RESU + RESUME + REXP + REXPORT + RFIL + RFILSZ + RFOR + RFORCE + RIGI + RIGID + RIMP + RIMPORT + RITE + RITER + RLIS + RLIST + RMEM + RMEMRY + RMOD + RMODIF + RMOR + RMORE + ROCK + ROCK + RPOL + RPOLY + RPR4 + RPR4 + RPRI + RPRISM + RPSD + RPSD + RSPE + RSPEED + RSTA + RSTAT + RSYS + RSYS + RTIM + RTIMST + RUN + RWFR + RWFRNT + SABS + SABS + SADD + SADD + SALL + SALLOW + SARP + SARPLOT + SAVE + SAVE + SBCL + SBCLIST + SBCT + SBCTRAN + SDEL + SDELETE + SE + SECD + SECDATA + SECN + SECNUM + SECO + SECOFFSET + SECP + SECPLOT + SECR + SECREAD + SECT + SECTYPE + SECW + SECWRITE + SED + SEDL + SEDLIST + SEEX + SEEXP + SELI + SELIST + SELM + SELM + SENE + SENERGY + SEOP + SEOPT + SESY + SESYMM + SET + SETR + SETRAN + SEXP + SEXP + SF + SFA + SFAC + SFACT + SFAD + SFADELE + SFAL + SFALIST + SFBE + SFBEAM + SFCA + SFCALC + SFCU + SFCUM + SFDE + SFDELE + SFE + SFED + SFEDELE + SFEL + SFELIST + SFFU + SFFUN + SFGR + SFGRAD + SFL + SFLD + SFLDELE + SFLI + SFLIST + SFLL + SFLLIST + SFSC + SFSCALE + SFTR + SFTRAN + SHEL + SHELL + SHPP + SHPP + SLIS + SLIST + SLPP + SLPPLOT + SLSP + SLSPLOT + SMAL + SMALL + SMAX + SMAX + SMBO + SMBODY + SMCO + SMCONS + SMFO + SMFOR + SMIN + SMIN + SMRT + SMRTSIZE + SMSU + SMSURF + SMUL + SMULT + SOLC + SOLCONTROL + SOLU + SOLU + SOLU + SOLUOPT + SOLV + SOLVE + SORT + SORT + SOUR + SOURCE + SPAC + SPACE + SPAR + SPARM + SPEC + SPEC + SPH4 + SPH4 + SPH5 + SPH5 + SPHE + SPHERE + SPLI + SPLINE + SPOI + SPOINT + SPOP + SPOPT + SPRE + SPREAD + SPTO + SPTOPT + SQRT + SQRT + SRCS + SRCS + SRSS + SRSS + SSLN + SSLN + SSTI + SSTIF + SSUM + SSUM + STAT + STAT + STEF + STEF + STOR + STORE + SUBO + SUBOPT + SUBS + SUBSET + SUMT + SUMTYPE + SV + SVTY + SVTYP + TALL + TALLOW + TB + TBCO + TBCOPY + TBDA + TBDATA + TBDE + TBDELE + TBLE + TBLE + TBLI + TBLIST + TBMO + TBMODIF + TBPL + TBPLOT + TBPT + TBPT + TBTE + TBTEMP + TCHG + TCHG + TEE + TERM + TERM + TIME + TIME + TIME + TIMERANGE + TIMI + TIMINT + TIMP + TIMP + TINT + TINTP + TOFF + TOFFST + TOPD + TOPDEF + TOPE + TOPEXE + TOPI + TOPITER + TORQ2D + TORQ + TORQ + TORQ + TORQC2D + TORQSUM + TORU + TORUS + TOTA + TOTAL + TRAN + TRAN + TRANS + TRANSFER + TREF + TREF + TRNO + TRNOPT + TRPD + TRPDEL + TRPL + TRPLIS + TRPO + TRPOIN + TRTI + TRTIME + TSHA + TSHAP + TSRE + TSRES + TUNI + TUNIF + TVAR + TVAR + TYPE + TYPE + UIMP + UIMP + UPCO + UPCOORD + UPGE + UPGEOM + USRC + USRCAL + V + VA + VADD + VADD + VALV + VALVE + VARD + VARDEL + VARN + VARNAM + VATT + VATT + VCLE + VCLEAR + VCRO + VCROSS + VCVF + VCVFILL + VDDA + VDDAM + VDEL + VDELE + VDGL + VDGL + VDOT + VDOT + VDRA + VDRAG + VEXT + VEXT + VGEN + VGEN + VGET + VGET + VGLU + VGLUE + VIMP + VIMP + VINP + VINP + VINV + VINV + VLIS + VLIST + VLSC + VLSCALE + VMES + VMESH + VOFF + VOFFST + VOLU + VOLUMES + VOVL + VOVLAP + VPLO + VPLOT + VPTN + VPTN + VPUT + VPUT + VROT + VROTAT + VSBA + VSBA + VSBV + VSBV + VSBW + VSBW + VSEL + VSEL + VSLA + VSLA + VSUM + VSUM + VSWE + VSWEEP + VSYM + VSYMM + VTRA + VTRAN + VTYP + VTYPE + WAVE + WAVES + WERA + WERASE + WFRO + WFRONT + WMOR + WMORE + WPAV + WPAVE + WPCS + WPCSYS + WPLA + WPLANE + WPOF + WPOFFS + WPRO + WPROTA + WPST + WPSTYL + WRIT + WRITE + WSOR + WSORT + WSTA + WSTART + XVAR + XVAR + XVAROPT + + + + ex + ey + ez + nuxy + nuxz + nuyz + gxy + gxz + gyz + alpx + alpy + alpz + kxx + kyy + kzz + dens + damp + mu + prxy + + + + ANGLEK + ANGLEN + AREAKP + AREAND + ARFACE + ARNEXT + ARNODE + AX + AY + AZ + CENTRX + CENTRY + CENTRZ + DISTEN + DISTKP + DISTND + ELADJ + ELNEXT + ENDS + ENEARN + ENEXTN + ENKE + KNEAR + KP + KPNEXT + KX + KY + KZ + LOC + LSNEXT + LSX + LSY + LSZ + LX + LY + LZ + MAG + NDFACE + NDNEXT + NELEM + NMFACE + NNEAR + NODE + NORMKX + NORMKY + NORMKZ + NORMNX + NORMNY + NORMNZ + NX + NY + NZ + PRES + ROTX + ROTY + ROTZ + TEMP + UX + UY + UZ + VLNEXT + VOLT + VX + VY + VZ + + + + + + all + + + new + change + + + rad + deg + + + hpt + + + all + below + volu + area + line + kp + elem + node + + + ,save + resume + + + off + on + dele + ,save + scale + xorig + yorig + snap + stat + defa + refr + + + static + buckle + modal + harmic + trans + substr + spectr + new + rest + + + dege + + + first + next + last + near + list + velo + acel + + + off + ,l + u + + + off + smooth + clean + on + off + + + tight + + + x + y + z + + + sepo + delete + keep + + + s + ,r + ,a + u + all + none + inve + stat + area + ext + loc + x + y + z + hpt + ,mat + ,type + ,real + ,esys + acca + + + s + ,r + ,a + u + + + emat + esav + full + redm + mode + rdsp + rfrq + tri + rst + rth + rmg + erot + osav + rfl + seld + + + default + fine + + + off + on + + + x + y + + + list + + + lr + sr + + + + + temp + flue + hgen + js + vltg + mvdi + chrgd + forc + repl + add + igno + stat + + + new + sum + + + defa + stat + keep + nwarn + version + no + yes + rv52 + rv51 + + + subsp + lanb + reduc + + + all + db + solid + comb + geom + cm + ,mat + load + blocked + unblocked + + + any + all + + + all + uxyz + rxyz + ux + uy + uz + rotx + roty + rotz + + + append + + + ,esel + warn + err + + + start + nostart + + + cart + cylin + sphe + toro + + + volu + area + line + kp + elem + node + + + create + + + add + dele + + + ,n + p + + + s + ,r + ,a + u + all + none + + + stat + u + rot + ,f + ,m + temp + heat + pres + v + flow + vf + volt + emf + curr + amps + curt + mag + ,a + flux + csg + vltg + + + axes + axnum + num + outl + elem + line + area + volu + isurf + wbak + u + rot + temp + pres + v + enke + ends + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + volt + mag + ,a + emf + curr + ,f + ,m + heat + flow + vf + amps + flux + csg + curt + vltg + mast + ,cp + ,ce + nfor + nmom + rfor + rmom + path + grbak + grid + axlab + curve + cm + cntr + smax + smin + mred + cblu + ygre + dgra + mage + cyan + yell + lgra + bmag + gcya + oran + whit + blue + gree + red + blac + + + nres + nbuf + nproc + locfl + szbio + ncont + order + fsplit + mxnd + mxel + mxkp + mxls + mxar + mxvl + mxrl + mxcp + mxce + nlcontrol + + + high + next + + + any + all + + + all + ux + uy + uz + rotx + roty + rotz + temp + pres + vx + vy + vz + volt + emf + curr + mag + ax + ay + az + enke + ends + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + p + symm + asym + delete + s + ,a + u + stat + rot + disp + v + en + fx + fy + fz + ,f + mx + my + mz + ,m + forc + heat + flow + amps + chrg + flux + csgx + csgy + csgz + csg + + + disp + velo + acel + + + all + + + plslimit + crplimit + dsplimit + npoint + noiterpredict + + + repl + add + igno + + + all + _prm + + + off + on + + + defa + stat + off + on + + + all + p + s + x + y + z + xy + yz + zx + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + tg + tf + pg + ef + ,d + h + b + fmag + ,f + ,m + heat + flow + amps + flux + vf + csg + u + rot + temp + pres + volt + mag + v + ,a + enke + ends + s + int + eqv + sum + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + evis + cmuv + econ + yplu + tauw + + + dither + font + text + off + on + + + vector + dither + anim + font + text + off + on + + + array + char + table + time + x + y + z + temp + velocity + pressure + + + auto + off + user + + + disp + velo + acel + + + symm + asym + x + y + z + + + head + all + + + anim + dgen + dlist + + + add + dele + list + slide + cycl + + + ants + assc + asts + drawbead + ents + ess + ests + nts + osts + rntr + rotr + se + ss + sts + tdns + tdss + tnts + tsts + + + add + dele + list + + + off + on + + + all + + + ansys + dyna + + + all + p + + + off + on + + + list + dele + + + fx + fy + fz + mx + my + mz + ux + uy + uz + rotx + roty + rotz + vx + vy + vz + ax + ay + az + aclx + acly + aclz + omgx + omgy + omgz + press + rbux + rbuy + rbuz + rbrx + rbry + rbrz + rbvx + rbvy + rbvz + rbfx + rbfy + rbfz + rbmx + rbmy + rbmz + add + dele + list + + + hgls + rigid + cable + ortho + + + add + dele + list + all + ux + uy + uz + rotx + roty + rotz + ansys + taurus + both + + + glstat + bndout + rwforc + deforc + ,matsum + ncforc + rcforc + defgeo + spcforc + swforc + rbdout + gceout + sleout + jntforc + nodout + elout + + + add + dele + list + + + ansys + taurus + both + pcreate + pupdate + plist + + + all + p + + + eq + ne + lt + gt + le + ge + ablt + abgt + + + add + remove + all + either + both + + + p + all + ,mat + ,type + ,real + ,esys + secnum + + + p + + + mks + muzro + epzro + + + all + p + + + front + sparse + jcg + jcgout + iccg + pcg + pcgout + iter + + + all + p + off + smooth + clean + on + + + defa + yes + no + + + on + off + + + s + ,r + ,a + u + all + none + inve + stat + p + elem + adj + ,type + ename + ,mat + ,real + ,esys + live + layer + sec + pinc + pexc + sfe + pres + conv + hflux + fsi + impd + shld + mxwf + chrgs + inf + bfe + temp + flue + hgen + js + mvdi + chrgd + etab + + + s + ,r + ,a + u + all + active + inactive + corner + mid + + + p + s + x + y + z + xy + yz + zx + int + eqv + epel + eppl + epcr + epth + nl + sepl + srat + hpres + epeq + psv + plwk + cont + stat + pene + pres + sfric + stot + slide + tg + sum + tf + pg + ef + ,d + h + b + fmag + ,f + ,m + heat + flow + amps + flux + vf + csg + sene + kene + jheat + js + jt + mre + volu + bfe + temp + + + etab + + + top + bottom + reverse + tri + + + all + p + + + refl + stat + eras + u + x + y + z + rot + temp + pres + volt + mag + v + ,a + curr + emf + enke + ends + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + evis + econ + yplu + tauw + lmd1 + lmd2 + lmd3 + lmd4 + lmd5 + lmd6 + emd1 + emd2 + emd3 + emd4 + emd5 + emd6 + s + xy + yz + zx + int + eqv + epto + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + tg + sum + tf + pg + ef + ,d + h + b + fmag + serr + sdsg + terr + tdsg + ,f + ,m + heat + flow + amps + flux + vf + csg + sene + aene + tene + kene + jheat + js + jt + mre + volu + cent + bfe + smisc + nmisc + surf + cont + stat + pene + sfric + stot + slide + gap + topo + + + eti + ite + tts + stt + mtt + fts + ets + + + all + + + elem + short + long1 + + + model + solu + all + nosave + + + rect + polar + modal + full + half + + + off + on + + + yes + no + + + on + off + stat + attr + esize + aclear + + + all + p + fx + fy + fz + mx + my + mz + heat + flow + amps + chrg + flux + csgx + csgy + csgz + + + fine + norml + wire + + + repl + add + igno + stat + + + emat + esav + full + sub + mode + tri + dsub + usub + osav + seld + keep + dele + + + all + + + p + + + solu + flow + turb + temp + comp + swrl + tran + spec + true + t + false + ,f + + + iter + exec + appe + over + + + term + pres + temp + vx + vy + vz + enke + ends + + + time + step + istep + bc + numb + glob + tend + appe + sumf + over + pres + temp + vx + vy + vz + enke + ends + + + step + appe + sumf + over + + + outp + sumf + debg + resi + dens + visc + cond + evis + econ + ttot + hflu + hflm + spht + strm + mach + ptot + pcoe + yplu + tauw + lmd + emd + + + conv + outp + iter + land + bloc + bnow + + + prot + dens + visc + cond + spht + constant + liquid + table + powl + carr + bing + usrv + air + air_b + air-si + air-si_b + air-cm + air-cm_b + air-mm + air-mm_b + air-ft + air-ft_b + air-in + air-in_b + cmix + user + + + nomi + dens + visc + cond + spht + + + cof1 + dens + visc + cond + spht + + + cof2 + dens + visc + cond + spht + + + cof3 + dens + visc + cond + spht + + + prop + ivis + ufrq + + + vary + dens + visc + cond + spht + t + ,f + + + temp + nomi + bulk + ttot + + + pres + refe + + + bulk + beta + + + gamm + comp + + + meth + pres + temp + vx + vy + vz + enke + ends + + + tdma + pres + temp + vx + vy + vz + enke + ends + + + srch + pres + temp + vx + vy + vz + enke + ends + + + pgmr + fill + modp + + + conv + pres + temp + vx + vy + vz + enke + ends + + + maxi + pres + temp + vx + vy + vz + enke + ends + + + delt + pres + temp + vx + vy + vz + enke + ends + + + turb + modl + rati + inin + insf + sctk + sctd + cmu + c1 + c2 + buc3 + buc4 + beta + kapp + ewll + wall + vand + tran + zels + + + rngt + sctk + sctd + cmu + c1 + c2 + beta + etai + + + nket + sctk + sctd + c2 + c1mx + + + girt + sctk + sctd + g0 + g1 + g2 + g3 + g4 + + + szlt + sctk + sctd + szl1 + szl2 + szl3 + + + relx + vx + vy + vz + pres + temp + enke + ends + evis + econ + dens + visc + cond + spht + + + stab + turb + mome + pres + temp + visc + + + prin + vx + vy + vz + pres + temp + enke + ends + dens + visc + cond + spht + evis + econ + + + modr + vx + vy + vz + pres + temp + enke + ends + dens + visc + cond + spht + evis + econ + ttot + t + ,f + + + modv + vx + vy + vz + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + pres + temp + enke + ends + dens + visc + cond + spht + evis + econ + ttot + lmd + emd + + + quad + momd + moms + prsd + prss + thrd + thrs + trbd + trbs + + + capp + velo + temp + pres + umin + umax + vmin + vmax + wmin + wmax + tmin + tmax + pmin + pmax + + + rest + nset + iter + lstp + time + rfil + wfil + over + clear + + + advm + mome + turb + pres + temp + msu + supg + + + all + p + + + all + + + noor + order + + + all + auto + user + + + total + static + damp + inert + + + reco + ten + long + + + g + ,f + e + + + all + + + all + + + rsys + + + emat + esav + full + redm + sub + mode + tri + dsub + usub + erot + osav + seld + all + ext + int + + + open + closed + + + toler + iter + + + toler + oesele + merge + remain + + + open + closed + all + + + tree + off + + + tri + bot + + + all + + + active + int + imme + menu + prkey + units + rout + time + wall + cpu + dbase + ldate + dbase + ltime + rev + title + jobnam + + parm + max + basic + loc + ,type + dim + x + y + z + + cmd + stat + nargs + field + + comp + ncomp + name + ,type + nscomp + sname + + graph + active + angle + contour + dist + dscale + dmult + edge + focus + gline + mode + normal + range + xmin + ymin + xmax + ymax + ratio + sscale + smult + ,type + vcone + view + vscale + vratio + display + erase + ndist + number + plopts + seg + shrink + + active + ,csys + ,dsys + ,mat + ,type + ,real + ,esys + ,cp + ,ce + wfront + max + rms + + cdsy + loc + ang + xy + yz + zx + attr + + node + loc + ,nsel + nxth + nxtl + ,f + fx + mx + csgx + ,d + ux + rotx + vx + ax + hgen + num + max + min + count + mxloc + mnloc + + elem + cent + adj + attr + leng + lproj + area + aproj + volu + ,esel + nxth + nxtl + hgen + hcoe + tbulk + pres + shpar + angd + aspe + jacr + maxa + para + warp + num + ,ksel + nxth + nxtl + div + + kp + ior + imc + irp + ixv + iyv + izv + nrelm + + line + ,lsel + + area + ,asel + loop + + volu + ,vsel + shell + + etyp + + rcon + + ex + alpx + reft + prxy + nuxy + gxy + damp + mu + dnes + c + enth + kxx + hf + emis + qrate + visc + sonc + rsvx + perx + murx + mgxx + lsst + temp + + fldata + flow + turb + temp + comp + swrl + tran + spec + exec + appe + over + pres + temp + vx + vy + vz + enke + ends + step + istep + bc + numb + glob + tend + appe + sumf + over + sumf + debg + resi + dens + visc + cond + evis + econ + ttot + hflu + hflm + spht + strm + mach + ptot + pcoe + yplu + tauw + lmd + emd + outp + iter + dens + visc + cond + ivis + ufrq + nomi + bulk + ttot + refe + beta + comp + fill + modp + modl + rati + inin + insf + sctk + sctd + cmu + c1 + c2 + buc3 + buc4 + beta + kapp + ewll + wall + vand + tran + zels + sctk + sctd + cmu + c1 + c2 + etai + c1mx + g0 + g1 + g2 + g3 + g4 + szl1 + szl2 + szl3 + evis + econ + mome + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + momd + moms + prsd + prss + thrd + thrs + trbd + trbs + velo + umin + umax + vmin + vmax + wmin + wmax + tmin + tmax + pmin + pmax + nset + iter + lstp + time + rfil + wfil + over + clear + + msdata + spec + ugas + + msprop + cond + mdif + spht + nomi + cof1 + cof2 + cof3 + + msspec + name + molw + schm + + msrelax + conc + emdi + stab + + mssolu + nswe + maxi + nsrc + conv + delt + + msmeth + + mscap + key + upp + low + + msvary + + msnomf + + active + anty + solu + dtime + ncmls + ncmss + eqit + ncmit + cnvg + mxdvl + resfrq + reseig + dsprm + focv + mocv + hfcv + mfcv + cscv + cucv + ffcv + dicv + rocv + tecv + vmcv + smcv + vocv + prcv + vecv + nc48 + nc49 + crprat + psinc + + elem + mtot + mc + ior + imc + fmc + mmor + mmmc + + mode + freq + pfact + mcoef + damp + + active + ,set + lstp + sbst + time + rsys + + node + u + sum + rot + ntemp + volt + mag + v + ,a + curr + emf + rf + fx + fy + fz + mx + my + mz + s + int + eqv + epto + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + tg + tf + pg + ef + ,d + h + b + fmag + hs + bfe + ttot + hflu + hflm + conc + pcoe + ptot + mach + strm + evis + cmuv + econ + yplu + tauw + + elem + serr + sdsg + terr + tdsg + sene + tene + kene + jheat + js + volu + etab + smisc + nmisc + + etab + ncol + nleng + + sort + max + min + imax + imin + + ssum + item + + fsum + + path + last + nval + + kcalc + k + + intsrf + + plnsol + bmax + bmin + + prerr + sepc + tepc + sersm + tersm + sensm + tensm + + section + inside + sx + sy + sz + sxxy + syz + szx + center + outside + + vari + extrem + vmax + tmax + vmin + tmin + vlast + tlast + cvar + rtime + itime + t + rset + iset + nsets + + opt + total + feas + term + best + + topo + act + conv + comp + porv + loads + + runst + rspeed + mips + smflop + vmflop + rfilsz + emat + erot + esav + full + mode + rdsp + redm + rfrq + rgeom + rst + tri + rtimst + tfirst + titer + eqprep + ,solve + bsub + eigen + elform + elstrs + nelm + rmemry + wsreq + wsavail + dbpsize + dbpdisk + dbpmem + dbsize + dbmem + scrsize + scravail + iomem + iopsiz + iobuf + rwfrnt + rms + mean + + ,nsel + ,esel + ,ksel + ,lsel + ,asel + ,vsel + ndnext + elnext + kpnext + lsnext + arnext + vlnext + centrx + centry + centrz + nx + ny + nz + kx + ky + kz + lx + ly + lz + lsx + lsy + lsz + node + kp + distnd + distkp + disten + anglen + anglek + nnear + knear + enearn + areand + areakp + arnode + normnx + normny + normnz + normkx + normky + normkz + enextn + nelem + eladj + ndface + nmface + arface + ux + uy + uz + rotx + roty + rotz + temp + pres + vx + vy + vz + enke + ends + volt + mag + ax + ay + az + + + g + ,f + e + + + all + + + stop + + + p + fx + fy + fz + mx + my + mz + + + all + + + full + power + + + axdv + axnm + axnsc + ascal + logx + logy + fill + cgrid + dig1 + dig2 + view + revx + revy + divx + divy + ltyp + off + on + front + + + disp + velo + acel + + + on + off + + + axis + grid + curve + + + all + node + elem + keyp + line + area + volu + grph + + + on + off + + + model + paper + color + direct + + + line + area + coord + ratio + + + all + p + + + all + + + full + reduc + msup + + + on + off + + + all + p + ux + uy + uz + rotx + roty + rotz + temp + pres + vx + vy + vz + enke + ends + sp01 + so02 + sp03 + sp04 + sp05 + sp06 + volt + mag + ax + ay + az + + + all + p + disp + velo + + + eq + ne + lt + gt + le + ge + ablt + abgt + stop + exit + cycle + then + + + all + basic + nsol + rsol + esol + nload + strs + epel + epth + eppl + epcr + fgrad + fflux + misc + + + pres + + + stat + defa + merg + yes + no + solid + gtoler + file + iges + stat + small + + + p + + + p + ratio + dist + + + p + kp + line + + + + all + p + coord + hpt + stat + + + all + p + off + smooth + clean + on + off + + + s + ,r + ,a + u + all + none + inve + stat + p + ,mat + ,type + ,real + ,esys + all + kp + ext + hpt + loc + x + y + z + + + s + ,r + ,a + u + + + all + p + x + y + z + + + p + + + fcmax + + + + + + all + p + + + erase + stat + all + + + zero + squa + sqrt + lprin + add + sub + srss + min + max + abmn + abmx + all + mult + + + s + ,r + ,a + u + all + none + inve + stat + + + temp + forc + hgen + hflu + ehflu + js + pres + reac + hflm + last + + + none + comment + remove + + + radius + layer + hpt + orient + + + off + on + auto + + + cart + cylin + sphe + toro + + + all + p + off + smooth + clean + on + + + p + all + sepo + delete + keep + + + solid + fe + iner + lfact + lsopt + all + + + s + ,r + ,a + u + all + none + inve + stat + p + line + ext + loc + x + y + z + tan1 + tan2 + ndiv + space + ,mat + ,type + ,real + ,esys + sec + lenght + radius + hpt + lcca + + + s + ,r + ,a + u + + + stat + init + + + x + y + z + all + p + + + off + on + + + all + p + ux + uy + uz + rotx + roty + rotz + temp + fx + fy + fz + mx + my + mz + heat + + + all + p + + + on + grph + + + fit + eval + + + copy + tran + + + stat + nocheck + check + detach + + + subsp + lanb + reduc + unsym + damp + off + on + + + mult + solv + sort + covar + corr + + + expnd + tetexpnd + trans + iesz + amesh + default + main + alternate + alt2 + qmesh + vmesh + split + lsmo + clear + pyra + timp + stat + defa + + + p + + + ex + ey + ez + alpx + alpy + alpz + reft + prxy + pryz + prxz + nuxy + nuyz + nuzx + gxy + gyz + gxz + damp + mu + dens + c + enth + kxx + kyy + kzz + hf + emis + qrate + visc + sonc + rsvx + rsvy + rsvz + perx + pery + perz + murx + mury + murz + mgxx + mgyy + mgzz + lsst + + + all + + + read + write + stat + + + all + evlt + + + msu + supg + + + off + on + + + info + note + warn + error + fatal + ui + + + 2d + 3d + + + dens + visc + cond + mdif + spht + constant + liquid + gas + + + main + input + grph + tool + zoom + work + wpset + abbr + parm + sele + anno + hard + help + off + on + + + dens + visc + cond + mdif + off + on + + + no + yes + + + all + p + + + off + on + + + all + p + coord + + + all + p + off + smooth + clean + on + + + disp + velo + acel + + + auto + full + modi + init + on + off + + + s + ,r + ,a + u + all + none + inve + stat + node + ext + loc + x + y + z + ang + xy + yz + zx + ,m + ,cp + ,ce + ,d + u + ux + uy + uz + rot + rotx + roty + rotz + temp + pres + volt + mag + v + vx + vy + vz + ,a + ax + ay + az + curr + emf + enke + ends + ,f + fx + fy + fz + ,m + mx + my + mz + heat + flow + amps + flux + csg + csgx + csgy + csgz + chrg + chrgd + ,bf + temp + flue + hgen + js + jsx + jsy + jsz + mvdi + int + eqv + epto + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + cont + pene + sfric + stot + slide + tg + tf + pg + ef + ,d + h + b + fmag + topo + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + evis + cmuv + econ + yplu + tauw + + + s + ,r + ,a + u + all + active + inactive + corner + mid + + + off + on + + + x + y + z + all + p + + + node + elem + kp + line + area + volu + ,mat + ,type + ,real + ,cp + ,ce + all + low + high + ,csys + defa + + + yes + no + + + p + + + all + + + full + + + best + last + ,n + + + off + on + + + main + 2fac + 3fac + + + top + prep + ignore + process + scalar + all + + + temp + + + off + on + full + + + subp + first + rand + run + fact + grad + sweep + user + + + dv + sv + obj + del + + + basic + nsol + rsol + esol + nload + veng + all + none + last + stat + erase + + + term + append + + + all + basic + nsol + rsol + esol + nload + strs + epel + epth + eppl + epcr + fgrad + fflux + misc + none + all + last + + + all + name + + + points + table + label + + + all + path + + + new + change + + + scalar + all + + + s + all + + + u + ux + uy + uz + rot + rotx + roty + rotz + temp + pres + v + vx + vy + vz + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + enke + ends + volt + mag + ,a + chrg + ,f + forc + fx + fy + fz + ,m + mome + mx + my + mz + heat + flow + amps + flux + csg + mast + ,cp + ,ce + nfor + nmom + rfor + rmom + path + acel + acelx + acely + acelz + omeg + omegx + omegy + omegz + all + + + temp + flue + hgen + js + jsx + jsy + jsz + phase + mvdi + chrgd + vltg + forc + + + add + mult + div + exp + deri + intg + sin + cos + asin + acos + log + + + stat + erase + dele + se + s + epel + u + rot + eqv + sum + p + top + mid + bot + x + y + z + xy + yz + xz + int + + + now + + + avg + noav + u + x + y + z + sum + rot + temp + pres + volt + mag + v + ,a + curr + emf + enke + ends + xy + yz + xz + eqv + epto + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + tg + tf + pg + ef + ,d + h + b + fmag + etab + bfe + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + evis + cmuv + econ + yplu + tauw + spht + + + x + y + z + + + all + stat + p + + + base + node + wave + spat + + + write + read + list + delete + clear + status + + + all + stat + p + + + on + off + + + all + se + s + epel + u + rot + top + mid + bot + xy + yz + xz + int + eqv + epel + u + rot + + + s + x + y + z + xy + yz + xz + int + eqv + epto + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + cont + stat + pene + pres + sfric + stot + slide + gap + tg + tf + pg + ef + ,d + h + b + fmag + serr + sdsg + terr + tdsg + ,f + ,m + heat + flow + amps + flux + vf + csg + sene + tene + kene + jheat + js + jt + mre + volu + cent + bfe + temp + smisc + nmisc + topo + + + noav + avg + + + u + x + y + z + sum + rot + temp + pres + volt + mag + v + y + enke + ends + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + s + int + eqv + epto + xy + yz + xz + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + cont + stat + pene + pres + sfric + stot + slide + gap + tg + tf + pg + ef + ,d + h + b + fmag + bfe + temp + topo + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + spht + evis + cmuv + econ + yplu + tauw + lmd1 + lmd2 + lmd3 + lmd4 + lmd5 + lmd6 + emd1 + emd2 + emd3 + emd4 + emd5 + emd6 + + + leg1 + leg2 + info + frame + title + minm + logo + wins + wp + off + on + auto + + + all + + + node + + + xg + yg + zg + s + + + s + x + y + z + xy + yz + xz + int + eqv + + + fluid + elec + magn + temp + pres + v + x + y + z + sum + enke + ends + ttot + cond + pcoe + ptot + mach + strm + dens + visc + spht + evis + cmuv + econ + volt + + + rast + vect + elem + node + off + on + u + rot + v + ,a + s + epto + epel + eppl + epcr + epth + tg + tf + pg + ef + ,d + h + b + fmag + js + jt + + + uniform + accurate + + + on + off + stat + + + node + elem + ,mat + ,type + ,real + ,esys + loc + kp + line + area + volu + sval + tabnam + off + on + + + b31.1 + nc + + + coax + te10 + te11circ + tm01circ + + + pick + + + off + on + + + s + epto + epel + eppl + epcr + epsw + nl + cont + tg + tf + pg + ef + ,d + h + b + fmag + ,f + ,m + heat + flow + amps + flux + vf + csg + forc + bfe + elem + serr + sdsg + terr + tdsg + sene + tene + kene + jheat + js + jt + mre + volu + cent + smisc + nmisc + topo + + + fx + fy + fz + ,f + mx + ym + mz + ,m + heat + flow + vfx + vfy + vfz + vf + amps + curt + vltg + flux + csgx + csgy + csgz + csg + + + u + x + y + z + comp + rot + temp + pres + volt + mag + v + ,a + curr + emf + enke + ends + sp01 + sp02 + sp03 + sp04 + sp05 + sp06 + dof + + s + comp + prin + epto + epel + eppl + epcr + epth + epsw + nl + cont + tg + tf + pg + ef + ,d + h + b + fmag + bfe + topo + + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + spht + evis + cmuv + econ + yplu + tauw + lmd + emd + + + u + rot + v + ,a + s + epto + epel + eppl + epcr + epth + tg + tf + pg + ef + ,d + h + b + fmag + js + jt + + + cmap + lwid + color + tranx + trany + rotate + scale + tiff + epsi + + + disp + velo + acel + rel + abs + off + + + disp + velo + acel + accg + forc + pres + + + off + + + s + ,r + ,a + u + all + none + inv + + + pres + norm + tanx + tany + conv + hcoef + tbulk + rad + emis + tamb + hflux + fsi + impd + shld + cond + mur + mxwf + inf + chrgs + mci + + + cgsol + eigdamp + eigexp + eigfull + eigreduc + eigunsym + elform + elprep + redwrite + triang + + + tran + rot + + + off + on + + + cs + ndir + ,esys + ldir + layr + pcon + econ + dot + xnod + defa + stat + + + none + + + stat + dele + + + ftin + metric + + + norm + tang + radi + + + p + + + all + + + ux + uy + uz + rotx + roty + rotz + uxyz + rxyz + all + + + all + + + resize + fast + + + off + dyna + + + p + ,f + x + y + z + ,m + heat + flow + amps + flux + vf + csg + vltg + durt + + + index + cntr + + + all + ux + uy + uz + rotx + roty + rotz + none + all + + + off + dyna + elem + stress + + + all + + + solu + + + factor + area + narrow + + + read + status + + + cent + shrc + origin + user + + + library + mesh + + + beam + rect + quad + csolid + ctube + chan + i + z + ,l + t + hats + hrec + asec + mesh + + + all + + + off + on + + + singl + multi + delet + off + stat + pc + + + x + y + z + + + + + first + last + next + near + list + none + + + all + p + pres + conv + hflux + rad + fsi + impd + ptot + mxwf + mci + chrgs + inf + port + shld + + + all + p + pres + conv + hflux + rad + fsi + impd + mxwf + mci + mxwf + chrgs + inf + port + shld + + + ,sf + ms + + + all + p + + + all + pres + conv + hflux + selv + chrgs + mxwf + inf + repl + add + igno + stat + + + all + p + pres + conv + hflux + rad + mxwf + chrgs + mci + inf + selv + fsi + impd + port + shld + + + all + p + pres + conv + hflux + rad + mxwf + chrgs + mci + inf + selv + fsi + impd + port + shld + + + pres + conv + hflux + chrgs + status + x + y + z + + + all + p + pres + conv + hflux + rad + fsi + impd + mci + mxwf + chrgs + inf + port + shdl + selv + + + facet + gouraud + phong + + + top + mid + bot + + + term + file + off + pscr + hpgl + hpgl2 + vrml + + + hpgl + hpgl2 + interleaf + postscript + dump + + + on + warn + off + silent + status + summary + default + object + modify + angd + aspect + paral + maxang + jacrat + warp + all + yes + no + + + factor + radius + length + + + stat + defa + off + on + + + on + off + + + allf + aldlf + arcl + cnvg + crprat + cscv + cucv + dicv + dsprm + dtime + eqit + ffcv + focv + hfcv + nc48 + nc49 + ncmit + ncmls + ncmss + mfcv + mocv + mxdvl + prcv + psinc + resfrq + reseig + rocv + smcv + tecv + vecv + vocv + vmcv + + + sprs + mprs + ddam + psd + no + yes + + + disp + velo + acel + + + all + + + off + on + + + argx + + + all + title + units + mem + db + config + global + solu + phys + + + merge + new + appen + alloc + psd + + + all + part + none + + + first + last + next + near + list + velo + acel + + + comp + prin + + + bkin + mkin + miso + biso + aniso + dp + melas + user + kinh + anand + creep + swell + bh + piez + fail + mooney + water + anel + concr + hflm + fcon + pflow + evisc + plaw + foam + honey + comp + nl + eos + + + all + + + mkin + kinh + melas + miso + bkin + biso + bh + nb + mh + sbh + snb + smh + + + defi + dele + + + wt + uft + + + copy + loop + noprom + + + off + on + all + struc + therm + elect + mag + fluid + + + all + p + + + all + p + + + orig + off + lbot + rbot + ltop + rtop + + + elem + area + volu + isurf + cm + curve + + + full + reduc + msup + damp + nodamp + + + all + p + + + iine + line + para + arc + carc + circ + tria + tri6 + quad + qua8 + cyli + cone + sphe + pilo + + + basic + sect + hidc + hidd + hidp + cap + zbuf + zcap + zqsl + hqsl + + + help + view + wpse + wpvi + result + query + copy + anno + select + ,nsel + ,esel + ,ksel + ,lsel + ,asel + ,vsel + refresh + s + ,r + ,a + u + node + element + grid + format + pscr + tiff + epsi + bmp + wmf + emf + screen + full + graph + color + mono + grey + krev + norm + reverse + orient + landscape + portrait + compress + yes + no + + + msgpop + replot + abort + dyna + pick + on + off + stat + defa + + + user + si + cgs + bft + bin + + + off + on + + + all + + + usrefl + userfl + usercv + userpr + userfx + userch + userfd + userou + usermc + usolbeg + uldbeg + ussbeg + uitbeg + uitfin + ussfin + uldfin + usolfin + uanbeg + uanfin + uelmatx + + + all + p + + + data + ramp + rand + gdis + tria + beta + gamm + + + acos + asin + asort + atan + comp + copy + cos + cosh + dircos + dsort + euler + exp + expa + log + log10 + nint + not + pwr + sin + sinh + sqrt + tan + tanh + tang + norm + local + global + + + all + p + + + node + loc + x + y + z + ang + xy + yz + zx + ,nsel + + elem + cent + adj + attr + geom + ,esel + shpar + + kp + div + ,ksel + + line + leng + ,lsel + + area + loop + ,asel + + volu + shell + volu + ,vsel + + cdsy + + rcon + const + + const + bkin + mkin + miso + biso + aniso + dp + melas + user + kinh + anand + creep + swell + bh + piez + fail + mooney + water + anel + concr + hflm + fcon + pflow + evisc + plaw + foam + honey + comp + nl + eos + + u + rot + temp + pres + volt + mag + v + ,a + curr + emf + enke + ends + + s + int + eqv + epto + epel + eppl + epcr + epth + epsw + + nl + sepl + srat + hpres + epeq + psv + plwk + hs + bfe + tg + tf + pg + ef + ,d + h + b + fmag + + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + evis + econ + yplu + tauw + + etab + + + all + p + + + all + wp + + + add + sub + mult + div + min + max + lt + le + eq + ne + ge + gt + der1 + der2 + int1 + int2 + dot + cross + gath + scat + + + all + p + + + all + dege + + + node + u + x + y + z + rot + temp + pres + volt + mag + v + ,a + curr + emf + enke + ends + s + xy + yz + xz + int + eqv + epto + epel + eppl + epcr + epth + epsw + nl + sepl + srat + hpres + epeq + psv + plwk + tg + tf + pg + ef + ,d + h + b + fmag + ttot + hflu + hflm + cond + pcoe + ptot + mach + strm + dens + visc + evis + econ + yplu + tauw + + elem + etab + + + all + p + + + all + p + sepo + delete + keep + + + max + min + lmax + lmin + first + last + sum + medi + mean + vari + stdv + rms + num + + + s + ,r + ,a + u + all + none + inve + stat + p + volu + loc + x + y + z + ,mat + ,type + ,real + ,esys + + + default + fine + + + p + + + x + y + z + all + p + -x + -y + -z + + + max + rms + + + off + on + full + left + righ + top + bot + ltop + lbot + rtop + rbot + squa + dele + + + p + + + x + y + z + all + max + rms + + + all + + + all + + + off + back + scrn + rect + + + + + diff --git a/extra/xmode/modes/applescript.xml b/extra/xmode/modes/applescript.xml new file mode 100644 index 0000000000..f4d18e0541 --- /dev/null +++ b/extra/xmode/modes/applescript.xml @@ -0,0 +1,280 @@ + + + + + + + + + + + + + + + + + (* + *) + + -- + + + " + " + + + ' + ' + + + ( + ) + + + - + ^ + * + / + & + < + <= + > + >= + = + ­ + + + application[\t\s]+responses + current[\t\s]+application + white[\t\s]+space + + + all[\t\s]+caps + all[\t\s]+lowercase + small[\t\s]+caps + + + missing[\t\s]+value + + + + script + property + prop + end + copy + to + set + global + local + on + to + of + in + given + with + without + return + continue + tell + if + then + else + repeat + times + while + until + from + exit + try + error + considering + ignoring + timeout + transaction + my + get + put + into + is + + + each + some + every + whose + where + id + index + first + second + third + fourth + fifth + sixth + seventh + eighth + ninth + tenth + last + front + back + st + nd + rd + th + middle + named + through + thru + before + after + beginning + the + + + close + copy + count + delete + duplicate + exists + launch + make + move + open + print + quit + reopen + run + save + saving + + + it + me + version + pi + result + space + tab + anything + + + case + diacriticals + expansion + hyphens + punctuation + + + bold + condensed + expanded + hidden + italic + outline + plain + shadow + strikethrough + subscript + superscript + underline + + + ask + no + yes + + + false + true + + + weekday + monday + mon + tuesday + tue + wednesday + wed + thursday + thu + friday + fri + saturday + sat + sunday + sun + + month + january + jan + february + feb + march + mar + april + apr + may + june + jun + july + jul + august + aug + september + sep + october + oct + november + nov + december + dec + + minutes + hours + days + weeks + + + div + mod + and + not + or + as + contains + equal + equals + isn't + + + diff --git a/extra/xmode/modes/asp.xml b/extra/xmode/modes/asp.xml new file mode 100644 index 0000000000..01735baabe --- /dev/null +++ b/extra/xmode/modes/asp.xml @@ -0,0 +1,518 @@ + + + + + + + + + + + + + <%@LANGUAGE="VBSCRIPT"% + <%@LANGUAGE="JSCRIPT"% + <%@LANGUAGE="JAVASCRIPT"% + <%@LANGUAGE="PERLSCRIPT"% + + + + <% + %> + + + + + <script language="vbscript" runat="server"> + </script> + + + + + <script language="jscript" runat="server"> + </script> + + + + <script language="javascript" runat="server"> + </script> + + + + + <script language="perlscript" runat="server"> + </script> + + + + + <script language="jscript"> + </script> + + + + <script language="javascript"> + </script> + + + + <script> + </script> + + + + + <!--# + --> + + + + + <!-- + --> + + + + + <STYLE> + </STYLE> + + + + + < + > + + + + + & + ; + + + + + + + + <% + %> + + + + + <script language="vbscript" runat="server"> + </script> + + + + + <script language="jscript" runat="server"> + </script> + + + + <script language="javascript" runat="server"> + </script> + + + + + <script language="perlscript" runat="server"> + </script> + + + + + <script language="jscript" + </script> + + + + <script language="javascript" + </script> + + + + <script> + </script> + + + + + <!--# + --> + + + + + <!-- + --> + + + + + <STYLE> + </STYLE> + + + + + </ + > + + + + < + > + + + + + & + ; + + + + + + + + <% + %> + + + + + <script language="vbscript" runat="server"> + </script> + + + + + <script language="jscript" runat="server"> + </script> + + + + <script language="javascript" runat="server"> + </script> + + + + + <script language="perlscript" runat="server"> + </script> + + + + + <script language="jscript" + </script> + + + + <script language="javascript" + </script> + + + + <script> + </script> + + + + + <!--# + --> + + + + + <!-- + --> + + + + + <STYLE> + </STYLE> + + + + + </ + > + + + + < + > + + + + + & + ; + + + + + + + + <% + %> + + + + + <script language="vbscript" runat="server"> + </script> + + + + + <script language="jscript" runat="server"> + </script> + + + + <script language="javascript" runat="server" + </script> + + + + + <script language="perlscript" runat="server"> + </script> + + + + + <script language="jscript" + </script> + + + + <script language="javascript" + </script> + + + + <script> + </script> + + + + + <!--# + --> + + + + + <!-- + --> + + + + + <STYLE> + </STYLE> + + + + + </ + > + + + + < + > + + + + + & + ; + + + + + + + + <% + %> + + + + " + " + + + + ' + ' + + + = + + + + + + <% + %> + + + + + + + <% + %> + + + + " + " + + + + ' + ' + + + = + + + + + + <% + %> + + + + + + + <% + %> + + + + " + " + + + + ' + ' + + + = + + + + + + <% + %> + + + + + + + + <% + %> + + + + + + + + <% + %> + + + + + + + + <% + %> + + + + + + + + + <% + %> + + + + + + + + <% + %> + + + + + + + + <% + %> + + + + + + + + + <% + %> + + + + + + + <% + %> + + + + + + + <% + %> + + + + diff --git a/extra/xmode/modes/aspect-j.xml b/extra/xmode/modes/aspect-j.xml new file mode 100644 index 0000000000..8c7609ae56 --- /dev/null +++ b/extra/xmode/modes/aspect-j.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + /**/ + + + + /** + */ + + + + + /* + */ + + + + " + " + + + ' + ' + + + // + + = + ! + >= + <= + + + - + / + + + .* + + * + > + < + % + & + | + ^ + ~ + } + { + : + + + ( + ) + + + abstract + break + case + catch + continue + default + do + else + extends + final + finally + for + if + implements + instanceof + native + new + private + protected + public + return + static + switch + synchronized + throw + throws + transient + try + volatile + while + + package + import + + boolean + byte + char + class + double + float + int + interface + long + short + void + + assert + strictfp + + false + null + super + this + true + + goto + const + + args + percflow + get + set + preinitialization + handler + adviceexecution + cflow + target + cflowbelow + withincode + declare + precedence + issingleton + perthis + pertarget + privileged + after + around + aspect + before + call + execution + initialization + pointcut + proceed + staticinitialization + within + .. + + + diff --git a/extra/xmode/modes/assembly-m68k.xml b/extra/xmode/modes/assembly-m68k.xml new file mode 100644 index 0000000000..03a6c4c7dc --- /dev/null +++ b/extra/xmode/modes/assembly-m68k.xml @@ -0,0 +1,508 @@ + + + + + + + + + + + + + + + ; + * + + + ' + ' + + + + " + " + + + + + $ + + : + + , + : + ( + ) + ] + [ + $ + + + + - + / + * + % + + | + ^ + & + ~ + ! + + = + < + > + + + + + + + + D0 + D1 + D2 + D3 + D4 + D5 + D6 + D7 + + + A0 + A1 + A2 + A3 + A4 + A5 + A6 + A7 + + + FP0 + FP1 + FP2 + FP3 + FP4 + FP5 + FP6 + FP7 + + SP + CCR + + + + + + + OPT + INCLUDE + FAIL + END + REG + + + PAGE + LIST + NOLIST + SPC + TTL + + + ORG + + + EQU + SET + + + DS + DC + + + FOR + ENDF + IF + THEN + ELSE + ENDI + REPEAT + UNTIL + WHILE + DO + ENDW + + MACRO + + + + ABCD + ADD + ADD.B + ADD.W + ADD.L + ADDA + ADDA.W + ADDA.L + ADDI + ADDI.B + ADDI.W + ADDI.L + ADDQ + ADDQ.B + ADDQ.W + ADDQ.L + ADDX + ADDX.B + ADDX.W + ADDX.L + AND + AND.B + AND.W + AND.L + ANDI + ANDI.B + ANDI.W + ANDI.L + ASL + ASL.B + ASL.W + ASL.L + ASR + ASR.B + ASR.W + ASR.L + + BCC + BCS + BEQ + BGE + BGT + BHI + BLE + BLS + BLT + BMI + BNE + BPL + BVC + BVS + BCHG + BCLR + BFCHG + BFCLR + BFEXTS + BFEXTU + BFFF0 + BFINS + BFSET + BFTST + BGND + BKPT + BRA + BSET + BSR + BTST + CALLM + CAS + CAS2 + CHK + CHK2 + CINV + CLR + CLR.B + CLR.W + CLR.L + CMP + CMP.B + CMP.W + CMP.L + CMPA + CMPA.W + CMPA.L + CMPI + CMPI.B + CMPI.W + CMPI.L + CMPM + CMPM.B + CMPM.W + CMPM.L + CMP2 + CMP2.B + CMP2.W + CMP2.L + + CPUSH + + DBCC + DBCS + DBEQ + DBGE + DBGT + DBHI + DBLE + DBLS + DBLT + DBMI + DBNE + DBPL + DBVC + DBVS + + DIVS + DIVSL + DIVU + DIVUL + EOR + EOR.B + EOR.W + EOR.L + EORI + EORI.B + EORI.W + EORI.L + EXG + EXT + EXTB + FABS + FSABS + FDABS + FACOS + FADD + FSADD + FDADD + FASIN + FATAN + FATANH + + FCMP + FCOS + FCOSH + + FDIV + FSDIV + FDDIV + FETOX + FETOXM1 + FGETEXP + FGETMAN + FINT + FINTRZ + FLOG10 + FLOG2 + FLOGN + FLOGNP1 + FMOD + FMOVE + FSMOVE + FDMOVE + FMOVECR + FMOVEM + FMUL + FSMUL + FDMUL + FNEG + FSNEG + FDNEG + FNOP + FREM + FRESTORE + FSAVE + FSCALE + + FSGLMUL + FSIN + FSINCOS + FSINH + FSQRT + FSSQRT + FDSQRT + FSUB + FSSUB + FDSUB + FTAN + FTANH + FTENTOX + + FTST + FTWOTOX + ILLEGAL + JMP + JSR + LEA + LINK + LPSTOP + LSL + LSL.B + LSL.W + LSL.L + LSR + LSR.B + LSR.W + LSR.L + MOVE + MOVE.B + MOVE.W + MOVE.L + MOVEA + MOVEA.W + MOVEA.L + MOVE16 + MOVEC + MOVEM + MOVEP + MOVEQ + MOVES + MULS + MULU + NBCD + NEG + NEG.B + NEG.W + NEG.L + NEGX + NEGX.B + NEGX.W + NEGX.L + NOP + NOT + NOT.B + NOT.W + NOT.L + OR + OR.B + OR.W + OR.L + ORI + ORI.B + ORI.W + ORI.L + PACK + + + PEA + PFLUSH + PFLUSHA + PFLUSHR + PFLUSHS + PLOAD + PMOVE + PRESTORE + PSAVE + + PTEST + + PVALID + RESET + ROL + ROL.B + ROL.W + ROL.L + ROR + ROR.B + ROR.W + ROR.L + ROXL + ROXL.B + ROXL.W + ROXL.L + ROXR + ROXR.B + ROXR.W + ROXR.L + RTD + RTE + RTM + RTR + RTS + SBCD + + SCC + SCS + SEQ + SF + SGE + SGT + SHI + SLE + SLS + SLT + SMI + SNE + SPL + ST + SVC + SVS + + STOP + SUB + SUB.B + SUB.W + SUB.L + SUBA + SUBI + SUBI.B + SUBI.W + SUBI.L + SUBQ + SUBQ.B + SUBQ.W + SUBQ.L + SUBX + SUBX.B + SUBX.W + SUBX.L + SWAP + TAS + TBLS + TBLSN + TBLU + TBLUN + TRAP + + TRAPCC + TRAPCS + TRAPEQ + TRAPF + TRAPGE + TRAPGT + TRAPHI + TRAPLE + TRAPLS + TRAPLT + TRAPMI + TRAPNE + TRAPPL + TRAPT + TRAPVC + TRAPVS + + TRAPV + TST + TST.B + TST.W + TST.L + UNLK + UNPK + + + + + diff --git a/extra/xmode/modes/assembly-macro32.xml b/extra/xmode/modes/assembly-macro32.xml new file mode 100644 index 0000000000..763d17ea9e --- /dev/null +++ b/extra/xmode/modes/assembly-macro32.xml @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + ; + + + ' + ' + + + + " + " + + + + %% + + % + + : + + + B^ + D^ + O^ + X^ + A^ + M^ + F^ + C^ + L^ + G^ + ^ + + + + + - + / + * + @ + # + & + ! + \ + + + + .ADDRESS + .ALIGN + .ALIGN + .ASCIC + .ASCID + .ASCII + .ASCIZ + .BLKA + .BLKB + .BLKD + .BLKF + .BLKG + .BLKH + .BLKL + .BLKO + .BLKQ + .BLKW + .BYTE + .CROSS + .CROSS + .DEBUG + .DEFAULT + .D_FLOATING + .DISABLE + .DOUBLE + .DSABL + .ENABL + .ENABLE + .END + .ENDC + .ENDM + .ENDR + .ENTRY + .ERROR + .EVEN + .EXTERNAL + .EXTRN + .F_FLOATING + .FLOAT + .G_FLOATING + .GLOBAL + .GLOBL + .H_FLOATING + .IDENT + .IF + .IFF + .IF_FALSE + .IFT + .IFTF + .IF_TRUE + .IF_TRUE_FALSE + .IIF + .IRP + .IRPC + .LIBRARY + .LINK + .LIST + .LONG + .MACRO + .MASK + .MCALL + .MDELETE + .MEXIT + .NARG + .NCHR + .NLIST + .NOCROSS + .NOCROSS + .NOSHOW + .NOSHOW + .NTYPE + .OCTA + .OCTA + .ODD + .OPDEF + .PACKED + .PAGE + .PRINT + .PSECT + .PSECT + .QUAD + .QUAD + .REF1 + .REF2 + .REF4 + .REF8 + .REF16 + .REPEAT + .REPT + .RESTORE + .RESTORE_PSECT + .SAVE + .SAVE_PSECT + .SBTTL + .SHOW + .SHOW + .SIGNED_BYTE + .SIGNED_WORD + .SUBTITLE + .TITLE + .TRANSFER + .WARN + .WEAK + .WORD + + + R0 + R1 + R2 + R3 + R4 + R5 + R6 + R7 + R8 + R9 + R10 + R11 + R12 + AP + FP + SP + PC + + + ACBB + ACBD + ACBF + ACBG + ACBH + ACBL + ACBW + ADAWI + ADDB2 + ADDB3 + ADDD2 + ADDD3 + ADDF2 + ADDF3 + ADDG2 + ADDG3 + ADDH2 + ADDH3 + ADDL2 + ADDL3 + ADDP4 + ADDP6 + ADDW2 + ADDW3 + ADWC + AOBLEQ + AOBLSS + ASHL + ASHP + ASHQ + BBC + BBCC + BBCCI + BBCS + BBS + BBSC + BBSS + BBSSI + BCC + BCS + BEQL + BEQLU + BGEQ + BGEQU + BGTR + BGTRU + BICB2 + BICB3 + BICL2 + BICL3 + BICPSW + BICW2 + BICW3 + BISB2 + BISB3 + BISL2 + BISL3 + BISPSW + BISW2 + BISW3 + BITB + BITL + BITW + BLBC + BLBS + BLEQ + BLEQU + BLSS + BLSSU + BNEQ + BNEQU + BPT + BRB + BRW + BSBB + BSBW + BVC + BVS + CALLG + CALLS + CASEB + CASEL + CASEW + CHME + CHMK + CHMS + CHMU + CLRB + CLRD + CLRF + CLRG + CLRH + CLRL + CLRO + CLRQ + CLRW + CMPB + CMPC3 + CMPC5 + CMPD + CMPF + CMPG + CMPH + CMPL + CMPP3 + CMPP4 + CMPV + CMPW + CMPZV + CRC + CVTBD + CVTBF + CVTBG + CVTBH + CVTBL + CVTBW + CVTDB + CVTDF + CVTDH + CVTDL + CVTDW + CVTFB + CVTFD + CVTFG + CVTFH + CVTFL + CVTFW + CVTGB + CVTGF + CVTGH + CVTGL + CVTGW + CVTHB + CVTHD + CVTHF + CVTHG + CVTHL + CVTHW + CVTLB + CVTLD + CVTLF + CVTLG + CVTLH + CVTLP + CVTLW + CVTPL + CVTPS + CVTPT + CVTRDL + CVTRFL + CVTRGL + CVTRHL + CVTSP + CVTTP + CVTWB + CVTWD + CVTWF + CVTWG + CVTWH + CVTWL + DECB + DECL + DECW + DIVB2 + DIVB3 + DIVD2 + DIVD3 + DIVF2 + DIVF3 + DIVG2 + DIVG3 + DIVH2 + DIVH3 + DIVL2 + DIVL3 + DIVP + DIVW2 + DIVW3 + EDITPC + EDIV + EMODD + EMODF + EMODG + EMODH + EMUL + EXTV + EXTZV + FFC + FFS + HALT + INCB + INCL + INCW + INDEX + INSQHI + INSQTI + INSQUE + INSV + IOTA + JMP + JSB + LDPCTX + LOCC + MATCHC + MCOMB + MCOML + MCOMW + MFPR + MFVP + MNEGB + MNEGD + MNEGF + MNEGG + MNEGH + MNEGL + MNEGW + MOVAB + MOVAD + MOVAF + MOVAG + MOVAH + MOVAL + MOVAO + MOVAQ + MOVAW + MOVB + MOVC3 + MOVC5 + MOVD + MOVF + MOVG + MOVH + MOVL + MOVO + MOVP + MOVPSL + MOVQ + MOVTC + MOVTUC + MOVW + MOVZBL + MOVZBW + MOVZWL + MTPR + MTVP + MULB2 + MULB3 + MULD2 + MULD3 + MULF2 + MULF3 + MULG2 + MULG3 + MULH2 + MULH3 + MULL2 + MULL3 + MULP + MULW2 + MULW3 + NOP + POLYD + POLYF + POLYG + POLYH + POPR + PROBER + PROBEW + PUSHAB + PUSHABL + PUSHAL + PUSHAD + PUSHAF + PUSHAG + PUSHAH + PUSHAL + PUSHAO + PUSHAQ + PUSHAW + PUSHL + PUSHR + REI + REMQHI + REMQTI + REMQUE + RET + ROTL + RSB + SBWC + SCANC + SKPC + SOBGEQ + SOBGTR + SPANC + SUBB2 + SUBB3 + SUBD2 + SUBD3 + SUBF2 + SUBF3 + SUBG2 + SUBG3 + SUBH2 + SUBH3 + SUBL2 + SUBL3 + SUBP4 + SUBP6 + SUBW2 + SUBW3 + SVPCTX + TSTB + TSTD + TSTF + TSTG + TSTH + TSTL + TSTW + VGATHL + VGATHQ + VLDL + VLDQ + VSADDD + VSADDF + VSADDG + VSADDL + VSBICL + VSBISL + VSCATL + VSCATQ + VSCMPD + VSCMPF + VSCMPG + VSCMPL + VSDIVD + VSDIVF + VSDIVG + VSMERGE + VSMULD + VSMULF + VSMULG + VSMULL + VSSLLL + VSSRLL + VSSUBD + VSSUBF + VSSUBG + VSSUBL + VSTL + VSTQ + VSXORL + VSYNC + VVADDD + VVADDF + VVADDG + VVADDL + VVBICL + VVBISL + VVCMPD + VVCMPF + VVCMPG + VVCMPL + VVCVT + VVDIVD + VVDIVF + VVDIVG + VVMERGE + VVMULD + VVMULF + VVMULG + VVMULL + VVSLLL + VVSRLL + VVSUBD + VVSUBF + VVSUBG + VVSUBL + VVXORL + XFC + XORB2 + XORB3 + XORL2 + XORL3 + XORW2 + XORW3 + + + diff --git a/extra/xmode/modes/assembly-mcs51.xml b/extra/xmode/modes/assembly-mcs51.xml new file mode 100644 index 0000000000..113e196b83 --- /dev/null +++ b/extra/xmode/modes/assembly-mcs51.xml @@ -0,0 +1,237 @@ + + + + + + + + + + + + + + ; + + + ' + ' + + + + " + " + + + + %% + + $ + + : + + , + : + ( + ) + ] + [ + $ + + + + - + / + * + % + + | + ^ + & + ~ + ! + + = + < + > + + + MOD + SHR + SHL + NOT + AND + OR + XOR + HIGH + LOW + LT + LE + NE + EQ + GE + GT + DPTR + PC + EQU + SET + NUMBER + CSEG + XSEG + DSEG + ISEG + BSEG + RSEG + NUL + DB + DW + DWR + DS + DBIT + ORG + USING + END + NAME + PUBLIC + EXTRN + SEGMENT + UNIT + BITADDRESSABLE + INPAGE + INBLOCK + PAGE + OVERLAYABLE + AT + STACKLEN + SBIT + SFR + SFR16 + __ERROR__ + ACALL + ADD + ADDC + AJMP + ANL + CALL + CJNE + CLR + CPL + DA + DEC + DIV + DJNZ + INC + JB + JBC + JC + JMP + JNB + JNC + JNZ + JZ + LCALL + LJMP + MOV + MOVC + MOVX + MUL + NOP + ORL + POP + PUSH + RET + RETI + RL + RLC + RR + RRC + SETB + SJMP + SUBB + SWAP + XCH + XCHD + XRL + IF + ELSEIF + ELSE + ENDIF + MACRO + REPT + IRP + IRPC + ENDM + EXITM + LOCAL + DPTX + DPTN + DPTR8 + DPTR16 + WR0 + WR2 + WR4 + WR6 + DR0 + DR4 + RJC + RJNC + RJZ + RJNZ + JMPI + MOVB + PUSHA + POPA + SUB + ADDM + SUBM + SLEEP + SYNC + DEFINE + SUBSTR + THEN + LEN + EQS + IF + FI + + $IF + $ELSEIF + $ELSE + $ENDIF + $MOD167 + $CASE + $SEGMENTED + $INCLUDE + + + CODE + XDATA + DATA + IDATA + BIT + + + R0 + R1 + R2 + R3 + R4 + R5 + R6 + R7 + + SP + A + C + AB + + + + + + diff --git a/extra/xmode/modes/assembly-parrot.xml b/extra/xmode/modes/assembly-parrot.xml new file mode 100644 index 0000000000..212e182cc1 --- /dev/null +++ b/extra/xmode/modes/assembly-parrot.xml @@ -0,0 +1,138 @@ + + + + + + + + + + + + " + " + + + # + + : + + , + + [ISNP]\d{1,2} + + + abs + acos + add + and + asec + asin + atan + bounds + branch + bsr + chopm + cleari + clearn + clearp + clears + clone + close + cmod + concat + cos + cosh + debug + dec + div + end + entrytype + eq + err + exp + find_global + find_type + ge + getfile + getline + getpackage + gt + if + inc + index + jsr + jump + le + length + ln + log2 + log10 + lt + mod + mul + ne + new + newinterp + noop + not + not + open + or + ord + pack + pop + popi + popn + popp + pops + pow + print + profile + push + pushi + pushn + pushp + pushs + read + readline + repeat + restore + ret + rotate_up + runinterp + save + sec + sech + set + set_keyed + setfile + setline + setpackage + shl + shr + sin + sinh + sleep + sub + substr + tan + tanh + time + trace + typeof + unless + warningsoff + warningson + write + xor + + + diff --git a/extra/xmode/modes/assembly-r2000.xml b/extra/xmode/modes/assembly-r2000.xml new file mode 100644 index 0000000000..4023f54582 --- /dev/null +++ b/extra/xmode/modes/assembly-r2000.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + # + + + + ' + ' + + + + " + " + + + + : + + + + .align + .ascii + .asciiz + .byte + .data + .double + .extern + .float + .globl + .half + .kdata + .ktext + .space + .text + .word + + + add + addi + addu + addiu + and + andi + div + divu + mul + mulo + mulou + mult + multu + neg + negu + nor + not + or + ori + rem + remu + rol + ror + sll + sllv + sra + srav + srl + srlv + sub + subu + xor + xori + li + lui + seq + sge + sgt + sgtu + sle + sleu + slt + slti + sltu + sltiu + sne + b + bczt + bczf + beq + beqz + bge + bgeu + bgez + bgezal + bgt + bgtu + bgtz + ble + bleu + blez + bgezal + bltzal + blt + bltu + bltz + bne + bnez + j + jal + jalr + jr + la + lb + blu + lh + lhu + lw + lwcz + lwl + lwr + ulh + ulhu + ulw + sb + sd + sh + sw + swcz + swl + swr + ush + usw + move + mfhi + mflo + mthi + mtlo + mfcz + mfc1.d + mtcz + abs.d + abs.s + add.d + add.s + c.eq.d + c.eq.s + c.le.d + c.le.s + c.lt.d + c.lt.s + cvt.d.s + cbt.d.w + cvt.s.d + cvt.s.w + cvt.w.d + cvt.w.s + div.d + div.s + l.d + l.s + mov.d + mov.s + mul.d + mul.s + neg.d + neg.s + s.d + s.s + sub.d + sub.s + rfe + syscall + break + nop + + + $zero + $at + $v0 + $v1 + $a0 + $a1 + $a2 + $a3 + $t0 + $t1 + $t2 + $t3 + $t4 + $t5 + $t6 + $t7 + $s0 + $s1 + $s2 + $s3 + $s4 + $s5 + $s6 + $s7 + $t8 + $t9 + $k0 + $k1 + $gp + $sp + $fp + $ra + + + $f0 + $f1 + $f2 + $f3 + $f4 + $f5 + $f6 + $f7 + $f8 + $f9 + $f10 + $f11 + $f12 + $f13 + $f14 + $f15 + $f16 + $f17 + $f18 + $f19 + $f20 + $f21 + $f22 + $f23 + $f24 + $f25 + $f26 + $f27 + $f28 + $f29 + $f30 + $f31 + + + diff --git a/extra/xmode/modes/assembly-x86.xml b/extra/xmode/modes/assembly-x86.xml new file mode 100644 index 0000000000..76882ae57c --- /dev/null +++ b/extra/xmode/modes/assembly-x86.xml @@ -0,0 +1,863 @@ + + + + + + + + + + + + + + ; + + + ' + ' + + + + " + " + + + + %% + + % + + : + + + + - + / + * + % + + | + ^ + & + ~ + ! + + = + < + > + + + .186 + .286 + .286P + .287 + .386 + .386P + .387 + .486 + .486P + .586 + .586P + .686 + .686P + .8086 + .8087 + .ALPHA + .BREAK + .BSS + .CODE + .CONST + .CONTINUE + .CREF + .DATA + .DATA? + .DOSSEG + .ELSE + .ELSEIF + .ENDIF + .ENDW + .ERR + .ERR1 + .ERR2 + .ERRB + .ERRDEF + .ERRDIF + .ERRDIFI + .ERRE + .ERRIDN + .ERRIDNI + .ERRNB + .ERRNDEF + .ERRNZ + .EXIT + .FARDATA + .FARDATA? + .IF + .K3D + .LALL + .LFCOND + .LIST + .LISTALL + .LISTIF + .LISTMACRO + .LISTMACROALL + .MMX + .MODEL + .MSFLOAT + .NO87 + .NOCREF + .NOLIST + .NOLISTIF + .NOLISTMACRO + .RADIX + .REPEAT + .SALL + .SEQ + .SFCOND + .STACK + .STARTUP + .TEXT + .TFCOND + .UNTIL + .UNTILCXZ + .WHILE + .XALL + .XCREF + .XLIST + .XMM + __FILE__ + __LINE__ + A16 + A32 + ADDR + ALIGN + ALIGNB + ASSUME + BITS + CARRY? + CATSTR + CODESEG + COMM + COMMENT + COMMON + DATASEG + DOSSEG + ECHO + ELSE + ELSEIF + ELSEIF1 + ELSEIF2 + ELSEIFB + ELSEIFDEF + ELSEIFE + ELSEIFIDN + ELSEIFNB + ELSEIFNDEF + END + ENDIF + ENDM + ENDP + ENDS + ENDSTRUC + EVEN + EXITM + EXPORT + EXTERN + EXTERNDEF + EXTRN + FAR + FOR + FORC + GLOBAL + GOTO + GROUP + HIGH + HIGHWORD + IEND + IF + IF1 + IF2 + IFB + IFDEF + IFDIF + IFDIFI + IFE + IFIDN + IFIDNI + IFNB + IFNDEF + IMPORT + INCBIN + INCLUDE + INCLUDELIB + INSTR + INVOKE + IRP + IRPC + ISTRUC + LABEL + LENGTH + LENGTHOF + LOCAL + LOW + LOWWORD + LROFFSET + MACRO + NAME + NEAR + NOSPLIT + O16 + O32 + OFFSET + OPATTR + OPTION + ORG + OVERFLOW? + PAGE + PARITY? + POPCONTEXT + PRIVATE + PROC + PROTO + PTR + PUBLIC + PURGE + PUSHCONTEXT + RECORD + REPEAT + REPT + SECTION + SEG + SEGMENT + SHORT + SIGN? + SIZE + SIZEOF + SIZESTR + STACK + STRUC + STRUCT + SUBSTR + SUBTITLE + SUBTTL + THIS + TITLE + TYPE + TYPEDEF + UNION + USE16 + USE32 + USES + WHILE + WRT + ZERO? + + DB + DW + DD + DF + DQ + DT + RESB + RESW + RESD + RESQ + REST + EQU + TEXTEQU + TIMES + DUP + + BYTE + WORD + DWORD + FWORD + QWORD + TBYTE + SBYTE + TWORD + SWORD + SDWORD + REAL4 + REAL8 + REAL10 + + + AL + BL + CL + DL + AH + BH + CH + DH + AX + BX + CX + DX + SI + DI + SP + BP + EAX + EBX + ECX + EDX + ESI + EDI + ESP + EBP + CS + DS + SS + ES + FS + GS + ST + ST0 + ST1 + ST2 + ST3 + ST4 + ST5 + ST6 + ST7 + MM0 + MM1 + MM2 + MM3 + MM4 + MM5 + MM6 + MM7 + XMM0 + XMM1 + XMM2 + XMM3 + XMM4 + XMM5 + XMM6 + XMM7 + CR0 + CR2 + CR3 + CR4 + DR0 + DR1 + DR2 + DR3 + DR4 + DR5 + DR6 + DR7 + TR3 + TR4 + TR5 + TR6 + TR7 + + + AAA + AAD + AAM + AAS + ADC + ADD + ADDPS + ADDSS + AND + ANDNPS + ANDPS + ARPL + BOUND + BSF + BSR + BSWAP + BT + BTC + BTR + BTS + CALL + CBW + CDQ + CLC + CLD + CLI + CLTS + CMC + CMOVA + CMOVAE + CMOVB + CMOVBE + CMOVC + CMOVE + CMOVG + CMOVGE + CMOVL + CMOVLE + CMOVNA + CMOVNAE + CMOVNB + CMOVNBE + CMOVNC + CMOVNE + CMOVNG + CMOVNGE + CMOVNL + CMOVNLE + CMOVNO + CMOVNP + CMOVNS + CMOVNZ + CMOVO + CMOVP + CMOVPE + CMOVPO + CMOVS + CMOVZ + CMP + CMPPS + CMPS + CMPSB + CMPSD + CMPSS + CMPSW + CMPXCHG + CMPXCHGB + COMISS + CPUID + CWD + CWDE + CVTPI2PS + CVTPS2PI + CVTSI2SS + CVTSS2SI + CVTTPS2PI + CVTTSS2SI + DAA + DAS + DEC + DIV + DIVPS + DIVSS + EMMS + ENTER + F2XM1 + FABS + FADD + FADDP + FBLD + FBSTP + FCHS + FCLEX + FCMOVB + FCMOVBE + FCMOVE + FCMOVNB + FCMOVNBE + FCMOVNE + FCMOVNU + FCMOVU + FCOM + FCOMI + FCOMIP + FCOMP + FCOMPP + FCOS + FDECSTP + FDIV + FDIVP + FDIVR + FDIVRP + FFREE + FIADD + FICOM + FICOMP + FIDIV + FIDIVR + FILD + FIMUL + FINCSTP + FINIT + FIST + FISTP + FISUB + FISUBR + FLD1 + FLDCW + FLDENV + FLDL2E + FLDL2T + FLDLG2 + FLDLN2 + FLDPI + FLDZ + FMUL + FMULP + FNCLEX + FNINIT + FNOP + FNSAVE + FNSTCW + FNSTENV + FNSTSW + FPATAN + FPREM + FPREMI + FPTAN + FRNDINT + FRSTOR + FSAVE + FSCALE + FSIN + FSINCOS + FSQRT + FST + FSTCW + FSTENV + FSTP + FSTSW + FSUB + FSUBP + FSUBR + FSUBRP + FTST + FUCOM + FUCOMI + FUCOMIP + FUCOMP + FUCOMPP + FWAIT + FXAM + FXCH + FXRSTOR + FXSAVE + FXTRACT + FYL2X + FYL2XP1 + HLT + IDIV + IMUL + IN + INC + INS + INSB + INSD + INSW + INT + INTO + INVD + INVLPG + IRET + JA + JAE + JB + JBE + JC + JCXZ + JE + JECXZ + JG + JGE + JL + JLE + JMP + JNA + JNAE + JNB + JNBE + JNC + JNE + JNG + JNGE + JNL + JNLE + JNO + JNP + JNS + JNZ + JO + JP + JPE + JPO + JS + JZ + LAHF + LAR + LDMXCSR + LDS + LEA + LEAVE + LES + LFS + LGDT + LGS + LIDT + LLDT + LMSW + LOCK + LODS + LODSB + LODSD + LODSW + LOOP + LOOPE + LOOPNE + LOOPNZ + LOOPZ + LSL + LSS + LTR + MASKMOVQ + MAXPS + MAXSS + MINPS + MINSS + MOV + MOVAPS + MOVD + MOVHLPS + MOVHPS + MOVLHPS + MOVLPS + MOVMSKPS + MOVNTPS + MOVNTQ + MOVQ + MOVS + MOVSB + MOVSD + MOVSS + MOVSW + MOVSX + MOVUPS + MOVZX + MUL + MULPS + MULSS + NEG + NOP + NOT + OR + ORPS + OUT + OUTS + OUTSB + OUTSD + OUTSW + PACKSSDW + PACKSSWB + PACKUSWB + PADDB + PADDD + PADDSB + PADDSW + PADDUSB + PADDUSW + PADDW + PAND + PANDN + PAVGB + PAVGW + PCMPEQB + PCMPEQD + PCMPEQW + PCMPGTB + PCMPGTD + PCMPGTW + PEXTRW + PINSRW + PMADDWD + PMAXSW + PMAXUB + PMINSW + PMINUB + PMOVMSKB + PMULHUW + PMULHW + PMULLW + POP + POPA + POPAD + POPAW + POPF + POPFD + POPFW + POR + PREFETCH + PSADBW + PSHUFW + PSLLD + PSLLQ + PSLLW + PSRAD + PSRAW + PSRLD + PSRLQ + PSRLW + PSUBB + PSUBD + PSUBSB + PSUBSW + PSUBUSB + PSUBUSW + PSUBW + PUNPCKHBW + PUNPCKHDQ + PUNPCKHWD + PUNPCKLBW + PUNPCKLDQ + PUNPCKLWD + PUSH + PUSHA + PUSHAD + PUSHAW + PUSHF + PUSHFD + PUSHFW + PXOR + RCL + RCR + RDMSR + RDPMC + RDTSC + REP + REPE + REPNE + REPNZ + REPZ + RET + RETF + RETN + ROL + ROR + RSM + SAHF + SAL + SAR + SBB + SCAS + SCASB + SCASD + SCASW + SETA + SETAE + SETB + SETBE + SETC + SETE + SETG + SETGE + SETL + SETLE + SETNA + SETNAE + SETNB + SETNBE + SETNC + SETNE + SETNG + SETNGE + SETNL + SETNLE + SETNO + SETNP + SETNS + SETNZ + SETO + SETP + SETPE + SETPO + SETS + SETZ + SFENCE + SGDT + SHL + SHLD + SHR + SHRD + SHUFPS + SIDT + SLDT + SMSW + SQRTPS + SQRTSS + STC + STD + STI + STMXCSR + STOS + STOSB + STOSD + STOSW + STR + SUB + SUBPS + SUBSS + SYSENTER + SYSEXIT + TEST + UB2 + UCOMISS + UNPCKHPS + UNPCKLPS + WAIT + WBINVD + VERR + VERW + WRMSR + XADD + XCHG + XLAT + XLATB + XOR + XORPS + + + FEMMS + PAVGUSB + PF2ID + PFACC + PFADD + PFCMPEQ + PFCMPGE + PFCMPGT + PFMAX + PFMIN + PFMUL + PFRCP + PFRCPIT1 + PFRCPIT2 + PFRSQIT1 + PFRSQRT + PFSUB + PFSUBR + PI2FD + PMULHRW + PREFETCHW + + + PF2IW + PFNACC + PFPNACC + PI2FW + PSWAPD + + + PREFETCHNTA + PREFETCHT0 + PREFETCHT1 + PREFETCHT2 + + + + diff --git a/extra/xmode/modes/awk.xml b/extra/xmode/modes/awk.xml new file mode 100644 index 0000000000..2be33ea118 --- /dev/null +++ b/extra/xmode/modes/awk.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + " + " + + + ' + ' + + + # + = + ! + >= + <= + + + - + / + * + > + < + % + & + | + ^ + ~ + } + { + : + + + break + close + continue + delete + do + else + exit + fflush + for + huge + if + in + function + next + nextfile + print + printf + return + while + + atan2 + cos + exp + gensub + getline + gsub + index + int + length + log + match + rand + sin + split + sprintf + sqrt + srand + sub + substr + system + tolower + toupper + + BEGIN + END + $0 + ARGC + ARGIND + ARGV + CONVFMT + ENVIRON + ERRNO + FIELDSWIDTH + FILENAME + FNR + FS + IGNORECASE + NF + NR + OFMT + OFS + ORS + RLENGTH + RS + RSTART + RT + SUBSEP + + + diff --git a/extra/xmode/modes/b.xml b/extra/xmode/modes/b.xml new file mode 100644 index 0000000000..6609b19ef0 --- /dev/null +++ b/extra/xmode/modes/b.xml @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + /*? + ?*/ + + + + /* + */ + + + + " + " + + + ' + ' + + + + // + ! + # + $0 + % + = + + & + + > + < + + * + + + + / + \ + ~ + : + ; + | + - + + ^ + + . + , + ( + ) + } + { + ] + [ + + + + + ABSTRACT_CONSTANTS + ABSTRACT_VARIABLES + CONCRETE_CONSTANTS + CONCRETE_VARIABLES + CONSTANTS + VARIABLES + ASSERTIONS + CONSTRAINTS + DEFINITIONS + EXTENDS + IMPLEMENTATION + IMPORTS + INCLUDES + INITIALISATION + INVARIANT + LOCAL_OPERATIONS + MACHINE + OPERATIONS + PROMOTES + PROPERTIES + REFINES + REFINEMENT + SEES + SETS + USES + VALUES + + + + ANY + ASSERT + BE + BEGIN + CASE + CHOICE + DO + EITHER + ELSE + ELSIF + + END + IF + IN + LET + OF + OR + PRE + SELECT + THEN + VAR + VARIANT + WHEN + WHERE + WHILE + + + FIN + FIN1 + INT + INTEGER + INTER + MAXINT + MININT + NAT + NAT1 + NATURAL + NATURAL1 + PI + POW + POW1 + SIGMA + UNION + + arity + bin + bool + btree + card + closure + closure1 + conc + const + dom + father + first + fnc + front + id + infix + inter + iseq + iseq1 + iterate + last + left + max + min + mirror + mod + not + or + perm + postfix + pred + prefix + prj1 + prj2 + r~ + ran + rank + rec + rel + rev + right + seq + seq1 + size + sizet + skip + son + sons + struct + subtree + succ + tail + top + tree + union + + + + + diff --git a/extra/xmode/modes/batch.xml b/extra/xmode/modes/batch.xml new file mode 100644 index 0000000000..ebfe13affd --- /dev/null +++ b/extra/xmode/modes/batch.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + @ + + + + | + & + ! + > + < + + + : + + + REM\s + + + + " + " + + + + %0 + %1 + %2 + %3 + %4 + %5 + %6 + %7 + %8 + %9 + + %%[\p{Alpha}] + + % + % + + + + + cd + chdir + md + mkdir + + cls + + for + if + + echo + echo. + + move + copy + move + ren + del + set + + + call + exit + setlocal + shift + endlocal + pause + + + + defined + exist + errorlevel + + + else + + in + do + + NUL + AUX + PRN + + not + + + goto + + + + APPEND + ATTRIB + CHKDSK + CHOICE + DEBUG + DEFRAG + DELTREE + DISKCOMP + DISKCOPY + DOSKEY + DRVSPACE + EMM386 + EXPAND + FASTOPEN + FC + FDISK + FIND + FORMAT + GRAPHICS + KEYB + LABEL + LOADFIX + MEM + MODE + MORE + MOVE + MSCDEX + NLSFUNC + POWER + PRINT + RD + REPLACE + RESTORE + SETVER + SHARE + SORT + SUBST + SYS + TREE + UNDELETE + UNFORMAT + VSAFE + XCOPY + + + diff --git a/extra/xmode/modes/bbj.xml b/extra/xmode/modes/bbj.xml new file mode 100644 index 0000000000..91f684c774 --- /dev/null +++ b/extra/xmode/modes/bbj.xml @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + /* + */ + + + " + " + + + // + REM + + = + >= + <= + + + - + / + * + > + < + <> + ^ + and + or + + : + ( + ) + + + ABS + ADJN + ARGC + ARGV + ASC + ATH + ATN + BACKGROUND + BIN + BSZ + CALLBACK + CHANOPT + CHR + CLIPCLEAR + CLIPFROMFILE + CLIPFROMSTR + CLIPISFORMAT + CLIPLOCK + CLIPREGFORMAT + CLIPTOFILE + CLIPTOSTR + CLIPUNLOCK + COS + CPL + CRC + CRC16 + CTRL + CVS + CVT + DATE + DEC + DIMS + DSK + DSZ + EPT + ERRMES + FATTR + FBIN + FDEC + FIELD + FILEOPT + FILL + FLOATINGPOINT + FPT + GAP + HSA + HSH + HTA + IMP + INFO + INT + JUL + LCHECKIN + LCHECKOUT + LEN + LINFO + LOG + LRC + LST + MASK + MAX + MENUINFO + MIN + MOD + MSGBOX + NEVAL + NFIELD + NOTICE + NOTICETPL + NUM + PAD + PCK + PGM + POS + PROCESS_EVENTS + PROGRAM + PSZ + PUB + REMOVE_CALLBACK + RESERVE + RND + ROUND + SCALL + SENDMSG + SEVAL + SGN + SIN + SQR + SSORT + SSZ + STBL + STR + SWAP + SYS + TCB + TMPL + TSK + UPK + WINFIRST + WININFO + WINNEXT + + CHDIR + CISAM + CLOSE + CONTINUE + DIRECT + DIR + DISABLE + DOM + DUMP + ENABLE + END + ENDTRACE + ERASE + EXTRACT + FID + FILE + FIN + FIND + FROM + IND + INDEXED + INPUT + INPUTE + INPUTN + IOL + IOLIST + KEY + KEYF + KEYL + KEYN + KEYP + KGEN + KNUM + LIST + LOAD + LOCK + MERGE + MKDIR + MKEYED + OPEN + PREFIX + PRINT + READ_RESOURCE + READ + RECORD + REMOVE + RENAME + RESCLOSE + RESFIRST + RESGET + RESINFO + RESNEXT + RESOPEN + REV + RMDIR + SAVE + SELECT + SERIAL + SETDAY + SETDRIVE + SETTRACE + SIZ + SORT + SQLCHN + SQLCLOSE + SQLERR + SQLEXEC + SQLFETCH + SQLLIST + SQLOPEN + SQLPREP + SQLSET + SQLTABLES + SQLTMPL + SQLUNT + STRING + TABLE + TBL + TIM + UNLOCK + WHERE + WRITE + XFID + XFILE + XFIN + + ADDR + ALL + AUTO + BEGIN + BREAK + CALL + CASE + CHN + CLEAR + CTL + DATA + DAY + DEF + DEFAULT + DEFEND + DELETE + DIM + DREAD + DROP + EDIT + ELSE + ENDIF + ENTER + ERR + ESCAPE + ESCOFF + ESCON + EXECUTE + EXIT + EXITTO + FI + FOR + GOSUB + GOTO + IF + IFF + INITFILE + IOR + LET + NEXT + NOT + ON + OPTS + OR + PFX + PRECISION + RELEASE + RENUM + REPEAT + RESET + RESTORE + RETRY + RETURN + RUN + SET_CASE_SENSITIVE_OFF + SET_CASE_SENSITIVE_ON + SETERR + SETESC + SETOPTS + SETTIME + SSN + START + STEP + STOP + SWEND + SWITCH + THEN + TO + UNT + UNTIL + WAIT + WEND + WHILE + XOR + + + diff --git a/extra/xmode/modes/bcel.xml b/extra/xmode/modes/bcel.xml new file mode 100644 index 0000000000..19ab3cfd67 --- /dev/null +++ b/extra/xmode/modes/bcel.xml @@ -0,0 +1,320 @@ + + + + + + + + + + + + + + + + + /**/ + + + + /** + */ + + + + + /* + */ + + + // + + + ' + ' + + + + " + " + + + % + # + + : + + > + < + + + + abstract + + + + + + + + extends + final + + + + implements + + native + + private + protected + public + + static + + synchronized + throw + throws + transient + + volatile + + + + + + boolean + byte + char + class + double + float + int + interface + long + short + void + + + + + + + + clinit + init + + nop + aconst_null + iconst_m1 + iconst_0 + iconst_1 + iconst_2 + iconst_3 + iconst_4 + iconst_5 + lconst_0 + lconst_1 + fconst_0 + fconst_1 + fconst_2 + dconst_0 + dconst_1 + bipush + sipush + ldc + ldc_w + ldc2_w + iload + lload + fload + dload + aload + iload_0 + iload_1 + iload_2 + iload_3 + lload_0 + lload_1 + lload_2 + lload_3 + fload_0 + fload_1 + fload_2 + fload_3 + dload_0 + dload_1 + dload_2 + dload_3 + aload_0 + aload_1 + aload_2 + aload_3 + iaload + laload + faload + daload + aaload + baload + caload + saload + istore + lstore + fstore + dstore + astore + istore_0 + istore_1 + istore_2 + istore_3 + lstore_0 + lstore_1 + lstore_2 + lstore_3 + fstore_0 + fstore_1 + fstore_2 + fstore_3 + dstore_0 + dstore_1 + dstore_2 + dstore_3 + astore_0 + astore_1 + astore_2 + astore_3 + iastore + lastore + fastore + dastore + aastore + bastore + castore + sastore + pop + pop2 + dup + dup_x1 + dup_x2 + dup2 + dup2_x1 + dup2_x2 + swap + iadd + ladd + fadd + dadd + isub + lsub + fsub + dsub + imul + lmul + fmul + dmul + idiv + ldiv + fdiv + ddiv + irem + lrem + frem + drem + ineg + lneg + fneg + dneg + ishl + lshl + ishr + lshr + iushr + lushr + iand + land + ior + lor + ixor + lxor + iinc + i2l + i2f + i2d + l2i + l2f + l2d + f2i + f2l + f2d + d2i + d2l + d2f + i2b + i2c + i2s + lcmp + fcmpl + fcmpg + dcmpl + dcmpg + ifeq + ifne + iflt + ifge + ifgt + ifle + if_icmpeq + if_icmpne + if_icmplt + if_icmpge + if_icmpgt + if_icmple + if_acmpeq + if_acmpne + goto + jsr + ret + tableswitch + lookupswitch + ireturn + lreturn + freturn + dreturn + areturn + return + getstatic + putstatic + getfield + putfield + invokevirtual + invokespecial + invokestatic + invokeinterface + + new + newarray + anewarray + arraylength + athrow + checkcast + instanceof + monitorenter + monitorexit + wide + multianewarray + ifnull + ifnonnull + goto_w + jsr_w + + + breakpoint + impdep1 + impdep2 + + + diff --git a/extra/xmode/modes/bibtex.xml b/extra/xmode/modes/bibtex.xml new file mode 100644 index 0000000000..d9211c0910 --- /dev/null +++ b/extra/xmode/modes/bibtex.xml @@ -0,0 +1,960 @@ + + + + + + + + + + + + + + + + + + % + + + + @article{} + @article() + @book{} + @book() + @booklet{} + @booklet() + @conference{} + @conference() + @inbook{} + @inbook() + @incollection{} + @incollection() + @inproceedings{} + @inproceedings() + @manual{} + @manual() + @mastersthesis{} + @mastersthesis() + @misc{} + @misc() + @phdthesis{} + @phdthesis() + @proceedings{} + @proceedings() + @techreport{} + @techreport() + @unpublished{} + @unpublished() + @string{} + @string() + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + journal + title + year + + month + note + number + pages + volume + + address + annote + booktitle + chapter + crossref + edition + editor + howpublished + institution + key + organization + publisher + school + series + type + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + editor + publisher + title + year + + address + edition + month + note + number + series + volume + + annote + booktitle + chapter + crossref + howpublished + institution + journal + key + organization + pages + school + type + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + title + + address + author + howpublished + month + note + year + + annote + booktitle + chapter + crossref + edition + editor + institution + journal + key + number + organization + pages + publisher + school + series + type + volume + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + booktitle + title + year + + address + editor + month + note + number + organization + pages + publisher + series + volume + + annote + chapter + crossref + edition + howpublished + institution + journal + key + school + type + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + chapter + editor + pages + publisher + title + year + + address + edition + month + note + number + series + type + volume + + annote + booktitle + crossref + howpublished + institution + journal + key + organization + school + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + booktitle + publisher + title + year + + address + chapter + edition + editor + month + note + number + pages + series + type + volume + + annote + crossref + howpublished + institution + journal + key + organization + school + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + booktitle + title + year + + address + editor + month + note + number + organization + pages + publisher + series + volume + + annote + chapter + crossref + edition + howpublished + institution + journal + key + school + type + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + title + + address + author + edition + month + note + organization + year + + annote + booktitle + chapter + crossref + editor + howpublished + institution + journal + key + number + pages + publisher + school + series + type + volume + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + school + title + year + + address + month + note + type + + annote + booktitle + chapter + crossref + edition + editor + howpublished + institution + journal + key + number + organization + pages + publisher + series + volume + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + + author + howpublished + month + note + title + year + + address + annote + booktitle + chapter + crossref + edition + editor + institution + journal + key + number + organization + pages + publisher + school + series + type + volume + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + school + title + year + + address + month + note + type + + annote + booktitle + chapter + crossref + edition + editor + howpublished + institution + journal + key + number + organization + pages + publisher + series + volume + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + title + year + + address + editor + month + note + number + organization + publisher + series + volume + + annote + author + booktitle + chapter + crossref + edition + howpublished + institution + journal + key + pages + school + type + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + institution + title + year + + address + month + note + number + type + + annote + booktitle + chapter + crossref + edition + editor + howpublished + journal + key + organization + pages + publisher + school + series + volume + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + "" + {} + = + , + [1-9][0-9]* + + + author + note + title + + month + year + + address + annote + booktitle + chapter + crossref + edition + editor + howpublished + institution + journal + key + number + organization + pages + publisher + school + series + type + volume + + abstract + annotation + day + keywords + lccn + location + references + url + + jan + feb + mar + apr + may + jun + jul + aug + sep + oct + nov + dec + + + + + + \{\} + {} + "" + \" + + + + \{\} + {} + \" + + + + "" + {} + \{\} + = + , + \" + + + + diff --git a/extra/xmode/modes/c.xml b/extra/xmode/modes/c.xml new file mode 100644 index 0000000000..a4a94694a0 --- /dev/null +++ b/extra/xmode/modes/c.xml @@ -0,0 +1,401 @@ + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + + /**/ + + /**< + */ + + + /** + */ + + ///< + /// + + + + /*!< + */ + + + /*! + */ + + //!< + //! + + + + /* + */ + + // + + + L" + " + + + " + " + + + L' + ' + + + ' + ' + + + + ??( + ??/ + ??) + ??' + ??< + ??! + ??> + ??- + ??= + + + <: + :> + <% + %> + %: + + + : + + + ( + + = + ! + + + - + / + * + > + < + % + & + | + ^ + ~ + ? + : + . + , + [ + ] + ) + } + { + ; + + + + __DATE__ + __FILE__ + __LINE__ + __STDC_HOSTED__ + __STDC_ISO_10646__ + __STDC_VERSION__ + __STDC__ + __TIME__ + __cplusplus + + + BUFSIZ + CLOCKS_PER_SEC + EDOM + EILSEQ + EOF + ERANGE + EXIT_FAILURE + EXIT_SUCCESS + FILENAME_MAX + FOPEN_MAX + HUGE_VAL + LC_ALL + LC_COLLATE + LC_CTYPE + LC_MONETARY + LC_NUMERIC + LC_TIME + L_tmpnam + MB_CUR_MAX + NULL + RAND_MAX + SEEK_CUR + SEEK_END + SEEK_SET + SIGABRT + SIGFPE + SIGILL + SIGINT + SIGSEGV + SIGTERM + SIG_DFL + SIG_ERR + SIG_IGN + TMP_MAX + WCHAR_MAX + WCHAR_MIN + WEOF + _IOFBF + _IOLBF + _IONBF + assert + errno + offsetof + setjmp + stderr + stdin + stdout + va_arg + va_end + va_start + + + CHAR_BIT + CHAR_MAX + CHAR_MIN + DBL_DIG + DBL_EPSILON + DBL_MANT_DIG + DBL_MAX + DBL_MAX_10_EXP + DBL_MAX_EXP + DBL_MIN + DBL_MIN_10_EXP + DBL_MIN_EXP + FLT_DIG + FLT_EPSILON + FLT_MANT_DIG + FLT_MAX + FLT_MAX_10_EXP + FLT_MAX_EXP + FLT_MIN + FLT_MIN_10_EXP + FLT_MIN_EXP + FLT_RADIX + FLT_ROUNDS + INT_MAX + INT_MIN + LDBL_DIG + LDBL_EPSILON + LDBL_MANT_DIG + LDBL_MAX + LDBL_MAX_10_EXP + LDBL_MAX_EXP + LDBL_MIN + LDBL_MIN_10_EXP + LDBL_MIN_EXP + LONG_MAX + LONG_MIN + MB_LEN_MAX + SCHAR_MAX + SCHAR_MIN + SHRT_MAX + SHRT_MIN + UCHAR_MAX + UINT_MAX + ULONG_MAX + USRT_MAX + + + and + and_eq + bitand + bitor + compl + not + not_eq + or + or_eq + xor + xor_eq + + + + + + + + bool + char + double + enum + float + int + long + short + signed + struct + union + unsigned + + asm + auto + break + case + const + continue + default + do + else + extern + false + for + goto + if + inline + register + return + sizeof + static + switch + true + typedef + void + volatile + while + + restrict + _Bool + _Complex + _Pragma + _Imaginary + + + + + + + include\b + define\b + endif\b + elif\b + if\b + + + + + + ifdef + ifndef + else + error + line + pragma + undef + warning + + + + + + + + < + > + + + " + " + + + + + + + + # + + + + + + + + + + defined + + true + false + + + + + diff --git a/extra/xmode/modes/catalog b/extra/xmode/modes/catalog new file mode 100644 index 0000000000..cd1da3dd1f --- /dev/null +++ b/extra/xmode/modes/catalog @@ -0,0 +1,483 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extra/xmode/modes/chill.xml b/extra/xmode/modes/chill.xml new file mode 100644 index 0000000000..2ef3b8f4f4 --- /dev/null +++ b/extra/xmode/modes/chill.xml @@ -0,0 +1,134 @@ + + + + + + + + + + + + + + + + <> + <> + + + + /* + */ + + + + ' + ' + + + H' + ; + + + ) + ( + ] + [ + + + - + / + * + . + , + ; + ^ + @ + := + : + = + /= + > + < + >= + <= + + + + AND + BEGIN + CASE + DIV + DO + ELSE + ELSIF + END + ESAC + EXIT + FI + FOR + GOTO + IF + IN + MOD + NOT + OD + OF + ON + OR + OUT + RESULT + RETURN + THEN + THEN + TO + UNTIL + USES + WHILE + WITH + XOR + + ARRAY + DCL + GRANT + LABEL + MODULE + NEWMODE + PROC + POWERSET + SEIZE + SET + STRUCT + SYN + SYNMODE + TYPE + PACK + + BIN + CHAR + INT + RANGE + + BOOL + + PTR + REF + + + + + + + + + FALSE + NULL + TRUE + + + diff --git a/extra/xmode/modes/cil.xml b/extra/xmode/modes/cil.xml new file mode 100644 index 0000000000..93b3816477 --- /dev/null +++ b/extra/xmode/modes/cil.xml @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + + + + + + ' + ' + + + // + + ( + ) + + + " + " + + + : + + + public + private + family + assembly + famandassem + famorassem + autochar + abstract + ansi + beforefieldinit + explicit + interface + nested + rtspecialname + sealed + sequential + serializable + specialname + unicode + final + hidebysig + newslot + pinvokeimpl + static + virtual + cil + forwardref + internalcall + managed + native + noinlining + runtime + synchronized + unmanaged + typedref + cdecl + fastcall + stdcall + thiscall + platformapi + initonly + literal + marshal + notserialized + addon + removeon + catch + fault + filter + handler + + + .assembly + .assembly extern + .class + .class extern + .field + .method + .property + .get + .set + .other + .ctor + .corflags + .custom + .data + .file + .mresource + .module + .module extern + .subsystem + .vtfixup + .publickeytoken + .ver + .hash algorithm + .culture + .namespace + .event + .fire + .override + .try + .catch + .finally + .locals + .maxstack + .entrypoint + .pack + .size + + + .file alignment + .imagebase + .language + .namespace + + + string + object + bool + true + false + bytearray + char + float32 + float64 + int8 + int16 + int32 + int64 + nullref + + + & + * + } + { + + + add + add.ovf + add.ovf.un + div + div.un + mul + mul.ovf + mul.ovf.un + sub + sub.ovf + sub.ovf.un + + + and + not + or + xor + + + beq + beq.s + bge + bge.s + bge.un + bge.un.s + bgt + bgt.s + bgt.un + bgt.un.s + ble + ble.s + ble.un + ble.un.s + blt + blt.s + blt.un + blt.un.s + bne.un + bne.un.s + br + brfalse + brfalse.s + brtrue + brtrue.s + br.s + + + conv.i + conv.i1 + conv.i2 + conv.i4 + conv.i8 + conv.ovf.i + conv.ovf.i1 + conv.ovf.i1.un + conv.ovf.i2 + conv.ovf.i2.un + conv.ovf.i4 + conv.ovf.i4.un + conv.ovf.i8 + conv.ovf.i8.un + conv.ovf.i.un + conv.ovf.u + conv.ovf.u1 + conv.ovf.u1.un + conv.ovf.u2 + conv.ovf.u2.un + conv.ovf.u4 + conv.ovf.u4.un + conv.ovf.u8 + conv.ovf.u8.un + conv.ovf.u.un + conv.r4 + conv.r8 + conv.r.un + conv.u + conv.u1 + conv.u2 + conv.u4 + conv.u8 + + + ldarg + ldarga + ldarga.s + ldarg.0 + ldarg.1 + ldarg.2 + ldarg.3 + ldarg.s + ldc.i4 + ldc.i4.0 + ldc.i4.1 + ldc.i4.2 + ldc.i4.3 + ldc.i4.4 + ldc.i4.5 + ldc.i4.6 + ldc.i4.7 + ldc.i4.8 + ldc.i4.m1 + ldc.i4.s + ldc.i8 + ldc.r4 + ldc.r8 + ldelema + ldelem.i + ldelem.i1 + ldelem.i2 + ldelem.i4 + ldelem.i8 + ldelem.r4 + ldelem.r8 + ldelem.ref + ldelem.u1 + ldelem.u2 + ldelem.u4 + ldfld + ldflda + ldftn + ldind.i + ldind.i1 + ldind.i2 + ldind.i4 + ldind.i8 + ldind.r4 + ldind.r8 + ldind.ref + ldind.u1 + ldind.u2 + ldind.u4 + ldlen + ldloc + ldloca + ldloca.s + ldloc.0 + ldloc.1 + ldloc.2 + ldloc.3 + ldloc.s + ldnull + ldobj + ldsfld + ldsflda + ldstr + ldtoken + ldvirtftn + starg + starg.s + stelem.i + stelem.i1 + stelem.i2 + stelem.i4 + stelem.i8 + stelem.r4 + stelem.r8 + stelem.ref + stfld + stind.i + stind.i1 + stind.i2 + stind.i4 + stind.i8 + stind.r4 + stind.r8 + stind.ref + stloc + stloc.0 + stloc.1 + stloc.2 + stloc.3 + stloc.s + stobj + stsfld + + call + calli + callvirt + castclass + ceq + cgt + cgt.un + ckfinite + clt + clt.un + cpblk + cpobj + + initblk + initobj + newarr + newobj + + dup + endfilter + isinst + box + unbox + arglist + break + jmp + ret + leave + leave.s + localloc + mkrefany + neg + switch + nop + pop + refanytype + refanyval + rem + rem.un + throw + rethrow + endfinally + shl + shr + shr.un + sizeof + tailcall + unaligned + volatile + + + diff --git a/extra/xmode/modes/clips.xml b/extra/xmode/modes/clips.xml new file mode 100644 index 0000000000..ce2efcabab --- /dev/null +++ b/extra/xmode/modes/clips.xml @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + ; + + + + ' + ' + + + " + " + + + + + [ + ] + + + + => + ? + >< + > + >= + < + <= + >- + + + - + * + / + = + ** + ~ + \ + | + & + : + $ + + + ( + ) + [ + ] + { + } + + + + deffacts + deftemplate + defglobal + defrule + deffunction + defgeneric + defmethod + defclass + definstance + defmessage + defmodule + deffacts-module + deffunction-module + defgeneric-module + defglobal-module + definstances-module + slot + multislot + default + default-dynamic + declare + salience + auto-focus + object + is-a + pattern-match + single-slot + reactive + non-reactive + storage + local + shared + access + read-write + read-only + initialize-only + propagation + inherit + non-inherit + source + exclusive + composite + visibility + private + public + create-accessor + ?NONE + read + write + ?DEFAULT + primary + around + before + after + import + export + ?ALL + type + allowed-symbols + allowed-strings + allowed-lexemes + allowed-integers + allowed-floats + allowed-numbers + allowed-instance-names + allowed-values + ?VARIABLE + + if + while + then + else + or + and + eq + evenp + floatp + integerp + lexemep + multifieldp + neq + not + numberp + oddp + pointerp + stringp + symbolp + switch + while + + assert + bind + class-abstractp + class-existp + class-subclasses + class-superclasses + defclass-module + describe-classes + get-class-defaults-mode + get-defclass-list + agenda + list-defclasses + ppdefclass + set-class-defaults-mode + slot-allowed-values + slot-cardinality + slot-default-value + slot-direct-accessp + slot-existp + slot-facest + slot-initablep + slot-publicp + slot-range + slot-sources + slot-types + slot-writablep + subsclassp + undefclass + get-deffacts-list + list-deffacts + ppdeffacts + undeffacts + get-deffunction-list + list-deffunction + ppdeffunction + undeffunction + get-defgeneric-list + list-defgenerics + ppdefgeneric + preview-generic + type + undefgeneric + get-defglobal-list + get-reset-globals + list-defglobals + ppdefglobal + set-reset-globals + undefglobal + get-definstances-list + list-definstances + ppdefinstances + undefinstances + call-next-handler + get-defmessage-handler + list-defmessage-handlers + message-handler-existp + handler-type + next-handlerp + override-next-handler + ppdefmessage-handler + undefmessage-handler + call-next-method + call-specific-method + get-defmethod-list + get-method-restrictions + list-defmethods + next-methodp + override-next-method + undefmethod + preview-generic + get-current-module + get-defmodule-list + list-defmodules + ppdefmodules + set-current-module + defrule-module + get-defrule-list + get-incremental-reset + list-defrules + matches + ppdefrule + refresh + remove-break + set-break + set-incremental-reset + show-breaks + undefrule + deftemplate-module + get-deftemaplate-list + list-deftemplates + ppdeftemplate + undeftemplate + apropos + bacth + batch* + bload + bsave + clear + exit + get-auto-float-dividend + get-dynamic-constraints-checking + get-static-constraints-checking + load + load* + options + reset + save + set-auto-float-dividend + set-dynamic-constriants-checking + set-static-constriants-checking + system + assert-string + dependencies + dependents + duplicate + facts + fact-existp + fact-index + fact-relation + fact-slot-names + fact-slot-value + get-fact-duplication + get-fact-list + load-facts + modify + retract + save-facts + set-fact-duplication + any-instancep + class + delayed-do-for-all-instances + delete-instance + direct-slot-delete$ + direct-slot-insert$ + direct-slot-replace$ + do-for-instance + do-for-all-instances + dynamic-get + dynamic-put + find-instance + find-all-instances + init-slot + instance-address + instance-addressp + instance-existp + instance-name + instance-namep + instance-name-to-symbol + instancep + instances + load-instances + make-intance + ppinstance + restore-instances + save-instances + send + slot-delete$ + slot-insert$ + slot-replace$ + symbol-to-instance-name + unmake-instance + create$ + delete$ + delete-member$ + explode$ + first$ + implode$ + insert$ + length$ + member$ + nth$ + replace$ + rest$ + subseq$ + subsetp + break + loop-for-count + progn + progn$ + return + get-profile-percent-threshold + profile-contructs + profile-info + profile-reset + set-profile-percent-threshold + expand$ + get-sequence-operator-recognition + aet-sequence-operator-recognition + build + check-syntax + eval + lowcase + str-cat + str-compare + str-index + str-length + string-to-field + sub-string + sym-cat + upcase + fetch + print-region + toss + + abs + div + float + integer + max + min + deg-grad + deg-rad + exp + grad-deg + log + log10 + mod + pi + rad-deg + round + sqrt + close + format + open + printout + read + readline + remove + rename + conserve-mem + mem-used + mem-requests + release-mem + funcall + gensym + gemsym* + get-function-restriction + length + random + seed + setgen + sort + time + timer + acos + acosh + acot + acoth + acsc + acsch + asec + asin + asinh + atan + atanh + cos + cosh + cot + coth + csc + sec + sech + sin + sinh + tan + tanh + + + + + + diff --git a/extra/xmode/modes/cobol.xml b/extra/xmode/modes/cobol.xml new file mode 100644 index 0000000000..31339bceff --- /dev/null +++ b/extra/xmode/modes/cobol.xml @@ -0,0 +1,998 @@ + + + + + + + + .{6}(\*|/) + + + " + " + + + ' + ' + + + = + >= + <= + + + - + / + * + ** + > + < + % + & + | + ^ + ~ + + + EXEC SQL + END-EXEC + + + + ACCEPT + ACCESS + ACTUAL + ADD + ADDRESS + ADVANCING + AFTER + ALL + ALPHABET + ALPHABETIC + ALPHABETIC-LOWER + ALPHABETIC-UPPER + ALPHANUMERIC + ALPHANUMERIC-EDITED + ALSO + ALTER + ALTERNATE + AND + ANY + API + APPLY + ARE + AREA + AREAS + ASCENDING + ASSIGN + AT + AUTHOR + AUTO + AUTO-SKIP + AUTOMATIC + + BACKGROUND-COLOR + BACKGROUND-COLOUR + BACKWARD + BASIS + BEEP + BEFORE + BEGINNING + BELL + BINARY + BLANK + BLINK + BLOCK + BOTTOM + BY + + C01 + C02 + C03 + C04 + C05 + C06 + C07 + C08 + C09 + C10 + C11 + C12 + CALL + CALL-CONVENTION + CANCEL + CBL + CD + CF + CH + CHAIN + CHAINING + CHANGED + CHARACTER + CHARACTERS + CLASS + CLOCK-UNITS + CLOSE + COBOL + CODE + CODE-SET + COL + COLLATING + COLUMN + COM-REG + COMMA + COMMIT + COMMON + COMMUNICATION + COMP + COMP-0 + COMP-1 + COMP-2 + COMP-3 + COMP-4 + COMP-5 + COMP-6 + COMP-X + COMPUTATIONAL + COMPUTATIONAL-0 + COMPUTATIONAL-1 + COMPUTATIONAL-2 + COMPUTATIONAL-3 + COMPUTATIONAL-4 + COMPUTATIONAL-5 + COMPUTATIONAL-6 + COMPUTATIONAL-X + COMPUTE + CONFIGURATION + CONSOLE + CONTAINS + CONTENT + CONTINUE + CONTROL + CONTROLS + CONVERTING + COPY + CORE-INDEX + CORR + CORRESPONDING + COUNT + CRT + CRT-UNDER + CURRENCY + CURRENT-DATE + CURSOR + CYCLE + CYL-INDEX + CYL-OVERFLOW + + DATA + DATE + DATE-COMPILED + DATE-WRITTEN + DAY + DAY-OF-WEEK + DBCS + DE + DEBUG + DEBUG-CONTENTS + DEBUG-ITEM + DEBUG-LINE + DEBUG-NAME + DEBUG-SUB-1 + DEBUG-SUB-2 + DEBUG-SUB-3 + DEBUGGING + DECIMAL-POINT + DECLARATIVES + DELETE + DELIMITED + DELIMITER + DEPENDING + DESCENDING + DESTINATION + DETAIL + DISABLE + DISK + DISP + DISPLAY + DISPLAY-1 + DISPLAY-ST + DIVIDE + DIVISION + DOWN + DUPLICATES + DYNAMIC + + ECHO + EGCS + EGI + EJECT + ELSE + EMI + EMPTY-CHECK + ENABLE + END + END-ACCEPT + END-ADD + END-CALL + END-CHAIN + END-COMPUTE + END-DELETE + END-DISPLAY + END-DIVIDE + END-EVALUATE + END-IF + END-INVOKE + END-MULTIPLY + END-OF-PAGE + END-PERFORM + END-READ + END-RECEIVE + END-RETURN + END-REWRITE + END-SEARCH + END-START + END-STRING + END-SUBTRACT + END-UNSTRING + END-WRITE + ENDING + ENTER + ENTRY + ENVIRONMENT + EOL + EOP + EOS + EQUAL + EQUALS + ERASE + ERROR + ESCAPE + ESI + EVALUATE + EVERY + EXAMINE + EXCEEDS + EXCEPTION + EXCESS-3 + EXCLUSIVE + EXEC + EXECUTE + EXHIBIT + EXIT + EXTEND + EXTENDED-SEARCH + EXTERNAL + + FACTORY + FALSE + FD + FH-FCD + FH-KEYDEF + FILE + FILE-CONTROL + FILE-ID + FILE-LIMIT + FILE-LIMITS + FILLER + FINAL + FIRST + FIXED + FOOTING + FOR + FOREGROUND-COLOR + FOREGROUND-COLOUR + FROM + FULL + FUNCTION + + GENERATE + GIVING + GLOBAL + GO + GOBACK + GREATER + GRID + GROUP + + HEADING + HIGH + HIGH-VALUE + HIGH-VALUES + HIGHLIGHT + + I-O + I-O-CONTROL + ID + IDENTIFICATION + IF + IGNORE + IN + INDEX + INDEXED + INDICATE + INHERITING + INITIAL + INITIALIZE + INITIATE + INPUT + INPUT-OUTPUT + INSERT + INSPECT + INSTALLATION + INTO + INVALID + INVOKE + IS + + JAPANESE + JUST + JUSTIFIED + + KANJI + KEPT + KEY + KEYBOARD + + LABEL + LAST + LEADING + LEAVE + LEFT + LEFT-JUSTIFY + LEFTLINE + LENGTH + LENGTH-CHECK + LESS + LIMIT + LIMITS + LIN + LINAGE + LINAGE-COUNTER + LINE + LINE-COUNTER + LINES + LINKAGE + LOCAL-STORAGE + LOCK + LOCKING + LOW + LOW-VALUE + LOW-VALUES + LOWER + LOWLIGHT + + MANUAL + MASTER-INDEX + MEMORY + MERGE + MESSAGE + METHOD + MODE + MODULES + MORE-LABELS + MOVE + MULTIPLE + MULTIPLY + + NAME + NAMED + NATIONAL + NATIONAL-EDITED + NATIVE + NCHAR + NEGATIVE + NEXT + NO + NO-ECHO + NOMINAL + NOT + NOTE + NSTD-REELS + NULL + NULLS + NUMBER + NUMERIC + NUMERIC-EDITED + + OBJECT + OBJECT-COMPUTER + OBJECT-STORAGE + OCCURS + OF + OFF + OMITTED + ON + OOSTACKPTR + OPEN + OPTIONAL + OR + ORDER + ORGANIZATION + OTHER + OTHERWISE + OUTPUT + OVERFLOW + OVERLINE + + PACKED-DECIMAL + PADDING + PAGE + PAGE-COUNTER + PARAGRAPH + PASSWORD + PERFORM + PF + PH + PIC + PICTURE + PLUS + POINTER + POS + POSITION + POSITIONING + POSITIVE + PREVIOUS + PRINT + PRINT-SWITCH + PRINTER + PRINTER-1 + PRINTING + PRIVATE + PROCEDURE + PROCEDURE-POINTER + PROCEDURES + PROCEED + PROCESSING + PROGRAM + PROGRAM-ID + PROMPT + PROTECTED + PUBLIC + PURGE + + QUEUE + QUOTE + QUOTES + + RANDOM + RANGE + RD + READ + READY + RECEIVE + RECORD + RECORD-OVERFLOW + RECORDING + RECORDS + REDEFINES + REEL + REFERENCE + REFERENCES + RELATIVE + RELEASE + RELOAD + REMAINDER + REMARKS + REMOVAL + RENAMES + REORG-CRITERIA + REPLACE + REPLACING + REPORT + REPORTING + REPORTS + REQUIRED + REREAD + RERUN + RESERVE + RESET + RETURN + RETURN-CODE + RETURNING + REVERSE + REVERSE-VIDEO + REVERSED + REWIND + REWRITE + RF + RH + RIGHT + RIGHT-JUSTIFY + ROLLBACK + ROUNDED + RUN + + S01 + S02 + S03 + S04 + S05 + SAME + SCREEN + SD + SEARCH + SECTION + SECURE + SECURITY + SEEK + SEGMENT + SEGMENT-LIMIT + SELECT + SELECTIVE + SEND + SENTENCE + SEPARATE + SEQUENCE + SEQUENTIAL + SERVICE + SET + SHIFT-IN + SHIFT-OUT + SIGN + SIZE + SKIP1 + SKIP2 + SKIP3 + SORT + SORT-CONTROL + SORT-CORE-SIZE + SORT-FILE-SIZE + SORT-MERGE + SORT-MESSAGE + SORT-MODE-SIZE + SORT-OPTION + SORT-RETURN + SOURCE + SOURCE-COMPUTER + SPACE + SPACE-FILL + SPACES + SPECIAL-NAMES + STANDARD + STANDARD-1 + STANDARD-2 + START + STATUS + STOP + STORE + STRING + SUB-QUEUE-1 + SUB-QUEUE-2 + SUB-QUEUE-3 + SUBTRACT + SUM + SUPER + SUPPRESS + SYMBOLIC + SYNC + SYNCHRONIZED + SYSIN + SYSIPT + SYSLST + SYSOUT + SYSPCH + SYSPUNCH + + TAB + TABLE + TALLY + TALLYING + TAPE + TERMINAL + TERMINATE + TEST + TEXT + THAN + THEN + THROUGH + THRU + TIME + TIME-OF-DAY + TIME-OUT + TIMEOUT + TIMES + TITLE + TO + TOP + TOTALED + TOTALING + TRACE + TRACK-AREA + TRACK-LIMIT + TRACKS + TRAILING + TRAILING-SIGN + TRANSFORM + TRUE + TYPE + TYPEDEF + + UNDERLINE + UNEQUAL + UNIT + UNLOCK + UNSTRING + UNTIL + UP + UPDATE + UPON + UPPER + UPSI-0 + UPSI-1 + UPSI-2 + UPSI-3 + UPSI-4 + UPSI-5 + UPSI-6 + UPSI-7 + USAGE + USE + USER + USING + + VALUE + VALUES + VARIABLE + VARYING + + WAIT + WHEN + WHEN-COMPILED + WITH + WORDS + WORKING-STORAGE + WRITE + WRITE-ONLY + WRITE-VERIFY + + ZERO + ZERO-FILL + ZEROES + ZEROS + + ACOS + ANNUITY + ASIN + ATAN + CHAR + COS + CURRENT-DATE + DATE-OF-INTEGER + DAY-OF-INTEGER + FACTORIAL + INTEGER + INTEGER-OF-DATE + INTEGER-OF-DAY + INTEGER-PART + + LOG + LOG10 + LOWER-CASE + MAX + MEAN + MEDIAN + MIDRANGE + MIN + MOD + NUMVAL + NUMVAL-C + ORD + ORD-MAX + ORD-MIN + PRESENT-VALUE + RANDOM + RANGE + REM + REVERSE + SIN + SQRT + STANDARD-DEVIATION + SUM + TAN + UPPER-CASE + VARIANCE + WHEN-COMPILED + + + + + + [COPY-PREFIX] + [COUNT] + [DISPLAY] + [EXECUTE] + [PG] + [PREFIX] + [PROGRAM] + [SPECIAL-PREFIX] + [TESTCASE] + + + diff --git a/extra/xmode/modes/coldfusion.xml b/extra/xmode/modes/coldfusion.xml new file mode 100644 index 0000000000..8385df768e --- /dev/null +++ b/extra/xmode/modes/coldfusion.xml @@ -0,0 +1,645 @@ + + + + + + + + + + + + + + <!--- + ---> + + + + + /* + */ + + + + // + + + + <!-- + --> + + + + + <CFSCRIPT + </CFSCRIPT> + + + + + <CF + > + + + + + </CF + > + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + < + > + + + + + & + ; + + + + + + " + " + + + ' + ' + + + = + + + + <CF + > + + + + + </CF + > + + + + + <CFSCRIPT + </CFSCRIPT> + + + + + + + + /* + */ + + + + // + + + " + " + + + ' + ' + + + ( + ) + + = + + + - + / + >= + <= + >< + * + !! + && + + + { + } + for + while + if + }else + }else{ + if( + else + break + + ArrayAppend + ArrayAvg + ArrayClear + ArrayDeleteAt + ArrayInsertAt + ArrayIsEmpty + ArrayLen + ArrayMax + ArrayMin + ArrayNew + ArrayPrepend + ArrayResize + ArraySet + ArraySort + ArraySum + ArraySwap + ArrayToList + IsArray + ListToArray + + CreateDate + CreateDateTime + CreateODBCTime + CreateODBCDate + CreateODBCDateTime + CreateTime + CreateTimeSpan + DateAdd + DateCompare + DateDiff + DatePart + Day + DayOfWeek + DayOfWeekAsString + DayOfYear + DaysInMonth + DaysInYear + FirstDayOfMonth + Hour + Minute + Month + MonthAsString + Now + ParseDateTime + Quarter + Second + Week + Year + + IsArray + IsAuthenticated + IsAuthorized + IsBoolean + IsDate + IsDebugMode + IsDefined + IsLeapYear + IsNumeric + IsNumericDate + IsQuery + IsSimpleValue + IsStruct + + DateFormat + DecimalFormat + DollarFormat + FormatBaseN + HTMLCodeFormat + HTMLEditFormat + NumberFormat + ParagraphFormat + TimeFormat + YesNoFormat + + DE + Evaluate + IIf + SetVariable + + ArrayToList + ListAppend + ListChangeDelims + ListContains + ListContainsNoCase + ListDeleteAt + ListFind + ListFindNoCase + ListFirst + ListGetAt + ListInsertAt + ListLast + ListLen + ListPrepend + ListRest + ListSetAt + ListToArray + + StructClear + StructCopy + StructCount + StructDelete + StructFind + StructInsert + StructIsEmpty + StructKeyExists + StructNew + StructUpdate + + GetLocale + LSCurrencyFormat + LSDateFormat + LSIsCurrency + LSIsDate + LSIsNumeric + LSNumberFormat + LSParseCurrency + LSParseDateTime + LSParseNumber + LSTimeFormat + SetLocale + + Abs + Atn + BitAnd + BitMaskClear + BitMaskRead + BitMaskSet + BitNot + BitOr + BitSHLN + BitSHRN + BitXor + Ceiling + Cos + DecrementValue + Exp + Fix + IncrementValue + InputBaseN + Int + Log + Log10 + Max + Min + Pi + Rand + Randomize + RandRange + Round + Sgn + Sin + Sqr + Tan + + Asc + Chr + CJustify + Compare + CompareNoCase + Find + FindNoCase + FindOneOf + GetToken + Insert + LCase + Left + Len + LJustify + LTrim + Mid + REFind + REFindNoCase + RemoveChars + RepeatString + Replace + ReplaceList + ReplaceNoCase + REReplace + REReplaceNoCase + Reverse + Right + RJustify + RTrim + SpanExcluding + SpanIncluding + Trim + UCase + Val + + DirectoryExists + ExpandPath + FileExists + GetDirectoryFromPath + GetFileFromPath + GetTempDirectory + GetTempFile + GetTemplatePath + + QueryAddRow + QueryNew + QuerySetCell + + Decrypt + DeleteClientVariable + Encrypt + GetBaseTagData + GetBaseTagList + GetClientVariablesList + GetTickCount + PreserveSingleQuotes + QuotedValueList + StripCR + URLEncodedFormat + ValueList + WriteOutput + + ParameterExists + + IS + EQ + NEQ + GT + GTE + LT + LTE + + LESS + GREATER + THAN + + AND + OR + NOT + XOR + + + + + + " + " + + + ' + ' + + + = + ## + + + # + # + + + + ArrayAppend + ArrayAvg + ArrayClear + ArrayDeleteAt + ArrayInsertAt + ArrayIsEmpty + ArrayLen + ArrayMax + ArrayMin + ArrayNew + ArrayPrepend + ArrayResize + ArraySet + ArraySort + ArraySum + ArraySwap + ArrayToList + IsArray + ListToArray + + CreateDate + CreateDateTime + CreateODBCTime + CreateODBCDate + CreateODBCDateTime + CreateTime + CreateTimeSpan + DateAdd + DateCompare + DateDiff + DatePart + Day + DayOfWeek + DayOfWeekAsString + DayOfYear + DaysInMonth + DaysInYear + FirstDayOfMonth + Hour + Minute + Month + MonthAsString + Now + ParseDateTime + Quarter + Second + Week + Year + + IsArray + IsAuthenticated + IsAuthorized + IsBoolean + IsDate + IsDebugMode + IsDefined + IsLeapYear + IsNumeric + IsNumericDate + IsQuery + IsSimpleValue + IsStruct + + DateFormat + DecimalFormat + DollarFormat + FormatBaseN + HTMLCodeFormat + HTMLEditFormat + NumberFormat + ParagraphFormat + TimeFormat + YesNoFormat + + DE + Evaluate + IIf + SetVariable + + ArrayToList + ListAppend + ListChangeDelims + ListContains + ListContainsNoCase + ListDeleteAt + ListFind + ListFindNoCase + ListFirst + ListGetAt + ListInsertAt + ListLast + ListLen + ListPrepend + ListRest + ListSetAt + ListToArray + + StructClear + StructCopy + StructCount + StructDelete + StructFind + StructInsert + StructIsEmpty + StructKeyExists + StructNew + StructUpdate + + GetLocale + LSCurrencyFormat + LSDateFormat + LSIsCurrency + LSIsDate + LSIsNumeric + LSNumberFormat + LSParseCurrency + LSParseDateTime + LSParseNumber + LSTimeFormat + SetLocale + + Abs + Atn + BitAnd + BitMaskClear + BitMaskRead + BitMaskSet + BitNot + BitOr + BitSHLN + BitSHRN + BitXor + Ceiling + Cos + DecrementValue + Exp + Fix + IncrementValue + InputBaseN + Int + Log + Log10 + Max + Min + Pi + Rand + Randomize + RandRange + Round + Sgn + Sin + Sqr + Tan + + Asc + Chr + CJustify + Compare + CompareNoCase + Find + FindNoCase + FindOneOf + GetToken + Insert + LCase + Left + Len + LJustify + LTrim + Mid + REFind + REFindNoCase + RemoveChars + RepeatString + Replace + ReplaceList + ReplaceNoCase + REReplace + REReplaceNoCase + Reverse + Right + RJustify + RTrim + SpanExcluding + SpanIncluding + Trim + UCase + Val + + DirectoryExists + ExpandPath + FileExists + GetDirectoryFromPath + GetFileFromPath + GetTempDirectory + GetTempFile + GetTemplatePath + + QueryAddRow + QueryNew + QuerySetCell + + Decrypt + DeleteClientVariable + Encrypt + GetBaseTagData + GetBaseTagList + GetClientVariablesList + GetTickCount + PreserveSingleQuotes + QuotedValueList + StripCR + URLEncodedFormat + ValueList + WriteOutput + + ParameterExists + + IS + EQ + NEQ + GT + GTE + LT + LTE + + LESS + GREATER + THAN + + AND + OR + NOT + XOR + + + \ No newline at end of file diff --git a/extra/xmode/modes/cplusplus.xml b/extra/xmode/modes/cplusplus.xml new file mode 100644 index 0000000000..b7810562f1 --- /dev/null +++ b/extra/xmode/modes/cplusplus.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + + :: + + + + + + + + + + + catch + class + const_cast + delete + dynamic_cast + explicit + export + friend + mutable + namespace + new + operator + private + protected + public + reinterpret_cast + static_assert + static_cast + template + this + throw + try + typeid + typename + using + virtual + + + + + + + include\b + define\b + endif\b + elif\b + if\b + + + + + + ifdef + ifndef + else + error + line + pragma + undef + warning + + + + + + + # + + + + + + diff --git a/extra/xmode/modes/csharp.xml b/extra/xmode/modes/csharp.xml new file mode 100644 index 0000000000..f28d2389b7 --- /dev/null +++ b/extra/xmode/modes/csharp.xml @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + /* + */ + + + + /// + + // + + + + @" + " + + + + " + " + + + + ' + ' + + + #if + #else + #elif + #endif + #define + #undef + #warning + #error + #line + #region + #endregion + + ~ + ! + : + ; + { + } + , + . + ! + [ + ] + + + - + > + < + = + * + / + \ + ^ + | + & + % + ? + + ( + ) + + + abstract + as + base + break + case + catch + checked + const + continue + decimal + default + delegate + do + else + explicit + extern + finally + fixed + for + foreach + goto + if + implicit + in + internal + is + lock + new + operator + out + override + params + private + protected + public + readonly + ref + return + sealed + sizeof + stackalloc + static + switch + throw + try + typeof + unchecked + unsafe + virtual + while + + using + namespace + + bool + byte + char + class + double + enum + event + float + int + interface + long + object + sbyte + short + string + struct + uint + ulong + ushort + void + + false + null + this + true + + + + + + + <-- + --> + + + + < + > + + + + diff --git a/extra/xmode/modes/css.xml b/extra/xmode/modes/css.xml new file mode 100644 index 0000000000..5f8708fc13 --- /dev/null +++ b/extra/xmode/modes/css.xml @@ -0,0 +1,679 @@ + + + + + + + + + + + + + + + + + + . + + # + + > + + + + : + , + + + + { + } + + + + + + + + + + + + , + + { + + + lang\s*\( + ) + + + + lang\s*\( + ) + + + + + + + after + before + first-child + link + visited + active + hover + focus + + + + + + + + + + + } + + : + + + + + + + + background + background-attachment + background-color + background-image + background-position + background-repeat + color + + + font + font-family + font-size + font-size-adjust + font-style + font-variant + font-weight + font-stretch + src + definition-src + unicode-range + panose-1 + stemv + stemh + units-per-em + slope + cap-height + x-height + ascent + descent + baseline + centerline + mathline + topline + + + letter-spacing + text-align + text-shadow + text-decoration + text-indent + text-transform + word-spacing + letter-spacing + white-space + + + border + bottom + border-collapse + border-spacing + border-bottom + border-bottom-style + border-bottom-width + border-bottom-color + border-left + border-left-style + border-left-width + border-left-color + border-right + border-right-style + border-right-width + border-right-color + border-top + border-top-style + border-top-width + border-top-color + border-color + border-style + border-width + clear + float + height + margin + margin-bottom + margin-left + margin-right + margin-top + padding + padding-bottom + padding-left + padding-right + padding-top + clear + + + display + position + top + right + bottom + left + float + z-index + direction + unicode-bidi + width + min-width + max-width + height + min-height + max-height + line-height + vertical-align + + + overflow + clip + visibility + + + size + marks + page-break-before + page-break-after + page-break-inside + page + orphans + widows + + + caption-side + table-layout + border-collapse + border-spacing + empty-cells + speak-headers + + + cursor + outline + outline-width + outline-style + outline-color + + + azimuth + volume + speak + pause + pause-before + pause-after + cue + cue-before + cue-after + play-during + elevation + speech-rate + voice-family + pitch + pitch-range + stress + richness + speak-punctuation + speak-numeral + speak-header-cell + + + + + + + + + " + " + + + + + (rgb|url)\s*\( + ) + + + + # + + !\s*important + + + + expression\s*\( + ) + + + + ; + } + + + + + left + right + below + level + above + higher + lower + show + hide + normal + wider + narrower + ultra-condensed + extra-condensed + condensed + semi-condensed + semi-expanded + expanded + extra-expanded + ultra-expanded + normal + italic + oblique + normal + xx-small + x-small + small + large + x-large + xx-large + thin + thick + smaller + larger + small-caps + inherit + bold + bolder + lighter + inside + outside + disc + circle + square + decimal + decimal-leading-zero + lower-roman + upper-roman + lower-greek + lower-alpha + lower-latin + upper-alpha + upper-latin + hebrew + armenian + georgian + cjk-ideographic + hiragana + katakana + hiragana-iroha + katakana-iroha + crop + cross + invert + hidden + always + avoid + x-low + low + high + x-high + absolute + fixed + relative + static + portrait + landscape + spell-out + digits + continuous + x-slow + slow + fast + x-fast + faster + slower + underline + overline + line-through + blink + capitalize + uppercase + lowercase + embed + bidi-override + baseline + sub + super + top + text-top + middle + bottom + text-bottom + visible + hidden + collapse + soft + loud + x-loud + pre + nowrap + dotted + dashed + solid + double + groove + ridge + inset + outset + once + both + silent + medium + mix + male + female + child + code + + + left-side + far-left + center-left + center + right + center-right + far-right + right-side + justify + behind + leftwards + rightwards + inherit + scroll + fixed + transparent + none + repeat + repeat-x + repeat-y + no-repeat + collapse + separate + auto + open-quote + close-quote + no-open-quote + no-close-quote + cue-before + cue-after + crosshair + default + pointer + move + e-resize + ne-resize + nw-resize + n-resize + se-resize + sw-resize + s-resize + w-resize + text + wait + help + ltr + rtl + inline + block + list-item + run-in + compact + marker + table + inline-table + inline-block + table-row-group + table-header-group + table-footer-group + table-row + table-column-group + table-column + table-cell + table-caption + + + aliceblue + antiquewhite + aqua + aquamarine + azure + beige + bisque + black + blanchedalmond + blue + blueviolet + brown + burlywood + cadetblue + chartreuse + chocolate + coral + cornflowerblue + cornsilk + crimson + cyan + darkblue + darkcyan + darkgoldenrod + darkgray + darkgreen + darkgrey + darkkhaki + darkmagenta + darkolivegreen + darkorange + darkorchid + darkred + darksalmon + darkseagreen + darkslateblue + darkslategray + darkslategrey + darkturquoise + darkviolet + darkpink + deepskyblue + dimgray + dimgrey + dodgerblue + firebrick + floralwhite + forestgreen + fushia + gainsboro + ghostwhite + gold + goldenrod + gray + green + greenyellow + grey + honeydew + hotpink + indianred + indigo + ivory + khaki + lavender + lavenderblush + lawngreen + lemonchiffon + lightblue + lightcoral + lightcyan + lightgoldenrodyellow + lightgray + lightgreen + lightgrey + lightpink + lightsalmon + lightseagreen + lightskyblue + lightslategray + lightslategrey + lightsteelblue + lightyellow + lime + limegreen + linen + magenta + maroon + mediumaquamarine + mediumblue + mediumorchid + mediumpurple + mediumseagreen + mediumslateblue + mediumspringgreen + mediumturquoise + mediumvioletred + midnightblue + mintcream + mistyrose + mocassin + navawhite + navy + oldlace + olive + olidrab + orange + orangered + orchid + palegoldenrod + palegreen + paleturquoise + paletvioletred + papayawhip + peachpuff + peru + pink + plum + powderblue + purple + red + rosybrown + royalblue + saddlebrown + salmon + sandybrown + seagreen + seashell + sienna + silver + skyblue + slateblue + slategray + slategrey + snow + springgreen + steelblue + tan + teal + thistle + tomato + turquoise + violet + wheat + white + whitesmoke + yellow + yellowgreen + + + rgb + url + + + + + + : + ; + + ( + ) + + { + } + , + . + ! + + + /* + */ + + + + + content + quotes + counter-reset + counter-increment + marker-offset + list-style + list-style-image + list-style-position + list-style-type + + @import + @media + @page + @font-face + + + + + + diff --git a/extra/xmode/modes/csv.xml b/extra/xmode/modes/csv.xml new file mode 100644 index 0000000000..2e6c7734f0 --- /dev/null +++ b/extra/xmode/modes/csv.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + " + ," + ;" + ,(?=[^,]*$) + ;(?=[^;]*$) + , + ; + + + + "" + "(?=,[^"][^,]*$) + "(?=;[^"][^;]*$) + "," + ";" + ",$ + ";$ + ", + "; + "$ + " + + + + ," + ;" + , + ; + + + + "" + "," + ";" + ", + "; + " + + + + + + " + ," + ,(?=[^,]*$) + , + + + + "" + "(?=,[^"][^,]*$) + "," + ",$ + ", + "$ + " + + + + ," + , + + + + "" + "," + ", + " + + + + + + + + + " + ;" + ;(?=[^;]*$) + ; + + + + "" + "(?=;[^"][^;]*$) + ";" + ";$ + "; + "$ + " + + + + ;" + ; + + + + "" + ";" + "; + " + + + + + + diff --git a/extra/xmode/modes/cvs-commit.xml b/extra/xmode/modes/cvs-commit.xml new file mode 100644 index 0000000000..d89eee4542 --- /dev/null +++ b/extra/xmode/modes/cvs-commit.xml @@ -0,0 +1,25 @@ + + + + + + + + + CVS: + + + CVS: + Committing in + Added Files: + Modified Files: + Removed Files: + + + diff --git a/extra/xmode/modes/d.xml b/extra/xmode/modes/d.xml new file mode 100644 index 0000000000..8b8e710618 --- /dev/null +++ b/extra/xmode/modes/d.xml @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + /**/ + + + + /** + */ + + + + + /*! + */ + + + + + /* + */ + + + + + /+ + +/ + + + // + + + + r" + " + + + + ` + ` + + + + " + " + + + + x" + " + + + + ' + ' + + + = + ! + >= + <= + + + - + / + + * + > + < + % + & + | + ^ + ~ + } + { + + : + + + ( + ) + + + @ + + + abstract + alias + align + asm + assert + auto + bit + body + break + byte + case + cast + catch + cent + char + class + cfloat + cdouble + creal + const + continue + dchar + debug + default + delegate + delete + deprecated + do + double + else + enum + export + extern + false + final + finally + float + for + foreach + function + goto + idouble + if + ifloat + import + in + inout + int + interface + invariant + ireal + is + long + module + new + null + out + override + package + pragma + private + protected + public + real + return + short + static + struct + super + switch + synchronized + template + this + throw + true + try + typedef + typeof + ubyte + ucent + uint + ulong + union + unittest + ushort + version + void + volatile + wchar + while + with + + + + + /+ + +/ + + + diff --git a/extra/xmode/modes/django.xml b/extra/xmode/modes/django.xml new file mode 100644 index 0000000000..e9162d5040 --- /dev/null +++ b/extra/xmode/modes/django.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + {% comment %} + {% endcomment %} + + + {% + %} + + + + {{ + }} + + + + + + + + + + + as + block + blocktrans + by + endblock + endblocktrans + comment + endcomment + cycle + date + debug + else + extends + filter + endfilter + firstof + for + endfor + if + endif + ifchanged + endifchanged + ifnotequal + endifnotequal + in + load + not + now + or + parsed + regroup + ssi + trans + with + widthratio + + + + + + " + " + + : + , + | + + openblock + closeblock + openvariable + closevariable + + add + addslashes + capfirst + center + cut + date + default + dictsort + dictsortreversed + divisibleby + escape + filesizeformat + first + fix_ampersands + floatformat + get_digit + join + length + length_is + linebreaks + linebreaksbr + linenumbers + ljust + lower + make_list + phone2numeric + pluralize + pprint + random + removetags + rjust + slice + slugify + stringformat + striptags + time + timesince + title + truncatewords + unordered_list + upper + urlencode + urlize + urlizetrunc + wordcount + wordwrap + yesno + + + + + diff --git a/extra/xmode/modes/doxygen.xml b/extra/xmode/modes/doxygen.xml new file mode 100644 index 0000000000..a1e448af5e --- /dev/null +++ b/extra/xmode/modes/doxygen.xml @@ -0,0 +1,313 @@ + + + + + + + + + + + # + + = + += + + + + " + " + + + ' + ' + + + ` + ` + + + YES + NO + + + + + + * + + + + <!-- + --> + + + + << + <= + < + + + + < + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/extra/xmode/modes/dsssl.xml b/extra/xmode/modes/dsssl.xml new file mode 100644 index 0000000000..789c5c03fb --- /dev/null +++ b/extra/xmode/modes/dsssl.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + ; + + + + <!-- + --> + + + + '( + + ' + + + " + " + + + + + $ + $ + + + + % + % + + + # + + + + <!ENTITY + > + + + + + <![CDATA[ + ]]> + + + + + <! + > + + + + <= + + + </style-specification + > + + + + </style-sheet + > + + + + <style-specification + > + + + + <external-specification + > + + + + <style-sheet + > + + + + + & + ; + + + + and + cond + define + else + lambda + or + quote + if + let + let* + loop + not + list + append + children + normalize + + car + cdr + cons + node-list-first + node-list-rest + + eq? + null? + pair? + zero? + equal? + node-list-empty? + + external-procedure + root + make + process-children + current-node + node + empty-sosofo + default + attribute-string + select-elements + with-mode + literal + process-node-list + element + mode + gi + sosofo-append + sequence + + + + + + diff --git a/extra/xmode/modes/eiffel.xml b/extra/xmode/modes/eiffel.xml new file mode 100644 index 0000000000..41ed1bd66c --- /dev/null +++ b/extra/xmode/modes/eiffel.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + -- + + + + " + " + + + ' + ' + + + + + + + alias + all + and + as + check + class + creation + debug + deferred + do + else + elseif + end + ensure + expanded + export + external + feature + from + frozen + if + implies + indexing + infix + inherit + inspect + invariant + is + like + local + loop + not + obsolete + old + once + or + prefix + redefine + rename + require + rescue + retry + select + separate + then + undefine + until + variant + when + xor + + current + false + precursor + result + strip + true + unique + void + + + diff --git a/extra/xmode/modes/embperl.xml b/extra/xmode/modes/embperl.xml new file mode 100644 index 0000000000..4dcc35e188 --- /dev/null +++ b/extra/xmode/modes/embperl.xml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + [# + #] + + + + [+ + +] + + + + [- + -] + + + + [$ + $] + + + + [! + !] + + + + + diff --git a/extra/xmode/modes/erlang.xml b/extra/xmode/modes/erlang.xml new file mode 100644 index 0000000000..eaf39e1ae5 --- /dev/null +++ b/extra/xmode/modes/erlang.xml @@ -0,0 +1,266 @@ + + + + + + + + + + + % + + + " + " + + + + ' + ' + + + ( + ) + + : + + \$.\w* + + badarg + nocookie + false + true + + -> + <- + . + ; + = + / + | + # + + + * + + : + { + } + [ + ] + , + ? + ! + + + \bdiv\b + + \brem\b + + \bor\b + + \bxor\b + + \bbor\b + + \bbxor\b + + \bbsl\b + + \bbsr\b + + \band\b + + \bband\b + + \bnot\b + + \bbnot\b + + + + after + begin + case + catch + cond + end + fun + if + let + of + query + receive + when + + + abs + alive + apply + atom_to_list + binary_to_list + binary_to_term + concat_binary + date + disconnect_node + element + erase + exit + float + float_to_list + get + get_keys + group_leader + halt + hd + integer_to_list + is_alive + length + link + list_to_atom + list_to_binary + list_to_float + list_to_integer + list_to_pid + list_to_tuple + load_module + make_ref + monitor_node + node + nodes + now + open_port + pid_to_list + process_flag + process_info + process + put + register + registered + round + self + setelement + size + spawn + spawn_link + split_binary + statistics + term_to_binary + throw + time + tl + trunc + tuple_to_list + unlink + unregister + whereis + + + atom + binary + constant + function + integer + list + number + pid + ports + port_close + port_info + reference + record + + + check_process_code + delete_module + get_cookie + hash + math + module_loaded + preloaded + processes + purge_module + set_cookie + set_node + + + acos + asin + atan + atan2 + cos + cosh + exp + log + log10 + pi + pow + power + sin + sinh + sqrt + tan + tanh + + + -behaviour + -compile + -define + -else + -endif + -export + -file + -ifdef + -ifndef + -import + -include + -include_lib + -module + -record + -undef + + + + diff --git a/extra/xmode/modes/factor.xml b/extra/xmode/modes/factor.xml new file mode 100644 index 0000000000..9aa545eaec --- /dev/null +++ b/extra/xmode/modes/factor.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + #! + ! + + + \\\s+(\S+) + :\s+(\S+) + IN:\s+(\S+) + USE:\s+(\S+) + CHAR:\s+(\S+) + BIN:\s+(\S+) + OCT:\s+(\S+) + HEX:\s+(\S+) + + + ( + ) + + + SBUF" + " + + + " + " + + + USING: + ; + + + [ + ] + { + } + + + >r + r> + + ; + + t + f + + #! + ! + + + + + -- + + + + + + + + + + + diff --git a/extra/xmode/modes/fhtml.xml b/extra/xmode/modes/fhtml.xml new file mode 100644 index 0000000000..23abd4f70a --- /dev/null +++ b/extra/xmode/modes/fhtml.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + <% + %> + + + + + + diff --git a/extra/xmode/modes/forth.xml b/extra/xmode/modes/forth.xml new file mode 100644 index 0000000000..450676b8e6 --- /dev/null +++ b/extra/xmode/modes/forth.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + | + + $ + ' + + + :\s+(\S+) + + + ( + ) + + + + s" + " + + + + ." + " + + + + f" + " + + + + m" + " + + + + " + " + + + + ; + ;; + 0; + + swap + drop + dup + nip + over + rot + -rot + 2dup + 2drop + 2over + 2swap + >r + r> + + and + or + xor + >> + << + not + + + * + negate + - + / + mod + /mod + */ + 1+ + 1- + base + hex + decimal + binary + octal + + @ + ! + c@ + c! + +! + cell+ + cells + char+ + chars + + [ + ] + create + does> + variable + variable, + literal + last + 1, + 2, + 3, + , + here + allot + parse + find + compile + + if + =if + <if + >if + <>if + then + repeat + until + + forth + macro + + + + + -- + + diff --git a/extra/xmode/modes/fortran.xml b/extra/xmode/modes/fortran.xml new file mode 100644 index 0000000000..1bc26266cf --- /dev/null +++ b/extra/xmode/modes/fortran.xml @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + +C +! +* +! +D + + + " + " + + + ' + ' + + + + <= + >= + > + < + & + /= + == + .lt. + .gt. + .eq. + .ne. + .le. + .ge. + .AND. + .OR. + + + +INCLUDE + +PROGRAM +MODULE +SUBROUTINE +FUNCTION +CONTAINS +USE +CALL +RETURN + +IMPLICIT +EXPLICIT +NONE +DATA +PARAMETER +ALLOCATE +ALLOCATABLE +ALLOCATED +DEALLOCATE +INTEGER +REAL +DOUBLE +PRECISION +COMPLEX +LOGICAL +CHARACTER +DIMENSION +KIND + +CASE +SELECT +DEFAULT +CONTINUE +CYCLE +DO +WHILE +ELSE +IF +ELSEIF +THEN +ELSEWHERE +END +ENDIF +ENDDO +FORALL +WHERE +EXIT +GOTO +PAUSE +STOP + +BACKSPACE +CLOSE +ENDFILE +INQUIRE +OPEN +PRINT +READ +REWIND +WRITE +FORMAT + +AIMAG +AINT +AMAX0 +AMIN0 +ANINT +CEILING +CMPLX +CONJG +DBLE +DCMPLX +DFLOAT +DIM +DPROD +FLOAT +FLOOR +IFIX +IMAG +INT +LOGICAL +MODULO +NINT +REAL +SIGN +SNGL +TRANSFER +ZEXT + +ABS +ACOS +AIMAG +AINT +ALOG +ALOG10 +AMAX0 +AMAX1 +AMIN0 +AMIN1 +AMOD +ANINT +ASIN +ATAN +ATAN2 +CABS +CCOS +CHAR +CLOG +CMPLX +CONJG +COS +COSH +CSIN +CSQRT +DABS +DACOS +DASIN +DATAN +DATAN2 +DBLE +DCOS +DCOSH +DDIM +DEXP +DIM +DINT +DLOG +DLOG10 +DMAX1 +DMIN1 +DMOD +DNINT +DPROD +DREAL +DSIGN +DSIN +DSINH +DSQRT +DTAN +DTANH +EXP +FLOAT +IABS +ICHAR +IDIM +IDINT +IDNINT +IFIX +INDEX +INT +ISIGN +LEN +LGE +LGT +LLE +LLT +LOG +LOG10 +MAX +MAX0 +MAX1 +MIN +MIN0 +MIN1 +MOD +NINT +REAL +SIGN +SIN +SINH +SNGL +SQRT +TAN +TANH + +.false. +.true. + + + + diff --git a/extra/xmode/modes/foxpro.xml b/extra/xmode/modes/foxpro.xml new file mode 100644 index 0000000000..b49b233f08 --- /dev/null +++ b/extra/xmode/modes/foxpro.xml @@ -0,0 +1,1858 @@ + + + + + + + + + + + + + + + + + + " + " + + + ' + ' + + + + #if + #else + #end + #define + #include + #Elif + #Else + #Endif + #If + #Itsexpression + #Readclauses + #Region + #Section + #Undef + #Wname + + + && + * + + + < + <= + >= + > + = + <> + . + + + + + + - + * + / + \ + + ^ + + + + + + + + + + + + : + + + Function + Procedure + EndFunc + EndProc + + + if + then + else + elseif + select + case + + + + for + to + step + next + + each + in + + do + while + until + loop + + wend + + + exit + end + endif + + + class + property + get + let + set + + + byval + byref + + + const + dim + redim + preserve + as + + + set + with + new + + + public + default + private + + + rem + + + call + execute + eval + + + on + error + goto + resume + option + explicit + erase + randomize + + + + is + + mod + + and + or + not + xor + imp + ? + + + false + true + empty + nothing + null + + + Activate + ActivateCell + AddColumn + AddItem + AddListItem + AddObject + AfterCloseTables + AfterDock + AfterRowColChange + BeforeDock + BeforeOpenTables + BeforeRowColChange + Box + Circle + Clear + Click + CloneObject + CloseEditor + CloseTables + Cls + DblClick + Deactivate + Delete + DeleteColumn + Deleted + Destroy + Dock + DoScroll + DoVerb + DownClick + Drag + DragDrop + DragOver + Draw + DropDown + Error + ErrorMessage + FormatChange + GotFocus + Hide + IndexToItemId + Init + InteractiveChange + ItemIdToIndex + KeyPress + Line + Load + LostFocus + Message + MouseDown + MouseMove + MouseUp + Move + Moved + OpenEditor + OpenTables + Paint + Point + Print + ProgrammaticChange + PSet + QueryUnload + RangeHigh + RangeLow + ReadActivate + ReadDeactivate + ReadExpression + ReadMethod + ReadShow + ReadValid + ReadWhen + Refresh + Release + RemoveItem + RemoveListItem + RemoveObject + Requery + Reset + Resize + RightClick + SaveAs + SaveAsClass + Scrolled + SetAll + SetFocus + Show + TextHeight + TextWidth + Timer + UIEnable + UnDock + Unload + UpClick + Valid + When + WriteExpression + WriteMethod + ZOrder + DataToClip + DoCmd + MiddleClick + MouseWheel + RequestData + SetVar + ShowWhatsThis + WhatsThisMode + AddProperty + NewObject + CommandTargetExec + CommandTargetQueryStas + ContainerRelease + EnterFocus + ExitFocus + HideDoc + Run + ShowDoc + ClearData + GetData + GetFormat + SetData + SetFormat + OLECompleteDrag + OLEGiveFeedback + OLESetData + OLEStartDrag + OLEDrag + OLEDragDrop + OLEDragOver + SetMain + AfterBuild + BeforeBuild + QueryAddFile + QueryModifyFile + QueryRemoveFile + QueryRunFile + Add + AddToSCC + CheckIn + CheckOut + GetLatestVersion + RemoveFromSCC + UndoCheckOut + Modify + + + Accelerate + ActiveColumn + ActiveControl + ActiveForm + ActiveObjectId + ActivePage + ActiveRow + Alias + Alignment + AllowResize + AllowTabs + AlwaysOnTop + ATGetColors + ATListColors + AutoActivate + AutoCenter + AutoCloseTables + AutoOpenTables + AutoRelease + AutoSize + AvailNum + BackColor + BackStyle + BaseClass + BorderColor + BorderStyle + BorderWidth + Bound + BoundColumn + BrowseAlignment + BrowseCellMarg + BrowseDestWidth + BufferMode + BufferModeOverride + ButtonCount + ButtonIndex + Buttons + CanAccelerate + Cancel + CanGetFocus + CanLoseFocus + Caption + ChildAlias + ChildOrder + Class + ClassLibrary + ClipControls + ClipRect + Closable + ColorScheme + ColorSource + ColumnCount + ColumnHeaders + ColumnLines + ColumnOrder + Columns + ColumnWidths + Comment + ControlBox + ControlCount + ControlIndex + Controls + ControlSource + CurrentControl + CurrentX + CurrentY + CursorSource + Curvature + Database + DataSession + DataSessionId + DataSourceObj + DataType + Default + DefButton + DefButtonOrig + DefHeight + DefineWindows + DefLeft + DefTop + DefWidth + DeleteMark + Desktop + Dirty + DisabledBackColor + DisabledByEOF + DisabledForeColor + DisabledItemBackColor + DisabledItemForeColor + DisabledPicture + DisplayValue + DispPageHeight + DispPageWidth + Docked + DockPosition + DoCreate + DocumentFile + DownPicture + DragIcon + DragMode + DragState + DrawMode + DrawStyle + DrawWidth + DynamicAlignment + DynamicBackColor + DynamicCurrentControl + DynamicFontBold + DynamicFontItalic + DynamicFontName + DynamicFontOutline + DynamicFontShadow + DynamicFontSize + DynamicFontStrikethru + DynamicFontUnderline + DynamicForeColor + EditFlags + Enabled + EnabledByReadLock + EnvLevel + ErasePage + FillColor + FillStyle + Filter + FirstElement + FontBold + FontItalic + FontName + FontOutline + FontShadow + FontSize + FontStrikethru + FontUnderline + ForceFocus + ForeColor + Format + FormCount + FormIndex + FormPageCount + FormPageIndex + Forms + FoxFont + GoFirst + GoLast + GridLineColor + GridLines + GridLineWidth + HalfHeightCaption + HasClip + HeaderGap + HeaderHeight + Height + HelpContextID + HideSelection + Highlight + HostName + HotKey + HPROJ + HWnd + Icon + IgnoreInsert + Increment + IncrementalSearch + InitialSelectedAlias + InputMask + InResize + Interval + ItemBackColor + ItemData + ItemForeColor + ItemIDData + JustReadLocked + KeyboardHighValue + KeyboardLowValue + KeyPreview + Left + LeftColumn + LineSlant + LinkMaster + List + ListCount + ListIndex + ListItem + ListItemId + LockDataSource + LockScreen + Margin + MaxButton + MaxHeight + MaxLeft + MaxLength + MaxTop + MaxWidth + MDIForm + MemoWindow + MinButton + MinHeight + MinWidth + MousePointer + Movable + MoverBars + MultiSelect + Name + NapTime + NewIndex + NewItemId + NoDataOnLoad + NoDefine + NotifyContainer + NumberOfElements + OleClass + OleClassId + OleControlContainer + OleIDispatchIncoming + OleIDispatchOutgoing + OleIDispInValue + OleIDispOutValue + OLETypeAllowed + OneToMany + OnResize + OpenWindow + PageCount + PageHeight + PageOrder + Pages + PageWidth + Panel + PanelLink + Parent + ParentAlias + ParentClass + Partition + PasswordChar + Picture + ReadColors + ReadCycle + ReadFiller + ReadLock + ReadMouse + ReadOnly + ReadSave + ReadSize + ReadTimeout + RecordMark + RecordSource + RecordSourceType + Rect + RelationalExpr + RelativeColumn + RelativeRow + ReleaseErase + ReleaseType + ReleaseWindows + Resizable + RowHeight + RowSource + RowSourceType + ScaleMode + ScrollBars + Selected + SelectedBackColor + SelectedForeColor + SelectedID + SelectedItemBackColor + SelectedItemForeColor + SelectOnEntry + SelfEdit + SelLength + SelStart + SelText + ShowTips + Sizable + Skip + SkipForm + Sorted + SourceType + Sparse + SpecialEffect + SpinnerHighValue + SpinnerLowValue + StatusBarText + Stretch + Style + SystemRefCount + Tabhit + TabIndex + Tabs + TabStop + TabStretch + Tag + TerminateRead + ToolTipText + Top + TopIndex + TopItemId + UnlockDataSource + Value + ValueDirty + View + Visible + WasActive + WasOpen + Width + WindowList + WindowNTIList + WindowState + WindowType + WordWrap + ZOrderSet + AllowAddNew + AllowHeaderSizing + AllowRowSizing + Application + AutoVerbMenu + AutoYield + BoundTo + DateFormat + DateMark + DefaultFilePath + FullName + Hours + IMEMode + IntegralHeight + ItemTips + MouseIcon + NullDisplay + OLERequestPendingTimou + OLEServerBusyRaiseErro + OLEServerBusyTimout + OpenViews + RightToLeft + SDIForm + ShowWindow + SplitBar + StrictDateEntry + TabStyle + WhatsThisButton + WhatsThisHelp + WhatsThisHelpID + DisplayCount + ContinuousScroll + HscrollSmallChange + TitleBar + VscrollSmallChange + ViewPortTop + ViewPortLeft + ViewPortHeight + ViewPortWidth + SetViewPort + Scrolled + StartMode + ServerName + OLEDragMode + OLEDragPicture + OLEDropEffects + OLEDropHasData + OLEDropMode + ActiveProject + Projects + AutoIncrement + BuildDateTime + Debug + Encrypted + Files + HomeDir + MainClass + MainFile + ProjectHookClass + ProjectHookLibrary + SCCProvider + ServerHelpFile + ServerProject + TypeLibCLSID + TypeLibDesc + TypeLibName + VersionComments + VersionCompany + VersionCopyright + VersionDescription + VersionNumber + VersionProduct + VersionTrademarks + Item + CodePage + Description + FileClass + FileClassLibrary + LastModified + SCCStatus + CLSID + Instancing + ProgID + ServerClass + ServerClassLibrary + ThreadID + ProcessID + AddLineFeeds + + + MULTILOCKS + FULLPATH + UNIQUE + CLASSLIB + LIBRARY + structure + last + production + path + date + datetime + rest + fields + array + free + structure + ASCENDING + window + nowait + between + dbf + noconsole + dif + xls + csv + delimited + right + decimal + additive + between + noupdate + + Abs + Accept + Access + Aclass + Acopy + Acos + Adatabases + Adbobjects + Add + Addrelationtoenv + Addtabletoenv + Adel + Adir + Aelement + Aerror + Afields + Afont + Again + Ains + Ainstance + Alen + All + Alltrim + Alter + Amembers + Ansitooem + Append + Aprinters + Ascan + Aselobj + Asin + Asort + Assist + Asubscript + Asynchronous + Atan + Atc + Atcline + Atline + Atn2 + Aused + Autoform + Autoreport + Average + Bar + BatchMode + BatchUpdateCount + Begin + Bell + BellSound + Bitand + Bitclear + Bitlshift + Bitnot + Bitor + Bitrshift + Bitset + Bittest + Bitxor + Bof + Bottom + Browse + BrowseRefresh + Buffering + Build + BuilderLock + By + Calculate + Call + Capslock + Case + Cd + Cdow + Ceiling + Central + Century + Change + Char + Chdir + Checkbox + Chr + Chrsaw + Chrtran + Close + Cmonth + Cntbar + Cntpad + Col + Column + ComboBox + CommandButton + CommandGroup + Compile + Completed + Compobj + Compute + Concat + ConnectBusy + ConnectHandle + ConnectName + ConnectString + ConnectTimeOut + Container + Continue + Control + Copy + Cos + Cot + Count + Cpconvert + Cpcurrent + CPDialog + Cpdbf + Cpnotrans + Create + Createobject + CrsBuffering + CrsFetchMemo + CrsFetchSize + CrsMaxRows + CrsMethodUsed + CrsNumBatch + CrsShareConnection + CrsUseMemoSize + CrsWhereClause + Ctod + Ctot + Curdate + Curdir + CurrLeft + CurrSymbol + Cursor + Curtime + Curval + Custom + DataEnvironment + Databases + Datetime + Day + Dayname + Dayofmonth + Dayofweek + Dayofyear + Dbalias + Dbused + DB_BufLockRow + DB_BufLockTable + DB_BufOff + DB_BufOptRow + DB_BufOptTable + DB_Complette + DB_DeleteInsert + DB_KeyAndModified + DB_KeyAndTimestamp + DB_KeyAndUpdatable + DB_LocalSQL + DB_NoPrompt + DB_Prompt + DB_RemoteSQL + DB_TransAuto + DB_TransManual + DB_TransNone + DB_Update + Ddeaborttrans + Ddeadvise + Ddeenabled + Ddeexecute + Ddeinitiate + Ddelasterror + Ddepoke + Dderequest + Ddesetoption + Ddesetservice + Ddesettopic + Ddeterminate + Declare + DefaultValue + Define + Degrees + DeleteTrigger + Desc + Description + Difference + Dimension + Dir + Directory + Diskspace + Display + DispLogin + DispWarnings + Distinct + Dmy + Do + Doc + Dow + Drop + Dtoc + Dtor + Dtos + Dtot + Edit + EditBox + Eject + Elif + Else + Empty + End + Endcase + Enddefine + Enddo + Endfor + Endif + Endprintjob + Endscan + Endtext + Endwith + Eof + Erase + Evaluate + Exact + Exclusive + Exit + Exp + Export + External + Fchsize + Fclose + Fcount + Fcreate + Feof + Ferror + FetchMemo + FetchSize + Fflush + Fgets + File + Filer + Find + Fklabel + Fkmax + Fldlist + Flock + Floor + Flush + FontClass + Fontmetric + Fopen + For + Form + FormsClass + Formset + FormSetClass + FormSetLib + FormsLib + Found + Foxcode + Foxdoc + Foxgen + Foxgraph + FoxPro + Foxview + Fputs + Fread + From + Fseek + Fsize + Fv + Fwrite + Gather + General + Getbar + Getcolor + Getcp + Getdir + Getenv + Getexpr + Getfile + Getfldstate + Getfont + Getnextmodified + Getobject + Getpad + Getpict + Getprinter + Go + Gomonth + Goto + Graph + Grid + GridHorz + GridShow + GridShowPos + GridSnap + GridVert + Header + Help + HelpOn + HelpTo + Hour + IdleTimeOut + Idxcollate + If + Ifdef + Ifndef + Iif + Image + Import + Include + Indbc + Index + Inkey + Inlist + Input + Insert + InsertTrigger + Insmode + Into + Isalpha + Iscolor + Isdigit + Isexclusive + Islower + Isnull + Isreadonly + Isupper + Join + Keyboard + KeyField + KeyFieldList + Keymatch + Label + Lastkey + LastProject + Lcase + Len + Length + Lineno + ListBox + Local + Locate + Locfile + Log + Log10 + Logout + Lookup + Loop + Lower + Lparameters + Ltrim + Lupdate + Mail + MaxRecords + Mcol + Md + Mdown + Mdx + Mdy + Memlines + Memo + Menu + Messagebox + Minute + Mkdir + Mline + Modify + Month + Monthname + Mouse + Mrkbar + Mrkpad + Mrow + Mton + Mwindow + Native + Ndx + Network + Next + Nodefault + Normalize + Note + Now + Ntom + NullString + Numlock + Nvl + Objnum + Objref + Objtoclient + Objvar + Occurs + ODBChdbc + ODBChstmt + Oemtoansi + Off + Oldval + OleBaseControl + OleBoundControl + OleClassIDispOut + OleControl + On + Open + OptionButton + OptionGroup + Oracle + Order + Os + Otherwise + Pack + PacketSize + Padc + Padl + Padr + Page + PageFrame + Parameters + Payment + Pcol + Percent + Pi + Pivot + Play + Pop + Power + PrimaryKey + Printjob + Printstatus + Private + Prmbar + Prmpad + Program + ProjectClick + Proper + Protected + Prow + Prtinfo + Public + Push + Putfile + Pv + Qpr + Quater + QueryTimeOut + Quit + Radians + Rand + Rat + Ratline + Rd + Rdlevel + Read + Readkey + Recall + Reccount + RecentlyUsedFiles + Recno + Recsize + RectClass + Regional + Reindex + RelatedChild + RelatedTable + RelatedTag + Relation + Remove + Rename + Repeat + Replace + Replicate + Report + Reprocess + ResHeight + ResourceOn + ResourceTo + Restore + Resume + ResWidth + Retry + Return + Rgbscheme + Rlock + Rmdir + Rollback + Round + Rtod + Rtrim + RuleExpression + RuleText + Run + Runscript + Rview + Save + Safety + ScaleUnits + Scan + Scatter + Scols + Scroll + Sec + Second + Seek + Select + SendUpdates + Separator + Set + SetDefault + Setfldstate + Setup + Shape + Shared + ShareConnection + ShowOLEControls + ShowOLEInsertable + ShowVCXs + Sign + Sin + Size + Skpbar + Skppad + Sort + Soundex + SourceName + Spinner + SQLAsynchronous + SQLBatchMode + Sqlcommit + SQLConnectTimeOut + SQLDispLogin + SQLDispWarnings + SQLIdleTimeOut + Sqll + SQLQueryTimeOut + Sqlrollback + Sqlstringconnect + SQLTransactions + SQLWaitTime + Sqrt + Srows + StatusBar + Status + Store + Str + Strtran + Stuff + Substr + Substring + Sum + Suspend + Sys + Sysmetric + Table + TableRefresh + Tablerevert + Tableupdate + TabOrdering + Talk + Tan + Target + Text + TextBox + Timestamp + Timestampdiff + To + Toolbar + Total + Transaction + Transform + Trim + Truncate + Ttoc + Ttod + Txnlevel + Txtwidth + Type + Ucase + Undefine + Unlock + Unpack + Updatable + UpdatableFieldList + Update + Updated + UpdateName + UpdateNameList + UpdateTrigger + UpdateType + Upper + Upsizing + Use + Used + UseMemoSize + Val + Validate + Values + Varread + Version + Wait + WaitTime + Wborder + Wchild + Wcols + Week + Wexist + Wfont + Where + WhereType + While + Windcmd + Windhelp + Windmemo + Windmenu + Windmodify + Windquery + Windscreen + Windsnip + Windstproc + With + WizardPrompt + Wlast + Wlcol + Wlrow + Wmaximum + Wminimum + Wontop + Woutput + Wparent + Wread + Wrows + Wtitle + Wvisible + Year + Zap + [ + ] + ^ + _Alignment + _Asciicols + _Asciirows + _Assist + _Beautify + _Box + _Browser + _Builder + _Calcmem + _Calcvalue + _Cliptext + _Converter + _Curobj + _Dblclick + _Diarydate + _Dos + _Foxdoc + _Foxgraph + _Gengraph + _Genmenu + _Genpd + _Genscrn + _Genxtab + _Indent + _Lmargin + _Mac + _Mbrowse + _Mbr_appnd + _Mbr_cpart + _Mbr_delet + _Mbr_font + _Mbr_goto + _Mbr_grid + _Mbr_link + _Mbr_mode + _Mbr_mvfld + _Mbr_mvprt + _Mbr_seek + _Mbr_sp100 + _Mbr_sp200 + _Mbr_szfld + _Mdata + _Mda_appnd + _Mda_avg + _Mda_brow + _Mda_calc + _Mda_copy + _Mda_count + _Mda_label + _Mda_pack + _Mda_reprt + _Mda_rindx + _Mda_setup + _Mda_sort + _Mda_sp100 + _Mda_sp200 + _Mda_sp300 + _Mda_sum + _Mda_total + _Mdiary + _Medit + _Med_clear + _Med_copy + _Med_cut + _Med_cvtst + _Med_find + _Med_finda + _Med_goto + _Med_insob + _Med_link + _Med_obj + _Med_paste + _Med_pref + _Med_pstlk + _Med_redo + _Med_repl + _Med_repla + _Med_slcta + _Med_sp100 + _Med_sp200 + _Med_sp300 + _Med_sp400 + _Med_sp500 + _Med_undo + _Mfile + _Mfiler + _Mfirst + _Mfi_clall + _Mfi_close + _Mfi_export + _Mfi_import + _Mfi_new + _Mfi_open + _Mfi_pgset + _Mfi_prevu + _Mfi_print + _Mfi_quit + _Mfi_revrt + _Mfi_savas + _Mfi_save + _Mfi_send + _Mfi_setup + _Mfi_sp100 + _Mfi_sp200 + _Mfi_sp300 + _Mfi_sp400 + _Mlabel + _Mlast + _Mline + _Mmacro + _Mmbldr + _Mprog + _Mproj + _Mpr_beaut + _Mpr_cancl + _Mpr_compl + _Mpr_do + _Mpr_docum + _Mpr_formwz + _Mpr_gener + _Mpr_graph + _Mpr_resum + _Mpr_sp100 + _Mpr_sp200 + _Mpr_sp300 + _Mpr_suspend + _Mrc_appnd + _Mrc_chnge + _Mrc_cont + _Mrc_delet + _Mrc_goto + _Mrc_locat + _Mrc_recal + _Mrc_repl + _Mrc_seek + _Mrc_sp100 + _Mrc_sp200 + _Mrecord + _Mreport + _Mrqbe + _Mscreen + _Msm_data + _Msm_edit + _Msm_file + _Msm_format + _Msm_prog + _Msm_recrd + _Msm_systm + _Msm_text + _Msm_tools + _Msm_view + _Msm_windo + _Mst_about + _Mst_ascii + _Mst_calcu + _Mst_captr + _Mst_dbase + _Mst_diary + _Mst_filer + _Mst_help + _Mst_hphow + _Mst_hpsch + _Mst_macro + _Mst_office + _Mst_puzzl + _Mst_sp100 + _Mst_sp200 + _Mst_sp300 + _Mst_specl + _Msysmenu + _Msystem + _Mtable + _Mtb_appnd + _Mtb_cpart + _Mtb_delet + _Mtb_delrc + _Mtb_goto + _Mtb_link + _Mtb_mvfld + _Mtb_mvprt + _Mtb_props + _Mtb_recal + _Mtb_sp100 + _Mtb_sp200 + _Mtb_sp300 + _Mtb_sp400 + _Mtb_szfld + _Mwindow + _Mwizards + _Mwi_arran + _Mwi_clear + _Mwi_cmd + _Mwi_color + _Mwi_debug + _Mwi_hide + _Mwi_hidea + _Mwi_min + _Mwi_move + _Mwi_rotat + _Mwi_showa + _Mwi_size + _Mwi_sp100 + _Mwi_sp200 + _Mwi_toolb + _Mwi_trace + _Mwi_view + _Mwi_zoom + _Mwz_all + _Mwz_form + _Mwz_foxdoc + _Mwz_import + _Mwz_label + _Mwz_mail + _Mwz_pivot + _Mwz_query + _Mwz_reprt + _Mwz_setup + _Mwz_table + _Mwz_upsizing + _Netware + _Oracle + _Padvance + _Pageno + _Pbpage + _Pcolno + _Pcopies + _Pdparms + _Pdriver + _Pdsetup + _Pecode + _Peject + _Pepage + _Pform + _Plength + _Plineno + _Ploffset + _Ppitch + _Pquality + _Pretext + _Pscode + _Pspacing + _Pwait + _Rmargin + _Screen + _Shell + _Spellchk + _Sqlserver + _Startup + _Tabs + _Tally + _Text + _Throttle + _Transport + _Triggerlevel + _Unix + _Windows + _Wizard + _Wrap + French + German + Italian + Japan + Usa + Lparameter + This + Thisform + Thisformset + F + T + N + Y + OlePublic + Hidden + Each + DoEvents + Dll + Outer + At_c + Atcc + Ratc + Leftc + Rightc + Substrc + Stuffc + Lenc + Chrtranc + IsLeadByte + IMEStatus + Strconv + BinToC + CToBin + IsFLocked + IsRLocked + LoadPicture + SavePicture + Assert + DoDefault + _WebMenu + _scctext + _WebVFPHomePage + _WebVfpOnlineSupport + _WebDevOnly + _WebMsftHomePage + _Coverage + _vfp + Bintoc + Resources + Ctobin + Createoffline + Debugout + Doevents + Dropoffline + Each + Isflocked + Isrlocked + Loadpicture + Revertoffline + Savepicture + Asserts + Coverage + Eventtracking + DBGetProp + DBSetProp + CursorGetProp + CursorSetProp + Addbs + Agetclass + Agetfileversion + Alines + Amouseobj + Anetresources + Avcxclasses + Comclassinfo + Createobjectex + Defaultext + Drivetype + Filetostr + Forceext + Forcepath + Gethost + Indexseek + Ishosted + Justdrive + Justext + Justfname + Justpath + Juststem + Newobject + Olereturnerror + Strtofile + Vartype + _Coverage + _Gallery + _Genhtml + _Getexpr + _Include + _Runactivedoc + ProjectHook + ActiveDoc + HyperLink + Session + Mtdll + + + ADOCKTIP + ADirtip + ADockState + AEvents + AFONTTIP + ALanguage + AProcInfo + AStackInfo + ATagInfo + Adlls + Alentip + Amemberstip + Amemberstip2 + Ascantip + Aselobjtip + Asessions + Asorttip + Asorttip2 + BINDEVENTTIP + BindEvent + COMARRAYTIP + COMPROPTIP + Candidate + Cdx + ComArray + ComReturnError + Comprop + CreateBinary + CursorToXML + DIRTIP + Descending + DisplayPath + EditSource + EventHandler + Evl + ExecScript + FCREATETIP + FIELDTIP + FILETIP + FOPENTIP + FSEEKTIP + Fdate + Ftime + GetCursorAdapter + GetInterface + GetPem + GetWordCount + GetWordNum + InputBox + IsBlank + IsMouse + Like + Likec + Memory + Msgboxtip + Pcount + PemStatus + Popup + Quarter + RaiseEvent + RemoveProperty + SQLCancel + SQLColumns + SQLDisconnect + SQLExec + SQLGetProp + SQLMoreResults + SQLPrepare + SQLSetProp + SQLTables + STRTOFILETIP + Seconds + StrExTip + StrExtract + Strtrantip + Tagcount + Tagno + Textmerge + Try + UnBindEvents + WDockable + XMLTIP + XMLTIP2 + XMLTIP3 + XMLTIP4 + XMLTIP5 + XMLTIP6 + XMLToCursor + XMLUpdategram + Blank + Catch + Dotip + EndTry + Finally + Implements + Opendatatip + Repltip + Throw + Usetip + + + + diff --git a/extra/xmode/modes/freemarker.xml b/extra/xmode/modes/freemarker.xml new file mode 100644 index 0000000000..065e5f9ab9 --- /dev/null +++ b/extra/xmode/modes/freemarker.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + <script + </script> + + + <Script + </Script> + + + <SCRIPT + </SCRIPT> + + + + + <style + </style> + + + <Style + </Style> + + + <STYLE + </STYLE> + + + + + <!-- + --> + + + + + <! + > + + + + + + ${ + } + + + + #{ + } + + + + <#ftl\b + > + + + + <#?(if|elseif|switch|foreach|list|case|assign|local|global|setting|include|import|stop|escape|macro|function|transform|call|visit|recurse)(\s|/|$) + > + + + </#?(assign|local|global|if|switch|foreach|list|escape|macro|function|transform|compress|noescape)> + + + <#?(else|compress|noescape|default|break|flush|nested|t|rt|lt|return|recurse)\b + > + + + + </@(([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*)*?)? + > + + + + <@([_@\p{Alpha}][_@\p{Alnum}]*)(\.[_@\p{Alpha}][_@\p{Alnum}]*?)* + > + + + + <#-- + --> + + + <stop> + + <comment> + </comment> + + + <# + > + + + </# + > + + + + + < + > + + + + + + <#-- + --> + + + <!-- + --> + + + + " + " + + + () + + = + ! + | + & + < + > + * + / + - + + + % + . + : + . + . + [ + ] + { + } + ; + + ? + + true + false + as + in + using + gt + gte + lt + lte + + + + + + " + " + + + + ' + ' + + + = + + + + + + + ${ + } + + + #{ + } + + + + + + diff --git a/extra/xmode/modes/gettext.xml b/extra/xmode/modes/gettext.xml new file mode 100644 index 0000000000..b84e7c4b64 --- /dev/null +++ b/extra/xmode/modes/gettext.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + #: + # + #. + #~ + + #, + % + $ + @ + + + " + " + + + + + msgid + msgid_plural + msgstr + fuzzy + + c-format + no-c-format + + + + + + + \" + \" + + + % + $ + @ + + + diff --git a/extra/xmode/modes/gnuplot.xml b/extra/xmode/modes/gnuplot.xml new file mode 100644 index 0000000000..f66a16955c --- /dev/null +++ b/extra/xmode/modes/gnuplot.xml @@ -0,0 +1,270 @@ + + + + + + + + + + + + + + + # + + + + " + " + + + ' + ' + + + + [ + ] + + + + { + } + + + + - + + + ~ + ! + $ + * + % + = + > + < + & + >= + <= + | + ^ + ? + : + + + ( + ) + + + + + + + cd + call + clear + exit + fit + help + history + if + load + pause + plot + using + with + index + every + smooth + thru + print + pwd + quit + replot + reread + reset + save + set + show + unset + shell + splot + system + test + unset + update + + + abs + acos + acosh + arg + asin + asinh + atan + atan2 + atanh + besj0 + besj1 + besy0 + besy1 + ceil + cos + cosh + erf + erfc + exp + floor + gamma + ibeta + inverf + igamma + imag + invnorm + int + lambertw + lgamma + log + log10 + norm + rand + real + sgn + sin + sinh + sqrt + tan + tanh + column + defined + tm_hour + tm_mday + tm_min + tm_mon + tm_sec + tm_wday + tm_yday + tm_year + valid + + + angles + arrow + autoscale + bars + bmargin + border + boxwidth + clabel + clip + cntrparam + colorbox + contour + datafile + decimalsign + dgrid3d + dummy + encoding + fit + fontpath + format + functions + function + grid + hidden3d + historysize + isosamples + key + label + lmargin + loadpath + locale + logscale + mapping + margin + mouse + multiplot + mx2tics + mxtics + my2tics + mytics + mztics + offsets + origin + output + parametric + plot + pm3d + palette + pointsize + polar + print + rmargin + rrange + samples + size + style + surface + terminal + tics + ticslevel + ticscale + timestamp + timefmt + title + tmargin + trange + urange + variables + version + view + vrange + x2data + x2dtics + x2label + x2mtics + x2range + x2tics + x2zeroaxis + xdata + xdtics + xlabel + xmtics + xrange + xtics + xzeroaxis + y2data + y2dtics + y2label + y2mtics + y2range + y2tics + y2zeroaxis + ydata + ydtics + ylabel + ymtics + yrange + ytics + yzeroaxis + zdata + zdtics + cbdata + cbdtics + zero + zeroaxis + zlabel + zmtics + zrange + ztics + cblabel + cbmtics + cbrange + cbtics + + + + + diff --git a/extra/xmode/modes/groovy.xml b/extra/xmode/modes/groovy.xml new file mode 100644 index 0000000000..5e0d8ea1a8 --- /dev/null +++ b/extra/xmode/modes/groovy.xml @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + + + /**/ + + + + /** + */ + + + + + /* + */ + + + + " + " + + + ' + ' + + + + + + $1 + + + =~ + = + | + ! + <=> + >= + <= + + + -> + - + ? + & + + + .* + + + // + + + ( + ) + + + abstract + break + case + catch + continue + default + do + else + extends + final + finally + for + if + implements + instanceof + native + new + private + protected + public + return + static + switch + synchronized + throw + throws + transient + try + volatile + while + + strictfp + + package + import + + + as + assert + def + mixin + property + test + using + in + + + boolean + byte + char + class + double + float + int + interface + long + short + void + + + abs + any + append + asList + asWritable + call + collect + compareTo + count + div + dump + each + eachByte + eachFile + eachLine + every + find + findAll + flatten + getAt + getErr + getIn + getOut + getText + grep + immutable + inject + inspect + intersect + invokeMethods + isCase + join + leftShift + minus + multiply + newInputStream + newOutputStream + newPrintWriter + newReader + newWriter + next + plus + pop + power + previous + print + println + push + putAt + read + readBytes + readLines + reverse + reverseEach + round + size + sort + splitEachLine + step + subMap + times + toInteger + toList + tokenize + upto + waitForOrKill + withPrintWriter + withReader + withStream + withWriter + withWriterAppend + write + writeLine + + false + null + super + this + true + + + it + + goto + const + + + + + + + ${ + } + + + $ + + + + + { + + + * + + + + <!-- + --> + + + + << + <= + < + + + + < + > + + + @ + + + diff --git a/extra/xmode/modes/haskell.xml b/extra/xmode/modes/haskell.xml new file mode 100644 index 0000000000..b38b42db87 --- /dev/null +++ b/extra/xmode/modes/haskell.xml @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + + + + + + + {-# + #-} + + + + {- + -} + + + -- + + + " + " + + + + ' ' + '!' + '"' + '$' + '%' + '/' + '(' + ')' + '[' + ']' + '+' + '-' + '*' + '=' + '/' + '^' + '.' + ',' + ':' + ';' + '<' + '>' + '|' + '@' + + + ' + ' + + + .. + && + :: + + < + > + + + - + * + / + % + ^ + = + | + @ + ~ + ! + $ + + + + + + + case + class + data + default + deriving + do + else + if + import + in + infix + infixl + infixr + instance + let + module + newtype + of + then + type + where + _ + as + qualified + hiding + + Addr + Bool + Bounded + Char + Double + Either + Enum + Eq + FilePath + Float + Floating + Fractional + Functor + IO + IOError + IOResult + Int + Integer + Integral + Ix + Maybe + Monad + Num + Ord + Ordering + Ratio + Rational + Read + ReadS + Real + RealFloat + RealFrac + Show + ShowS + String + + : + EQ + False + GT + Just + LT + Left + Nothing + Right + True + + quot + rem + div + mod + elem + notElem + seq + + + + diff --git a/extra/xmode/modes/hex.xml b/extra/xmode/modes/hex.xml new file mode 100644 index 0000000000..73a8db921b --- /dev/null +++ b/extra/xmode/modes/hex.xml @@ -0,0 +1,20 @@ + + + + + + + + + + : + + ; + + diff --git a/extra/xmode/modes/hlsl.xml b/extra/xmode/modes/hlsl.xml new file mode 100644 index 0000000000..0f361c5a29 --- /dev/null +++ b/extra/xmode/modes/hlsl.xml @@ -0,0 +1,479 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + + ## + #@ + # + + + + asm + } + + + ASM + } + + + Asm + } + + + asm_fragment + } + + + + // + + + ++ + -- + && + || + == + :: + << + <<= + >> + >>= + ... + <= + >= + != + *= + /= + += + -= + %= + &= + |= + ^= + -> + + + } + { + + + - + * + / + % + = + < + > + ! + + + ( + + + .(([xyzw]{1,4})|([rgba]{1,4})|((_m[0123][0123])+)|((_[1234][1234])+))(?!\p{Alnum}) + + + bool[1234](x[1234])?\b + int[1234](x[1234])?\b + half[1234](x[1234])?\b + float[1234](x[1234])?\b + double[1234](x[1234])?\b + + + :\s*(register\s*\(\w+(\s*\,\s*\w+\s*)?\)|\w+) + + + + discard + do + else + for + if + return + typedef + while + + + compile + compile_fragment + register + sampler_state + stateblock_state + technique + Technique + TECHNIQUE + pass + Pass + PASS + decl + Decl + DECL + + + void + bool + int + half + float + double + vector + matrix + + + string + texture + texture1D + texture2D + texture3D + textureCUBE + sampler + sampler1D + sampler2D + sampler3D + samplerCUBE + pixelfragment + vertexfragment + pixelshader + vertexshader + stateblock + struct + + + static + uniform + extern + volatile + inline + shared + const + row_major + column_major + in + inout + out + + + false + true + NULL + + + abs + acos + all + any + asin + atan + atan2 + ceil + clamp + clip + cos + cosh + cross + D3DCOLORtoUBYTE4 + ddx + ddy + degrees + determinant + distance + dot + exp + exp2 + faceforward + floor + fmod + frac + frexp + fwidth + isfinite + isinf + isnan + ldexp + length + lerp + lit + log + log10 + log2 + max + min + modf + mul + noise + normalize + pow + radians + reflect + refract + round + rsqrt + saturate + sign + sin + sincos + sinh + smoothstep + sqrt + step + tan + tanh + transpose + + + tex1D + tex1Dgrad + tex1Dbias + tex1Dgrad + tex1Dlod + tex1Dproj + tex2D + tex2D + tex2Dbias + tex2Dgrad + tex2Dlod + tex2Dproj + tex3D + tex3D + tex3Dbias + tex3Dgrad + tex3Dlod + tex3Dproj + texCUBE + texCUBE + texCUBEbias + texCUBEgrad + texCUBElod + texCUBEproj + + + auto + break + case + catch + char + class + const_cast + continue + default + delete + dynamic_cast + enum + explicit + friend + goto + long + mutable + namespace + new + operator + private + protected + public + reinterpret_cast + short + signed + sizeof + static_cast + switch + template + this + throw + try + typename + union + unsigned + using + virtual + + + + + + + + + + /* + */ + + + + include + + + + define + elif + else + endif + error + if + ifdef + ifndef + line + pragma + undef + + + pack_matrix + warning + def + defined + D3DX + D3DX_VERSION + DIRECT3D + DIRECT3D_VERSION + __FILE__ + __LINE__ + + + + + + + { + + + + /* + */ + + // + ; + + + + + - + , + + + .(([xyzw]{1,4})) + + + abs(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + add(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + bem(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + break_comp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + breakp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + callnz(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + cmp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + cnd(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + crs(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + dp2add(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + dp3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + dp4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + dst(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + dsx(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + dsy(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + else(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + endif(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + endloop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + endrep(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + exp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + frc(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + if(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + label(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + lit(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + logp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + loop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + lrp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + m3x2(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + m3x3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + m3x4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + m4x3(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + m4x4(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + mad(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + mov(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + max(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + min(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + mova(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + mul(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + nop(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + nrm(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + phase(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + pow(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + rcp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + rep(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + ret(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + rsq(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + setp_comp(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + sge(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + sgn(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + sincos(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + slt(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + sub(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + + neg(_pp|_sat|_x2|_x4|_x8|_bx2|_d2|_d4|_d8)*\b + + + tex\w* + + + ps\w* + vs\w* + def\w* + dcl\w* + + + + + + diff --git a/extra/xmode/modes/htaccess.xml b/extra/xmode/modes/htaccess.xml new file mode 100644 index 0000000000..33bf6c41ad --- /dev/null +++ b/extra/xmode/modes/htaccess.xml @@ -0,0 +1,563 @@ + + + + + + + + + + + + # + + + " + " + + + + ]*>]]> + ]]> + + + + + AcceptPathInfo + Action + AddAlt + AddAltByEncoding + AddAltByType + AddCharset + AddDefaultCharset + AddDescription + AddEncoding + AddHandler + AddIcon + AddIconByEncoding + AddIconByType + AddInputFilter + AddLanguage + AddOutputFilter + AddOutputFilterByType + AddType + Allow + Anonymous + Anonymous_Authoritative + Anonymous_LogEmail + Anonymous_MustGiveEmail + Anonymous_NoUserID + Anonymous_VerifyEmail + AuthAuthoritative + AuthDBMAuthoritative + AuthDBMGroupFile + AuthDBMType + AuthDBMUserFile + AuthDigestAlgorithm + AuthDigestDomain + AuthDigestFile + AuthDigestGroupFile + AuthDigestNonceFormat + AuthDigestNonceLifetime + AuthDigestQop + AuthGroupFile + AuthLDAPAuthoritative + AuthLDAPBindDN + AuthLDAPBindPassword + AuthLDAPCompareDNOnServer + AuthLDAPDereferenceAliases + AuthLDAPEnabled + AuthLDAPFrontPageHack + AuthLDAPGroupAttribute + AuthLDAPGroupAttributeIsDN + AuthLDAPRemoteUserIsDN + AuthLDAPUrl + AuthName + AuthType + AuthUserFile + BrowserMatch + BrowserMatchNoCase + CGIMapExtension + CharsetDefault + CharsetOptions + CharsetSourceEnc + CheckSpelling + ContentDigest + CookieDomain + CookieExpires + CookieName + CookieStyle + CookieTracking + DefaultIcon + DefaultLanguage + DefaultType + Deny + DirectoryIndex + DirectorySlash + EnableMMAP + EnableSendfile + ErrorDocument + Example + ExpiresActive + ExpiresByType + ExpiresDefault + FileETag + ForceLanguagePriority + ForceType + Header + HeaderName + ImapBase + ImapDefault + ImapMenu + IndexIgnore + IndexOptions + IndexOrderDefault + ISAPIAppendLogToErrors + ISAPIAppendLogToQuery + ISAPIFakeAsync + ISAPILogNotSupported + ISAPIReadAheadBuffer + LanguagePriority + LimitRequestBody + LimitXMLRequestBody + MetaDir + MetaFiles + MetaSuffix + MultiviewsMatch + Options + Order + PassEnv + ReadmeName + Redirect + RedirectMatch + RedirectPermanent + RedirectTemp + RemoveCharset + RemoveEncoding + RemoveHandler + RemoveInputFilter + RemoveLanguage + RemoveOutputFilter + RemoveType + RequestHeader + Require + RewriteBase + RewriteCond + RewriteEngine + RewriteOptions + RewriteRule + RLimitCPU + RLimitMEM + RLimitNPROC + Satisfy + ScriptInterpreterSource + ServerSignature + SetEnv + SetEnvIf + SetEnvIfNoCase + SetHandler + SetInputFilter + SetOutputFilter + SSIErrorMsg + SSITimeFormat + SSLCipherSuite + SSLOptions + SSLProxyCipherSuite + SSLProxyVerify + SSLProxyVerifyDepth + SSLRequire + SSLRequireSSL + SSLUserName + SSLVerifyClient + SSLVerifyDepth + UnsetEnv + XBitHack + + Basic + Digest + None + Off + On + + + + + + + # + + + " + " + + + + ]*>]]> + ]]> + + + + + AcceptMutex + AcceptPathInfo + AccessFileName + Action + AddAlt + AddAltByEncoding + AddAltByType + AddCharset + AddDefaultCharset + AddDescription + AddEncoding + AddHandler + AddIcon + AddIconByEncoding + AddIconByType + AddInputFilter + AddLanguage + AddModuleInfo + AddOutputFilter + AddOutputFilterByType + AddType + Alias + AliasMatch + Allow + AllowCONNECT + AllowEncodedSlashes + AllowOverride + Anonymous + Anonymous_Authoritative + Anonymous_LogEmail + Anonymous_MustGiveEmail + Anonymous_NoUserID + Anonymous_VerifyEmail + AuthAuthoritative + AuthDBMAuthoritative + AuthDBMGroupFile + AuthDBMType + AuthDBMUserFile + AuthDigestAlgorithm + AuthDigestDomain + AuthDigestFile + AuthDigestGroupFile + AuthDigestNcCheck + AuthDigestNonceFormat + AuthDigestNonceLifetime + AuthDigestQop + AuthDigestShmemSize + AuthGroupFile + AuthLDAPAuthoritative + AuthLDAPBindDN + AuthLDAPBindPassword + AuthLDAPCharsetConfig + AuthLDAPCompareDNOnServer + AuthLDAPDereferenceAliases + AuthLDAPEnabled + AuthLDAPFrontPageHack + AuthLDAPGroupAttribute + AuthLDAPGroupAttributeIsDN + AuthLDAPRemoteUserIsDN + AuthLDAPUrl + AuthName + AuthType + AuthUserFile + BS2000Account + BrowserMatch + BrowserMatchNoCase + CGIMapExtension + CacheDefaultExpire + CacheDirLength + CacheDirLevels + CacheDisable + CacheEnable + CacheExpiryCheck + CacheFile + CacheForceCompletion + CacheGcClean + CacheGcDaily + CacheGcInterval + CacheGcMemUsage + CacheGcUnused + CacheIgnoreCacheControl + CacheIgnoreNoLastMod + CacheLastModifiedFactor + CacheMaxExpire + CacheMaxFileSize + CacheMinFileSize + CacheNegotiatedDocs + CacheRoot + CacheSize + CacheTimeMargin + CharsetDefault + CharsetOptions + CharsetSourceEnc + CheckSpelling + ChildPerUserID + ContentDigest + CookieDomain + CookieExpires + CookieLog + CookieName + CookieStyle + CookieTracking + CoreDumpDirectory + CustomLog + Dav + DavDepthInfinity + DavLockDB + DavMinTimeout + DefaultIcon + DefaultLanguage + DefaultType + DeflateBufferSize + DeflateCompressionLevel + DeflateFilterNote + DeflateMemLevel + DeflateWindowSize + Deny + DirectoryIndex + DirectorySlash + DocumentRoot + EnableMMAP + EnableSendfile + ErrorDocument + ErrorLog + Example + ExpiresActive + ExpiresByType + ExpiresDefault + ExtFilterDefine + ExtFilterOptions + ExtendedStatus + FileETag + ForceLanguagePriority + ForceType + Group + Header + HeaderName + HostnameLookups + ISAPIAppendLogToErrors + ISAPIAppendLogToQuery + ISAPICacheFile + ISAPIFakeAsync + ISAPILogNotSupported + ISAPIReadAheadBuffer + IdentityCheck + ImapBase + ImapDefault + ImapMenu + Include + IndexIgnore + IndexOptions + IndexOrderDefault + KeepAlive + KeepAliveTimeout + LDAPCacheEntries + LDAPCacheTTL + LDAPOpCacheEntries + LDAPOpCacheTTL + LDAPSharedCacheSize + LDAPTrustedCA + LDAPTrustedCAType + LanguagePriority + LimitInternalRecursion + LimitRequestBody + LimitRequestFields + LimitRequestFieldsize + LimitRequestLine + LimitXMLRequestBody + Listen + ListenBacklog + LoadFile + LoadModule + LockFile + LogFormat + LogLevel + MCacheMaxObjectCount + MCacheMaxObjectSize + MCacheMaxStreamingBuffer + MCacheMinObjectSize + MCacheRemovalAlgorithm + MCacheSize + MMapFile + MaxClients + MaxKeepAliveRequests + MaxMemFree + MaxRequestsPerChild + MaxRequestsPerThread + MaxSpareServers + MaxSpareThreads + MaxThreads + MaxThreadsPerChild + MetaDir + MetaFiles + MetaSuffix + MimeMagicFile + MinSpareServers + MinSpareThreads + ModMimeUsePathInfo + MultiviewsMatch + NWSSLTrustedCerts + NameVirtualHost + NoProxy + NumServers + Options + Order + PassEnv + PidFile + ProtocolEcho + ProxyBadHeader + ProxyBlock + ProxyDomain + ProxyErrorOverride + ProxyIOBufferSize + ProxyMaxForwards + ProxyPass + ProxyPassReverse + ProxyPreserveHost + ProxyReceiveBufferSize + ProxyRemote + ProxyRemoteMatch + ProxyRequests + ProxyTimeout + ProxyVia + RLimitCPU + RLimitMEM + RLimitNPROC + ReadmeName + Redirect + RedirectMatch + RedirectPermanent + RedirectTemp + RemoveCharset + RemoveEncoding + RemoveHandler + RemoveInputFilter + RemoveLanguage + RemoveOutputFilter + RemoveType + RequestHeader + Require + RewriteBase + RewriteCond + RewriteEngine + RewriteLock + RewriteLog + RewriteLogLevel + RewriteMap + RewriteOptions + RewriteRule + SSIEndTag + SSIErrorMsg + SSIStartTag + SSITimeFormat + SSIUndefinedEcho + SSLCACertificateFile + SSLCACertificatePath + SSLCARevocationFile + SSLCARevocationPath + SSLCertificateChainFile + SSLCertificateFile + SSLCertificateKeyFile + SSLCipherSuite + SSLEngine + SSLMutex + SSLOptions + SSLPassPhraseDialog + SSLProtocol + SSLProxyCACertificateFile + SSLProxyCACertificatePath + SSLProxyCARevocationFile + SSLProxyCARevocationPath + SSLProxyCipherSuite + SSLProxyEngine + SSLProxyMachineCertificateFile + SSLProxyMachineCertificatePath + SSLProxyProtocol + SSLProxyVerify + SSLProxyVerifyDepth + SSLRandomSeed + SSLRequire + SSLRequireSSL + SSLSessionCache + SSLSessionCacheTimeout + SSLVerifyClient + SSLVerifyDepth + Satisfy + ScoreBoardFile + Script + ScriptAlias + ScriptAliasMatch + ScriptInterpreterSource + ScriptLog + ScriptLogBuffer + ScriptLogLength + ScriptSock + SecureListen + SendBufferSize + ServerAdmin + ServerLimit + ServerName + ServerRoot + ServerSignature + ServerTokens + SetEnv + SetEnvIf + SetEnvIfNoCase + SetHandler + SetInputFilter + SetOutputFilter + StartServers + StartThreads + SuexecUserGroup + ThreadLimit + ThreadStackSize + ThreadsPerChild + TimeOut + TransferLog + TypesConfig + UnsetEnv + UseCanonicalName + User + UserDir + VirtualDocumentRoot + VirtualDocumentRootIP + VirtualScriptAlias + VirtualScriptAliasIP + XBitHack + + + + AddModule + ClearModuleList + + + SVNPath + SVNParentPath + SVNIndexXSLT + + + PythonHandler + PythonDebug + + + php_value + + php_flag + + All + ExecCGI + FollowSymLinks + Includes + IncludesNOEXEC + Indexes + MultiViews + None + Off + On + SymLinksIfOwnerMatch + from + + + + diff --git a/extra/xmode/modes/html.xml b/extra/xmode/modes/html.xml new file mode 100644 index 0000000000..a5af6045db --- /dev/null +++ b/extra/xmode/modes/html.xml @@ -0,0 +1,174 @@ + + + + + + + + + + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + + + + + " + " + + + + ' + ' + + + = + + + + fieldset + a + abbr + acronym + address + applet + area + b + base + basefont + bdo + big + blockquote + body + br + button + caption + center + cite + code + col + colgroup + dd + del + dfn + dir + div + dl + dt + em + fieldset + font + form + frame + frameset + h1 + h2 + h3 + h4 + h5 + h6 + head + hr + html + i + iframe + img + input + ins + isindex + kbd + label + legend + li + link + map + menu + meta + noframes + noscript + object + ol + optgroup + option + p + param + pre + q + s + samp + script + select + small + span + strike + strong + style + sub + sup + table + tbody + td + textarea + tfoot + th + thead + title + tr + tt + u + ul + var + + + + + > + + SRC= + + + + > + + + + > + + diff --git a/extra/xmode/modes/i4gl.xml b/extra/xmode/modes/i4gl.xml new file mode 100644 index 0000000000..0c5064822e --- /dev/null +++ b/extra/xmode/modes/i4gl.xml @@ -0,0 +1,665 @@ + + + + + + + + + + + + + + + + + + + + + + ' + ' + + + + " + " + + + -- + # + + + { + } + + + ) + + ] + [ + . + , + ; + : + = + == + != + >= + <= + <> + > + < + + + - + / + * + || + + + ( + ) + + + + + + ABORT + ABS + ABSOLUTE + ACCEPT + ACCESS + ACOS + ADA + ADD + AFTER + ALL + ALLOCATE + ALTER + AND + ANSI + ANY + APPEND + ARG_VAL + ARRAY + ARR_COUNT + ARR_CURR + AS + ASC + ASCENDING + ASCII + ASIN + AT + ATAN + ATAN2 + ATTACH + ATTRIBUTE + ATTRIBUTES + AUDIT + AUTHORIZATION + AUTO + AUTONEXT + AVERAGE + AVG + BEFORE + BEGIN + BETWEEN + BLACK + BLINK + BLUE + BOLD + BORDER + BOTH + BOTTOM + BREAK + BUFFERED + BY + BYTE + CALL + CASCADE + CASE + CHAR + CHARACTER + CHARACTER_LENGTH + CHAR_LENGTH + CHECK + CLASS_ORIGIN + CLEAR + CLIPPED + CLOSE + CLUSTER + COBOL + COLOR + COLUMN + COLUMNS + COMMAND + COMMENT + COMMENTS + COMMIT + COMMITTED + COMPOSITES + COMPRESS + CONCURRENT + CONNECT + CONNECTION + CONNECTION_ALIAS + CONSTRAINED + CONSTRAINT + CONSTRAINTS + CONSTRUCT + CONTINUE + CONTROL + COS + COUNT + CREATE + CURRENT + CURSOR + CYAN + DATA + DATABASE + DATASKIP + DATE + DATETIME + DAY + DBA + DBINFO + DBSERVERNAME + DEALLOCATE + DEBUG + DEC + DECIMAL + DECLARE + DEFAULT + DEFAULTS + DEFER + DEFERRED + DEFINE + DELETE + DELIMITER + DELIMITERS + DESC + DESCENDING + DESCRIBE + DESCRIPTOR + DETACH + DIAGNOSTICS + DIM + DIRTY + DISABLED + DISCONNECT + DISPLAY + DISTINCT + DISTRIBUTIONS + DO + DORMANT + DOUBLE + DOWN + DOWNSHIFT + DROP + EACH + ELIF + ELSE + ENABLED + END + ENTRY + ERROR + ERRORLOG + ERR_GET + ERR_PRINT + ERR_QUIT + ESC + ESCAPE + EVERY + EXCEPTION + EXCLUSIVE + EXEC + EXECUTE + EXISTS + EXIT + EXP + EXPLAIN + EXPRESSION + EXTEND + EXTENT + EXTERN + EXTERNAL + F1 + F10 + F11 + F12 + F13 + F14 + F15 + F16 + F17 + F18 + F19 + F2 + F20 + F21 + F22 + F23 + F24 + F25 + F26 + F27 + F28 + F29 + F3 + F30 + F31 + F32 + F33 + F34 + F35 + F36 + F37 + F38 + F39 + F4 + F40 + F41 + F42 + F43 + F44 + F45 + F46 + F47 + F48 + F49 + F5 + F50 + F51 + F52 + F53 + F54 + F55 + F56 + F57 + F58 + F59 + F6 + F60 + F61 + F62 + F63 + F64 + F7 + F8 + F9 + FALSE + FETCH + FGL_GETENV + FGL_KEYVAL + FGL_LASTKEY + FIELD + FIELD_TOUCHED + FILE + FILLFACTOR + FILTERING + FINISH + FIRST + FLOAT + FLUSH + FOR + FOREACH + FOREIGN + FORM + FORMAT + FORMONLY + FORTRAN + FOUND + FRACTION + FRAGMENT + FREE + FROM + FUNCTION + GET_FLDBUF + GLOBAL + GLOBALS + GO + GOTO + GRANT + GREEN + GROUP + HAVING + HEADER + HELP + HEX + HIDE + HIGH + HOLD + HOUR + IDATA + IF + ILENGTH + IMMEDIATE + IN + INCLUDE + INDEX + INDEXES + INDICATOR + INFIELD + INIT + INITIALIZE + INPUT + INSERT + INSTRUCTIONS + INT + INTEGER + INTERRUPT + INTERVAL + INTO + INT_FLAG + INVISIBLE + IS + ISAM + ISOLATION + ITYPE + KEY + LABEL + LANGUAGE + LAST + LEADING + LEFT + LENGTH + LET + LIKE + LINE + LINENO + LINES + LOAD + LOCATE + LOCK + LOG + LOG10 + LOGN + LONG + LOW + MAGENTA + MAIN + MARGIN + MATCHES + MAX + MDY + MEDIUM + MEMORY + MENU + MESSAGE + MESSAGE_LENGTH + MESSAGE_TEXT + MIN + MINUTE + MOD + MODE + MODIFY + MODULE + MONEY + MONTH + MORE + NAME + NCHAR + NEED + NEW + NEXT + NEXTPAGE + NO + NOCR + NOENTRY + NONE + NORMAL + NOT + NOTFOUND + NULL + NULLABLE + NUMBER + NUMERIC + NUM_ARGS + NVARCHAR + OCTET_LENGTH + OF + OFF + OLD + ON + ONLY + OPEN + OPTIMIZATION + OPTION + OPTIONS + OR + ORDER + OTHERWISE + OUTER + OUTPUT + PAGE + PAGENO + PASCAL + PAUSE + PDQPRIORITY + PERCENT + PICTURE + PIPE + PLI + POW + PRECISION + PREPARE + PREVIOUS + PREVPAGE + PRIMARY + PRINT + PRINTER + PRIOR + PRIVATE + PRIVILEGES + PROCEDURE + PROGRAM + PROMPT + PUBLIC + PUT + QUIT + QUIT_FLAG + RAISE + RANGE + READ + READONLY + REAL + RECORD + RECOVER + RED + REFERENCES + REFERENCING + REGISTER + RELATIVE + REMAINDER + REMOVE + RENAME + REOPTIMIZATION + REPEATABLE + REPORT + REQUIRED + RESOLUTION + RESOURCE + RESTRICT + RESUME + RETURN + RETURNED_SQLSTATE + RETURNING + REVERSE + REVOKE + RIGHT + ROBIN + ROLE + ROLLBACK + ROLLFORWARD + ROOT + ROUND + ROW + ROWID + ROWIDS + ROWS + ROW_COUNT + RUN + SCALE + SCHEMA + SCREEN + SCROLL + SCR_LINE + SECOND + SECTION + SELECT + SERIAL + SERIALIZABLE + SERVER_NAME + SESSION + SET + SET_COUNT + SHARE + SHORT + SHOW + SITENAME + SIZE + SIZEOF + SKIP + SLEEP + SMALLFLOAT + SMALLINT + SOME + SPACE + SPACES + SQL + SQLAWARN + SQLCA + SQLCODE + SQLERRD + SQLERRM + SQLERROR + SQLERRP + SQLSTATE + SQLWARNING + SQRT + STABILITY + START + STARTLOG + STATIC + STATISTICS + STATUS + STDEV + STEP + STOP + STRING + STRUCT + SUBCLASS_ORIGIN + SUM + SWITCH + SYNONYM + SYSTEM + SysBlobs + SysChecks + SysColAuth + SysColDepend + SysColumns + SysConstraints + SysDefaults + SysDepend + SysDistrib + SysFragAuth + SysFragments + SysIndexes + SysObjState + SysOpClstr + SysProcAuth + SysProcBody + SysProcPlan + SysProcedures + SysReferences + SysRoleAuth + SysSynTable + SysSynonyms + SysTabAuth + SysTables + SysTrigBody + SysTriggers + SysUsers + SysViews + SysViolations + TAB + TABLE + TABLES + TAN + TEMP + TEXT + THEN + THROUGH + THRU + TIME + TO + TODAY + TOP + TOTAL + TRACE + TRAILER + TRAILING + TRANSACTION + TRIGGER + TRIGGERS + TRIM + TRUE + TRUNC + TYPE + TYPEDEF + UNCOMMITTED + UNCONSTRAINED + UNDERLINE + UNION + UNIQUE + UNITS + UNLOAD + UNLOCK + UNSIGNED + UP + UPDATE + UPSHIFT + USER + USING + VALIDATE + VALUE + VALUES + VARCHAR + VARIABLES + VARIANCE + VARYING + VERIFY + VIEW + VIOLATIONS + WAIT + WAITING + WARNING + WEEKDAY + WHEN + WHENEVER + WHERE + WHILE + WHITE + WINDOW + WITH + WITHOUT + WORDWRAP + WORK + WRAP + WRITE + YEAR + YELLOW + ZEROFILL + + + + FALSE + NULL + TRUE + + + + + diff --git a/extra/xmode/modes/icon.xml b/extra/xmode/modes/icon.xml new file mode 100644 index 0000000000..892609b841 --- /dev/null +++ b/extra/xmode/modes/icon.xml @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + # + + + + " + " + + + + + ' + ' + + + ~=== + === + ||| + + + >>= + >> + <<= + << + ~== + == + || + + + ++ + ** + -- + + <-> + <- + op:= + <= + < + >= + > + ~= + :=: + := + -: + +: + + ~ + : + ! + | + & + not + * + ? + @ + + + + ^ + % + - + + + = + / + + + ( + ) + + + by + case + create + default + do + else + every + if + initial + next + of + repeat + then + to + until + while + + break + end + fail + global + invocable + link + local + procedure + record + return + static + suspend + + &allocated + &ascii + &clock + &collections + &cset + &current + &date + &dateline + &digits + &dump + &e + &error + &errornumber + &errortext + &errorvalue + &errout + &fail + &features + &file + &host + &input + &lcase + &letters + &level + &line + &main + &null + &output + &phi + &pi + &pos + &progname + &random + &regions + &source + &storage + &subject + &time + &trace + &ucase + &version + + + $define + $else + $endif + $error + $ifdef + $ifndef + $include + $line + $undef + + + _MACINTOSH + _MS_WINDOWS_NT + _MS_WINDOWS + _MSDOS_386 + _MSDOS + _OS2 + _PIPES + _PRESENTATION_MGR + _SYSTEM_FUNCTION + _UNIX + _VMS + _WINDOW_FUNCTIONS + _X_WINDOW_SYSTEM + + co-expression + cset + file + integer + list + null + real + set + string + table + window + + + + diff --git a/extra/xmode/modes/idl.xml b/extra/xmode/modes/idl.xml new file mode 100644 index 0000000000..65b7fc535c --- /dev/null +++ b/extra/xmode/modes/idl.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + // + + + + + } + { + : + + + ( + ) + + + any + attribute + boolean + case + char + const + context + default + double + enum + exception + FALSE + fixed + float + in + inout + interface + long + module + Object + octet + oneway + out + raises + readonly + sequence + short + string + struct + switch + TRUE + typedef + unsigned + union + void + wchar + wstring + + + diff --git a/extra/xmode/modes/inform.xml b/extra/xmode/modes/inform.xml new file mode 100644 index 0000000000..fdd7153f6b --- /dev/null +++ b/extra/xmode/modes/inform.xml @@ -0,0 +1,205 @@ + + + + + + + + + + + + + + + + + + + + + + + ! + + + + " + " + + + ' + ' + + + + # + ! + + + = + == + >= + <= + ~= + + + - + $ + / + * + > + < + % + & + | + ^ + ~ + } + { + ] + [ + + .& + .# + --> + + + ( + ) + :: + + : + + + + has + hasnt + in + notin + ofclass + provides + or + + + char + string + address + name + a + an + the + The + property + object + + + break + continue + do + until + for + give + if + else + inversion + jump + move + to + objectloop + remove + return + rfalse + rtrue + string + switch + while + + + with + + + + new_line + print + print_ret + box + font + on + off + quit + read + restore + save + spaces + style + roman + bold + underline + reverse + fixed + score + time + + + Abbreviate + Array + Attribute + Class + Constant + Default + End + Endif + Extend + Global + Ifdef + Ifndef + Ifnot + Iftrue + Iffalse + Import + Include + Link + Lowstring + Message + Object + Property + Replace + Serial + Switches + Statusline + System_file + Verb + private + + false + true + null + super + self + + this + + + + ^ + ~ + @ + \ + + + @@ + + diff --git a/extra/xmode/modes/ini.xml b/extra/xmode/modes/ini.xml new file mode 100644 index 0000000000..71c50b653d --- /dev/null +++ b/extra/xmode/modes/ini.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + [ + ] + + ; + # + + = + + diff --git a/extra/xmode/modes/inno-setup.xml b/extra/xmode/modes/inno-setup.xml new file mode 100644 index 0000000000..d40575eac4 --- /dev/null +++ b/extra/xmode/modes/inno-setup.xml @@ -0,0 +1,406 @@ + + + + + + + + + + + [code] + + [Setup] + [Types] + [Components] + [Tasks] + [Dirs] + [Files] + [Icons] + [INI] + [InstallDelete] + [Languages] + [Messages] + [CustomMessages] + [LangOptions] + [Registry] + [Run] + [UninstallRun] + [UninstallDelete] + + + #define + #dim + #undef + #include + #emit + #expr + #insert + #append + #if + #elif + #else + #endif + #ifexist + #ifnexist + #ifdef + #for + #sub + #endsub + #pragma + #error + + {# + } + + + % + + + " + " + + + ' + ' + + + + { + } + + + ; + # + + + + + + + Compression + DiskClusterSize + DiskSliceSize + DiskSpanning + Encryption + InternalCompressLevel + MergeDuplicateFiles + OutputBaseFilename + OutputDir + ReserveBytes + SlicesPerDisk + SolidCompression + SourceDir + UseSetupLdr + VersionInfoCompany + VersionInfoDescription + VersionInfoTextVersion + VersionInfoVersion + + AllowCancelDuringInstall + AllowNoIcons + AllowRootDirectory + AllowUNCPath + AlwaysRestart + AlwaysShowComponentsList + AlwaysShowDirOnReadyPage + AlwaysShowGroupOnReadyPage + AlwaysUsePersonalGroup + AppendDefaultDirName + AppendDefaultGroupName + AppComments + AppContact + AppId + AppModifyPath + AppMutex + AppName + AppPublisher + AppPublisherURL + AppReadmeFile + AppSupportURL + AppUpdatesURL + AppVersion + AppVerName + ChangesAssociations + CreateAppDir + CreateUninstallRegKey + DefaultDirName + DefaultGroupName + DefaultUserInfoName + DefaultUserInfoOrg + DefaultUserInfoSerial + DirExistsWarning + DisableDirPage + DisableFinishedPage + DisableProgramGroupPage + DisableReadyMemo + DisableReadyPage + DisableStartupPrompt + EnableDirDoesntExistWarning + ExtraDiskSpaceRequired + InfoAfterFile + InfoBeforeFile + LanguageDetectionMethod + LicenseFile + MinVersion + OnlyBelowVersion + Password + PrivilegesRequired + RestartIfNeededByRun + ShowLanguageDialog + TimeStampRounding + TimeStampsInUTC + TouchDate + TouchTime + Uninstallable + UninstallDisplayIcon + UninstallDisplayName + UninstallFilesDir + UninstallLogMode + UninstallRestartComputer + UpdateUninstallLogAppName + UsePreviousAppDir + UsePreviousGroup + UsePreviousSetupType + UsePreviousTasks + UsePreviousUserInfo + UserInfoPage + + AppCopyright + BackColor + BackColor2 + BackColorDirection + BackSolid + FlatComponentsList + SetupIconFile + ShowComponentSizes + ShowTasksTreeLines + UninstallStyle + WindowShowCaption + WindowStartMaximized + WindowResizable + WindowVisible + WizardImageBackColor + WizardImageFile + WizardImageStretch + WizardSmallImageBackColor + WizardSmallImageFile + UninstallIconFile + + + AfterInstall + Attribs + BeforeInstall + Check + Comment + Components + CopyMode + Description + DestDir + DestName + Excludes + ExtraDiskSpaceRequired + Filename + Flags + FontInstall + GroupDescription + HotKey + IconFilename + IconIndex + InfoBeforeFile + InfoAfterFile + Key + + MessagesFile + Name + Parameters + Permissions + Root + RunOnceId + Section + Source + StatusMsg + String + Subkey + Tasks + Type + Types + ValueType + ValueName + ValueData + WorkingDir + + + allowunsafefiles + checkedonce + closeonexit + compact + comparetimestamp + confirmoverwrite + createkeyifdoesntexist + createonlyiffileexists + createvalueifdoesntexist + deleteafterinstall + deletekey + deletevalue + desktopicon + dirifempty + disablenouninstallwarning + dontcloseonexit + dontcopy + dontcreatekey + dontinheritcheck + dontverifychecksum + exclusive + external + files + filesandordirs + fixed + fontisnttruetype + full + ignoreversion + iscustom + isreadme + hidden + hidewizard + modify + nocompression + noencryption + noerror + noregerror + nowait + onlyifdestfileexists + onlyifdoesntexist + overwritereadonly + postinstall + preservestringtype + promptifolder + quicklaunchicon + read + readonly + readexec + recursesubdirs + regserver + regtypelib + replacesameversion + restart + restartreplace + runhidden + runmaximized + runminimized + sharedfile + shellexec + skipifnotsilent + skipifsilent + skipifdoesntexist + skipifsourcedoesntexist + sortfilesbyextension + system + touch + unchecked + uninsalwaysuninstall + uninsclearvalue + uninsdeleteentry + uninsdeletekey + uninsdeletekeyifempty + uninsdeletesection + uninsdeletesectionifempty + uninsdeletevalue + uninsneveruninstall + uninsremovereadonly + uninsrestartdelete + useapppaths + waituntilidle + + + HKCR + HKCU + HKLM + HKU + HKCC + + + none + string + expandsz + multisz + dword + binary + + + + + + + {# + } + + + + { + } + + + + + code: + | + + + + + ; + + + /* + */ + + + + " + " + + + + + Defined + TypeOf + GetFileVersion + GetStringFileInfo + Int + Str + FileExists + FileSize + ReadIni + WriteIni + ReadReg + Exec + Copy + Pos + RPos + Len + SaveToFile + Find + SetupSetting + SetSetupSetting + LowerCase + EntryCount + GetEnv + DeleteFile + CopyFile + FindFirst + FindNext + FindClose + FindGetFileName + FileOpen + FileRead + FileReset + FileEof + FileClose + + + + diff --git a/extra/xmode/modes/interlis.xml b/extra/xmode/modes/interlis.xml new file mode 100644 index 0000000000..28960bfe41 --- /dev/null +++ b/extra/xmode/modes/interlis.xml @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + /* + */ + + + !! + + + " + " + + + + + // + // + + + + -> + <- + .. + . + , + = + ; + : + * + [ + ] + ( + ) + > + + != + # + % + ( + ) + * + , + -- + -<#> + -<> + -> + . + .. + / + : + := + ; + < + <= + <> + = + == + > + >= + [ + \ + ] + { + } + ~ + + + + ANY + ARCS + AREA + BASE + BLANK + CODE + CONTINUE + CONTOUR + COORD2 + COORD3 + DATE + DEFAULT + DEGREES + DERIVATIVES + DIM1 + DIM2 + DOMAIN + END + FIX + FONT + FORMAT + FREE + GRADS + HALIGNMENT + I16 + I32 + IDENT + LINEATTR + LINESIZE + MODEL + NO + OPTIONAL + OVERLAPS + PERIPHERY + POLYLINE + RADIANS + STRAIGHTS + SURFACE + TABLE + TEXT + TID + TIDSIZE + TOPIC + TRANSFER + UNDEFINED + VALIGNMENT + VERTEX + VERTEXINFO + VIEW + WITH + WITHOUT + + + ABSTRACT + ACCORDING + AGGREGATES + AGGREGATION + ALL + AND + ANY + ANYCLASS + ANYSTRUCTURE + ARCS + AREA + AS + ASSOCIATION + AT + ATTRIBUTE + ATTRIBUTES + BAG + BASE + BASED + BASKET + BINARY + BLACKBOX + BOOLEAN + BY + CARDINALITY + CIRCULAR + CLASS + CLOCKWISE + CONSTRAINT + CONSTRAINTS + CONTINUE + CONTINUOUS + CONTRACTED + COORD + COUNTERCLOCKWISE + DEFINED + DEPENDS + DERIVED + DIRECTED + DOMAIN + END + ENUMTREEVAL + ENUMVAL + EQUAL + EXISTENCE + EXTENDED + EXTENDS + EXTERNAL + FINAL + FIRST + FORM + FROM + FUNCTION + GRAPHIC + HALIGNMENT + HIDING + IMPORTS + IN + INHERITANCE + INSPECTION + INTERLIS + JOIN + LAST + LINE + LIST + LNBASE + LOCAL + MANDATORY + METAOBJECT + MODEL + MTEXT + NAME + NOT + NO + NULL + NUMERIC + OBJECT + OF + OID + ON + OR + ORDERED + OTHERS + OVERLAPS + PARAMETER + PARENT + PI + POLYLINE + PROJECTION + REFERENCE + REFSYSTEM + REQUIRED + RESTRICTED + ROTATION + SET + SIGN + STRAIGHTS + STRUCTURE + SUBDIVISION + SURFACE + SYMBOLOGY + TEXT + THATAREA + THIS + THISAREA + TO + TOPIC + TRANSIENT + TRANSLATION + TYPE + UNDEFINED + UNION + UNIQUE + UNIT + UNQUALIFIED + URI + VALIGNMENT + VERSION + VERTEX + VIEW + WHEN + WHERE + WITH + WITHOUT + + + + diff --git a/extra/xmode/modes/io.xml b/extra/xmode/modes/io.xml new file mode 100644 index 0000000000..2ac4ffe61c --- /dev/null +++ b/extra/xmode/modes/io.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + + + + // + + /* + */ + + + + + + + " + " + + + + + """ + """ + + + + + ` + ~ + @ + @@ + $ + % + ^ + & + * + - + + + / + = + { + } + [ + ] + | + \ + >= + <= + ? + + + + + + + Block + Buffer + CFunction + Date + Duration + File + Future + List + LinkedList + Map + Nop + Message + Nil + Number + Object + String + WeakLink + + + block + method + + + while + foreach + if + else + do + + + super + self + clone + proto + setSlot + hasSlot + type + write + print + forward + + + + + + + + diff --git a/extra/xmode/modes/java.xml b/extra/xmode/modes/java.xml new file mode 100644 index 0000000000..d350cdc2d1 --- /dev/null +++ b/extra/xmode/modes/java.xml @@ -0,0 +1,273 @@ + + + + + + + + + + + + + + + + + + + + + + + + /**/ + + + + /** + */ + + + + + /* + */ + + + + " + " + + + ' + ' + + + // + + = + ! + >= + <= + + + - + / + + + .* + + * + > + < + % + & + | + ^ + ~ + } + { + : + + + ( + ) + + + @ + + + abstract + break + case + catch + continue + default + do + else + extends + final + finally + for + if + implements + instanceof + native + new + private + protected + public + return + static + switch + synchronized + throw + throws + transient + try + volatile + while + + package + import + + boolean + byte + char + class + double + float + int + interface + long + short + void + + assert + strictfp + + + false + null + super + this + true + + goto + const + + + enum + + + + + + + * + + + + + + + + <!-- + --> + + + + << + <= + < + + + + < + > + + + + + + + + \{@(link|linkplain|docRoot|code|literal)\s + } + + + + + @version\s+\$ + $ + + + + + @(?:param|throws|exception|serialField)(\s) + $1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @category + @example + @exclude + @index + @internal + @obsolete + @threadsafety + @tutorial + @todo + + + @access + @beaninfo + @bon + @bug + @complexity + @design + @ensures + @equivalent + @generates + @guard + @hides + @history + @idea + @invariant + @modifies + @overrides + @post + @pre + @references + @requires + @review + @spec + @uses + @values + + + + + + diff --git a/extra/xmode/modes/javacc.xml b/extra/xmode/modes/javacc.xml new file mode 100644 index 0000000000..d3172d2a7d --- /dev/null +++ b/extra/xmode/modes/javacc.xml @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + EOF + IGNORE_CASE + JAVACODE + LOOKAHEAD + MORE + PARSER_BEGIN + PARSER_END + SKIP + SPECIAL_TOKEN + TOKEN + TOKEN_MGR_DECLS + options + + + diff --git a/extra/xmode/modes/javascript.xml b/extra/xmode/modes/javascript.xml new file mode 100644 index 0000000000..e898fa1aeb --- /dev/null +++ b/extra/xmode/modes/javascript.xml @@ -0,0 +1,572 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + /* + */ + + + + " + " + + + + ' + ' + + + + [A-Za-z_][\w_-]*\s*\( + ) + + + + + ( + ) + + + //--> + // + + <!-- + + = + ! + >= + <= + + + - + / + * + > + < + % + & + | + ^ + ~ + . + } + { + , + ; + ] + [ + ? + : + : + + + + break + continue + delete + else + for + function + if + in + new + return + this + typeof + var + void + while + with + + + + abstract + boolean + byte + case + catch + char + class + const + debugger + default + + do + double + enum + export + extends + final + finally + float + goto + implements + + import + instanceof + int + interface + long + native + package + private + protected + public + + short + static + super + switch + synchronized + throw + throws + transient + try + volatile + + + Array + Boolean + Date + Function + Global + Math + Number + Object + RegExp + String + + + false + null + true + + NaN + Infinity + + + eval + parseInt + parseFloat + escape + unescape + isNaN + isFinite + + + + + + + adOpenForwardOnly + adOpenKeyset + adOpenDynamic + adOpenStatic + + + + + adLockReadOnly + adLockPessimistic + adLockOptimistic + adLockBatchOptimistic + + + adRunAsync + adAsyncExecute + adAsyncFetch + adAsyncFetchNonBlocking + adExecuteNoRecords + + + + + adStateClosed + adStateOpen + adStateConnecting + adStateExecuting + adStateFetching + + + adUseServer + adUseClient + + + adEmpty + adTinyInt + adSmallInt + adInteger + adBigInt + adUnsignedTinyInt + adUnsignedSmallInt + adUnsignedInt + adUnsignedBigInt + adSingle + adDouble + adCurrency + adDecimal + adNumeric + adBoolean + adError + adUserDefined + adVariant + adIDispatch + adIUnknown + adGUID + adDate + adDBDate + adDBTime + adDBTimeStamp + adBSTR + adChar + adVarChar + adLongVarChar + adWChar + adVarWChar + adLongVarWChar + adBinary + adVarBinary + adLongVarBinary + adChapter + adFileTime + adDBFileTime + adPropVariant + adVarNumeric + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + adPersistADTG + adPersistXML + + + + + + + + + + + + + + + + + adParamSigned + adParamNullable + adParamLong + + + adParamUnknown + adParamInput + adParamOutput + adParamInputOutput + adParamReturnValue + + + adCmdUnknown + adCmdText + adCmdTable + adCmdStoredProc + adCmdFile + adCmdTableDirect + + + + + + + + + + + + + + + + + + + + + + + + ( + ) + + + + + + diff --git a/extra/xmode/modes/jcl.xml b/extra/xmode/modes/jcl.xml new file mode 100644 index 0000000000..b7f0ed5893 --- /dev/null +++ b/extra/xmode/modes/jcl.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + //* + + + ' + ' + + + += +< +> +& +| +, + + + COMMAND + CNTL + DD + ENCNTL + EXEC + IF + THEN + ELSE + ENDIF + INCLUDE + JCLIB + JOB + MSG + OUTPUT + PEND + PROC + SET + XMIT + + + + diff --git a/extra/xmode/modes/jhtml.xml b/extra/xmode/modes/jhtml.xml new file mode 100644 index 0000000000..5a15907f3b --- /dev/null +++ b/extra/xmode/modes/jhtml.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + <!--# + --> + + + + + <!-- + --> + + + + + ` + ` + + + + + <java> + </java> + + + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + + + + + <!-- + --> + + + + " + " + + + + ' + ' + + + / + + + importbean + droplet + param + oparam + valueof + setvalue + servlet + bean + submitvalue + declareparam + synchronized + priority + + + converter + date + number + required + nullable + currency + currencyConversion + euro + locale + symbol + + + + + + + + + + ` + ` + + + + param: + bean: + + + diff --git a/extra/xmode/modes/jmk.xml b/extra/xmode/modes/jmk.xml new file mode 100644 index 0000000000..64ffc04aee --- /dev/null +++ b/extra/xmode/modes/jmk.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + # + + + + " + " + + + ' + ' + + + + { + } + ( + ) + - + = + + + cat + copy + create + delall + delete + dirs + equal + else + end + exec + first + forname + function + getprop + glob + if + join + load + mkdir + mkdirs + note + patsubst + rename + rest + subst + then + @ + ? + < + % + include + + + diff --git a/extra/xmode/modes/jsp.xml b/extra/xmode/modes/jsp.xml new file mode 100644 index 0000000000..31bf48b3f2 --- /dev/null +++ b/extra/xmode/modes/jsp.xml @@ -0,0 +1,257 @@ + + + + + + + + + + + + + <%-- + --%> + + + + + <%@ + %> + + + <jsp:directive> + </jsp:directive> + + + + + <%= + %> + + + <jsp:expression> + </jsp:expression> + + + + + + <%! + %> + + + <jsp:declaration> + </jsp:declaration> + + + + + <% + %> + + + <jsp:scriptlet> + </jsp:scriptlet> + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + < + > + + + + + & + ; + + + + ${ + } + + + + + + + <%-- + --%> + + + + + <%= + %> + + + + + <% + %> + + + + + + <%= + %> + + + + " + " + + + + ' + ' + + + / + : + : + + + taglib + include + page + tag + tagAttribute + tagVariable + + language + session + contentType + charset + import + buffer + autoflush + isThreadSafe + info + errorPage + isErrorpage + extends + file + uri + prefix + method + name + default + required + rtexprvalue + id + type + scope + + + + + + + <%-- + --%> + + + + + <%= + %> + + + + style=' + ' + + + + style=" + " + + + + " + " + + + + ' + ' + + + / + : + : + + + + + + + <%= + %> + + + ${ + } + + + + + + + + <%= + %> + + + ${ + } + + javascript: + + + + + + + <%= + %> + + + ${ + } + + + + + + : + + + + \ No newline at end of file diff --git a/extra/xmode/modes/latex.xml b/extra/xmode/modes/latex.xml new file mode 100644 index 0000000000..b32ba9c166 --- /dev/null +++ b/extra/xmode/modes/latex.xml @@ -0,0 +1,2361 @@ + + + + + + + + + + + + + + + + + + + __NormalMode__ + + + % + + + ``'' + `' + "" + + " + ` + + + #1 + #2 + #3 + #4 + #5 + #6 + #7 + #8 + #9 + + + + \begin{verbatim} + \end{verbatim} + + + \tabs + \tabset + \tabsdone + \cleartabs + \settabs + \tabalign + \+ + \pageno + \headline + \footline + \normalbottom + \folio + \nopagenumbers + \advancepageno + \pagebody + \plainoutput + \pagecontents + \makeheadline + \makefootline + \dosupereject + \footstrut + \vfootnote + \topins + \topinsert + \midinsert + \pageinsert + \endinsert + \fivei + \fiverm + \fivesy + \fivebf + \seveni + \sevenbf + \sevensy + \teni + \oldstyle + \eqalign + \eqalignno + \leqalignno + $$ + \beginsection + \bye + \magnification + # + & + _ + \~ + + $$ + \(\) + \[\] + \begin{math}\end{math} + \begin{displaymath}\end{displaymath} + \begin{equation}\end{equation} + \ensuremath{} + \begin{eqnarray}\end{eqnarray} + \begin{eqnarray*}\end{eqnarray*} + \begin{tabular}\end{tabular} + \begin{tabular*}\end{tabular*} + \begin{tabbing}\end{tabbing} + \begin{picture}\end{picture} + ~ + } + { + totalnumber + topnumber + tocdepth + secnumdepth + dbltopnumber + ] + \~{ + \~ + \} + \| + \{ + \width + \whiledo{ + \v{ + \vspace{ + \vspace*{ + \vfill + \verb* + \verb + \value{ + \v + \u{ + \usepackage{ + \usepackage[ + \usecounter{ + \usebox{ + \upshape + \unboldmath{ + \u + \t{ + \typeout{ + \typein{ + \typein[ + \twocolumn[ + \twocolumn + \ttfamily + \totalheight + \topsep + \topfraction + \today + \title{ + \tiny + \thispagestyle{ + \thinlines + \thicklines + \thanks{ + \textwidth + \textup{ + \texttt{ + \textsl{ + \textsf{ + \textsc{ + \textrm{ + \textnormal{ + \textmd{ + \textit{ + \textfraction + \textfloatsep + \textcolor{ + \textbf{ + \tableofcontents + \tabcolsep + \tabbingsep + \t + \symbol{ + \suppressfloats[ + \suppressfloats + \subsubsection{ + \subsubsection[ + \subsubsection*{ + \subsection{ + \subsection[ + \subsection*{ + \subparagraph{ + \subparagraph[ + \subparagraph*{ + \stretch{ + \stepcounter{ + \smallskip + \small + \slshape + \sloppy + \sffamily + \settowidth{ + \settoheight{ + \settodepth{ + \setlength{ + \setcounter{ + \section{ + \section[ + \section*{ + \scshape + \scriptsize + \scalebox{ + \sbox{ + \savebox{ + \rule{ + \rule[ + \rp,am{ + \rotatebox{ + \rmfamily + \rightmargin + \reversemarginpar + \resizebox{ + \resizebox*{ + \renewenvironment{ + \renewcommand{ + \ref{ + \refstepcounter + \raisebox{ + \raggedright + \raggedleft + \qbeziermax + \providecommand{ + \protect + \printindex + \pounds + \part{ + \partopsep + \part[ + \part*{ + \parskip + \parsep + \parindent + \parbox{ + \parbox[ + \paragraph{ + \paragraph[ + \paragraph*{ + \par + \pagestyle{ + \pageref{ + \pagenumbering{ + \pagecolor{ + \pagebreak[ + \pagebreak + \onecolumn + \normalsize + \normalmarginpar + \normalfont + \nopagebreak[ + \nopagebreak + \nonfrenchspacing + \nolinebreak[ + \nolinebreak + \noindent + \nocite{ + \newtheorem{ + \newsavebox{ + \newpage + \newlength{ + \newenvironment{ + \newcounter{ + \newcommand{ + \medskip + \mdseries + \mbox{ + \mbox{ + \mathindent + \mathindent + \markright{ + \markboth{ + \marginpar{ + \marginparwidth + \marginparsep + \marginparpush + \marginpar[ + \maketitle + \makelabel + \makeindex + \makeglossary + \makebox{ + \makebox[ + \listparindent + \listoftables + \listoffigures + \listfiles + \linewidth + \linethickness{ + \linebreak[ + \linebreak + \lengthtest{ + \leftmarginvi + \leftmarginv + \leftmarginiv + \leftmarginiii + \leftmarginii + \leftmargini + \leftmargin + \large + \label{ + \labelwidth + \labelsep + \jot + \itshape + \itemsep + \itemindent + \item[ + \item + \isodd{ + \intextsep + \input{ + \index{ + \indent + \include{ + \includeonly{ + \includegraphics{ + \includegraphics[ + \includegraphics*{ + \includegraphics*[ + \ifthenelse{ + \hyphenation{ + \huge + \hspace{ + \hspace*{ + \hfill + \height + \glossary{ + \fussy + \frenchspacing + \framebox{ + \framebox[ + \fragile + \footnote{ + \footnotetext{ + \footnotetext[ + \footnotesize + \footnotesep + \footnoterule + \footnotemark[ + \footnotemark + \footnote[ + \fnsymbol{ + \floatsep + \floatpagefraction + \fill + \fcolorbox{ + \fbox{ + \fboxsep + \fboxrule + \equal{ + \ensuremath{ + \enlargethispage{ + \enlargethispage*{ + \end{ + \emph{ + \d{ + \doublerulesep + \documentclass{ + \documentclass[ + \depth + \definecolor{ + \ddag + \dbltopfraction + \dbltextfloatsep + \dblfloatsep + \dblfloatpagefraction + \date{ + \dag + \d + \c{ + \copyright + \columnwidth + \columnseprule + \columnsep + \color{ + \colorbox{ + \clearpage + \cleardoublepage + \cite{ + \cite[ + \chapter{ + \chapter[ + \chapter*{ + \centering + \caption{ + \caption[ + \c + \b{ + \bottomnumber + \bottomfraction + \boolean{ + \boldmath{ + \bigskip + \bibliography{ + \bibliographystyle{ + \bibindent + \bfseries + \belowdisplayskip + \belowdisplayshortskip + \begin{ + \baselinestretch + \baselineskip + \b + \author{ + \arraystgretch + \arrayrulewidth + \arraycolsep + \arabic{ + \appendix + \alph{ + \addvspace{ + \addtolength{ + \addtocounter{ + \addtocontents{ + \addcontentsline{ + \abovedisplayskip + \abovedisplayshortskip + \`{ + \` + \_ + \^{ + \^ + \\[ + \\*[ + \\* + \\ + \TeX + \S + \Roman{ + \P + \Large + \LaTeX + \LARGE + \H{ + \Huge + \H + \Alph{ + \@ + \={ + \= + \.{ + \. + \- + \, + \'{ + \' + \& + \% + \$ + \# + \"{ + \" + \ + [ + --- + -- + - + + \ + + + + + __MathMode__ + + + % + } + { + _ + ^ + \zeta + \xi + \wr + \wp + \widetilde{ + \widehat{ + \wedge + \veebar + \vee + \vec{ + \vdots + \vdash + \vartriangleright + \vartriangleleft + \vartriangle + \vartheta + \varsupsetneqq + \varsupsetneq + \varsubsetneqq + \varsubsetneq + \varsigma + \varrho + \varpropto + \varpi + \varphi + \varnothing + \varkappa + \varepsilon + \vDash + \urcorner + \upuparrows + \upsilon + \uplus + \upharpoonright + \upharpoonleft + \updownarrow + \uparrow + \ulcorner + \twoheadrightarrow + \twoheadleftarrow + \trianglerighteq + \triangleright + \triangleq + \trianglelefteq + \triangleleft + \triangledown + \triangle + \top + \times + \tilde{ + \thicksim + \thickapprox + \theta + \therefore + \text{ + \textstyle + \tau + \tanh + \tan + \swarrow + \surd + \supsetneqq + \supsetneq + \supseteqq + \supseteq + \supset + \sum + \succsim + \succnsim + \succnapprox + \succeq + \succcurlyeq + \succapprox + \succ + \subsetneqq + \subsetneq + \subseteqq + \subseteq + \subset + \star + \stackrel{ + \square + \sqsupseteq + \sqsupset + \sqsubseteq + \sqsubset + \sqrt{ + \sqcup + \sqcap + \sphericalangle + \spadesuit + \smile + \smallsmile + \smallsetminus + \smallfrown + \sinh + \sin + \simeq + \sim + \sigma + \shortparallel + \shortmid + \sharp + \setminus + \sec + \searrow + \scriptstyle + \scriptscriptstyle + \rtimes + \risingdotseq + \right| + \rightthreetimes + \rightsquigarrow + \rightrightarrows + \rightrightarrows + \rightleftharpoons + \rightleftharpoons + \rightleftarrows + \rightharpoonup + \rightharpoondown + \rightarrowtail + \rightarrow + \right] + \right\| + \right\updownarrow + \right\uparrow + \right\rfloor + \right\rceil + \right\rangle + \right\lfloor + \right\lceil + \right\langle + \right\downarrow + \right\backslash + \right\Updownarrow + \right\Uparrow + \right\Downarrow + \right\) + \right\( + \right[ + \right/ + \right) + \right( + \rho + \psi + \propto + \prod + \prime + \precsim + \precnsim + \precnapprox + \preceq + \preccurlyeq + \precapprox + \prec + \pmod{ + \pmb{ + \pm + \pitchfork + \pi + \phi + \perp + \partial + \parallel + \overline{ + \otimes + \oslash + \oplus + \ominus + \omega + \oint + \odot + \nwarrow + \nvdash + \nvDash + \nvDash + \nu + \ntrianglerighteq + \ntriangleright + \ntrianglelefteq + \ntriangleleft + \nsupseteqq + \nsupseteq + \nsucceq + \nsucc + \nsubseteq + \nsim + \nshortparallel + \nshortmid + \nrightarrow + \npreceq + \nprec + \nparallel + \notin + \nmid + \nless + \nleqslant + \nleqq + \nleq + \nleftrightarrow + \nleftarrow + \ni + \ngtr + \ngeqslant + \ngeqq + \ngeq + \nexists + \neq + \neg + \nearrow + \ncong + \natural + \nabla + \nVDash + \nRightarrow + \nLeftrightarrow + \nLeftarrow + \multimap + \mu + \mp + \models + \min + \mid + \mho + \measuredangle + \max + \mathtt{ + \mathsf{ + \mathrm{~~ + \mathit{ + \mathcal{ + \mathbf{ + \mapsto + \lvertneqq + \ltimes + \lrcorner + \lozenge + \looparrowright + \looparrowleft + \longrightarrow + \longmapsto + \longleftrightarrow + \longleftarrow + \log + \lnsim + \lneqq + \lneq + \lnapprox + \ln + \lll + \llcorner + \ll + \limsup + \liminf + \lim + \lg + \lesssim + \lessgtr + \lesseqqgtr + \lesseqgtr + \lessdot + \lessapprox + \leqslant + \leqq + \leq + \left| + \leftthreetimes + \leftrightsquigarrow + \leftrightharpoons + \leftrightarrows + \leftrightarrow + \leftleftarrows + \leftharpoonup + \leftharpoondown + \lefteqn{ + \leftarrowtail + \leftarrow + \left] + \left\| + \left\updownarrow + \left\uparrow + \left\rfloor + \left\rceil + \left\rangle + \left\lfloor + \left\lceil + \left\langle + \left\downarrow + \left\backslash + \left\Updownarrow + \left\Uparrow + \left\Downarrow + \left\) + \left\( + \left[ + \left/ + \left) + \left( + \ldots + \lambda + \ker + \kappa + \jmath + \jmath + \iota + \intercal + \int + \infty + \inf + \in + \imath + \imath + \hslash + \hookrightarrow + \hookleftarrow + \hom + \heartsuit + \hbar + \hat{ + \gvertneqq + \gtrsim + \gtrless + \gtreqqless + \gtreqless + \gtrdot + \gtrapprox + \grave{ + \gnsim + \gneqq + \gneq + \gnapprox + \gnapprox + \gimel + \ggg + \gg + \geqslant + \geqq + \geq + \gcd + \gamma + \frown + \frak{ + \frac{ + \forall + \flat + \fallingdotseq + \exp + \exists + \eth + \eta + \equiv + \eqslantless + \eqslantgtr + \eqcirc + \epsilon + \ensuremath{ + \end{ + \emptyset + \ell + \downharpoonright + \downharpoonleft + \downdownarrows + \downarrow + \doublebarwedge + \dot{ + \dotplus + \doteqdot + \doteq + \divideontimes + \div + \displaystyle + \dim + \digamma + \diamondsuit + \diamond + \diagup + \diagdown + \det + \delta + \deg + \ddot{ + \ddots + \ddagger + \dashv + \dashrightarrow + \dashleftarrow + \daleth + \dagger + \curvearrowright + \curvearrowleft + \curlywedge + \curlyvee + \curlyeqsucc + \curlyeqprec + \cup + \csc + \coth + \cot + \cosh + \cos + \coprod + \cong + \complement + \clubsuit + \circleddash + \circledcirc + \circledast + \circledS + \circlearrowright + \circlearrowleft + \circeq + \circ + \chi + \check{ + \centerdot + \cdots + \cdot + \cap + \bumpeq + \bullet + \breve{ + \boxtimes + \boxplus + \boxminus + \boxdot + \bowtie + \bot + \boldsymbol{ + \bmod + \blacktriangleright + \blacktriangleleft + \blacktriangledown + \blacktriangle + \blacksquare + \blacklozenge + \bigwedge + \bigvee + \biguplus + \bigtriangleup + \bigtriangledown + \bigstar + \bigsqcup + \bigotimes + \bigoplus + \bigodot + \bigcup + \bigcirc + \bigcap + \between + \beth + \beta + \begin{ + \because + \bar{ + \barwedge + \backslash + \backsimeq + \backsim + \backprime + \asymp + \ast + \arg + \arctan + \arcsin + \arccos + \approxeq + \approx + \angle + \angle + \amalg + \alpha + \aleph + \acute{ + \Xi + \Vvdash + \Vdash + \Upsilon + \Updownarrow + \Uparrow + \Theta + \Supset + \Subset + \Sigma + \Rsh + \Rightarrow + \Re + \Psi + \Pr + \Pi + \Phi + \Omega + \Lsh + \Longrightarrow + \Longleftrightarrow + \Longleftarrow + \Lleftarrow + \Leftrightarrow + \Leftarrow + \Lambda + \Im + \Gamma + \Game + \Finv + \Downarrow + \Delta + \Cup + \Cap + \Bumpeq + \Bbb{ + \Bbbk + \; + \: + \, + \! + ' + + \begin{array}\end{array} + + \ + + + + + __ArrayMode__ + + + % + } + { + _ + ^ + \zeta + \xi + \wr + \wp + \widetilde{ + \widehat{ + \wedge + \vline + \veebar + \vee + \vec{ + \vdots + \vdash + \vartriangleright + \vartriangleleft + \vartriangle + \vartheta + \varsupsetneqq + \varsupsetneq + \varsubsetneqq + \varsubsetneq + \varsigma + \varrho + \varpropto + \varpi + \varphi + \varnothing + \varkappa + \varepsilon + \vDash + \urcorner + \upuparrows + \upsilon + \uplus + \upharpoonright + \upharpoonleft + \updownarrow + \uparrow + \ulcorner + \twoheadrightarrow + \twoheadleftarrow + \trianglerighteq + \triangleright + \triangleq + \trianglelefteq + \triangleleft + \triangledown + \triangle + \top + \times + \tilde{ + \thicksim + \thickapprox + \theta + \therefore + \text{ + \textstyle + \tau + \tanh + \tan + \swarrow + \surd + \supsetneqq + \supsetneq + \supseteqq + \supseteq + \supset + \sum + \succsim + \succnsim + \succnapprox + \succeq + \succcurlyeq + \succapprox + \succ + \subsetneqq + \subsetneq + \subseteqq + \subseteq + \subset + \star + \stackrel{ + \square + \sqsupseteq + \sqsupset + \sqsubseteq + \sqsubset + \sqrt{ + \sqcup + \sqcap + \sphericalangle + \spadesuit + \smile + \smallsmile + \smallsetminus + \smallfrown + \sinh + \sin + \simeq + \sim + \sigma + \shortparallel + \shortmid + \sharp + \setminus + \sec + \searrow + \scriptstyle + \scriptscriptstyle + \rtimes + \risingdotseq + \right| + \rightthreetimes + \rightsquigarrow + \rightrightarrows + \rightrightarrows + \rightleftharpoons + \rightleftharpoons + \rightleftarrows + \rightharpoonup + \rightharpoondown + \rightarrowtail + \rightarrow + \right] + \right\| + \right\updownarrow + \right\uparrow + \right\rfloor + \right\rceil + \right\rangle + \right\lfloor + \right\lceil + \right\langle + \right\downarrow + \right\backslash + \right\Updownarrow + \right\Uparrow + \right\Downarrow + \right\) + \right\( + \right[ + \right/ + \right) + \right( + \rho + \psi + \propto + \prod + \prime + \precsim + \precnsim + \precnapprox + \preceq + \preccurlyeq + \precapprox + \prec + \pmod{ + \pmb{ + \pm + \pitchfork + \pi + \phi + \perp + \partial + \parallel + \overline{ + \otimes + \oslash + \oplus + \ominus + \omega + \oint + \odot + \nwarrow + \nvdash + \nvDash + \nvDash + \nu + \ntrianglerighteq + \ntriangleright + \ntrianglelefteq + \ntriangleleft + \nsupseteqq + \nsupseteq + \nsucceq + \nsucc + \nsubseteq + \nsim + \nshortparallel + \nshortmid + \nrightarrow + \npreceq + \nprec + \nparallel + \notin + \nmid + \nless + \nleqslant + \nleqq + \nleq + \nleftrightarrow + \nleftarrow + \ni + \ngtr + \ngeqslant + \ngeqq + \ngeq + \nexists + \neq + \neg + \nearrow + \ncong + \natural + \nabla + \nVDash + \nRightarrow + \nLeftrightarrow + \nLeftarrow + \multimap + \multicolumn{ + \mu + \mp + \models + \min + \mid + \mho + \measuredangle + \max + \mathtt{ + \mathsf{ + \mathrm{~~ + \mathit{ + \mathcal{ + \mathbf{ + \mapsto + \lvertneqq + \ltimes + \lrcorner + \lozenge + \looparrowright + \looparrowleft + \longrightarrow + \longmapsto + \longleftrightarrow + \longleftarrow + \log + \lnsim + \lneqq + \lneq + \lnapprox + \ln + \lll + \llcorner + \ll + \limsup + \liminf + \lim + \lg + \lesssim + \lessgtr + \lesseqqgtr + \lesseqgtr + \lessdot + \lessapprox + \leqslant + \leqq + \leq + \left| + \leftthreetimes + \leftrightsquigarrow + \leftrightharpoons + \leftrightarrows + \leftrightarrow + \leftleftarrows + \leftharpoonup + \leftharpoondown + \lefteqn{ + \leftarrowtail + \leftarrow + \left] + \left\| + \left\updownarrow + \left\uparrow + \left\rfloor + \left\rceil + \left\rangle + \left\lfloor + \left\lceil + \left\langle + \left\downarrow + \left\backslash + \left\Updownarrow + \left\Uparrow + \left\Downarrow + \left\) + \left\( + \left[ + \left/ + \left) + \left( + \ldots + \lambda + \ker + \kappa + \jmath + \jmath + \iota + \intercal + \int + \infty + \inf + \in + \imath + \imath + \hslash + \hookrightarrow + \hookleftarrow + \hom + \hline + \heartsuit + \hbar + \hat{ + \gvertneqq + \gtrsim + \gtrless + \gtreqqless + \gtreqless + \gtrdot + \gtrapprox + \grave{ + \gnsim + \gneqq + \gneq + \gnapprox + \gnapprox + \gimel + \ggg + \gg + \geqslant + \geqq + \geq + \gcd + \gamma + \frown + \frak{ + \frac{ + \forall + \flat + \fallingdotseq + \exp + \exists + \eth + \eta + \equiv + \eqslantless + \eqslantgtr + \eqcirc + \epsilon + \ensuremath{ + \end{ + \emptyset + \ell + \downharpoonright + \downharpoonleft + \downdownarrows + \downarrow + \doublebarwedge + \dot{ + \dotplus + \doteqdot + \doteq + \divideontimes + \div + \displaystyle + \dim + \digamma + \diamondsuit + \diamond + \diagup + \diagdown + \det + \delta + \deg + \ddot{ + \ddots + \ddagger + \dashv + \dashrightarrow + \dashleftarrow + \daleth + \dagger + \curvearrowright + \curvearrowleft + \curlywedge + \curlyvee + \curlyeqsucc + \curlyeqprec + \cup + \csc + \coth + \cot + \cosh + \cos + \coprod + \cong + \complement + \clubsuit + \cline{ + \circleddash + \circledcirc + \circledast + \circledS + \circlearrowright + \circlearrowleft + \circeq + \circ + \chi + \check{ + \centerdot + \cdots + \cdot + \cap + \bumpeq + \bullet + \breve{ + \boxtimes + \boxplus + \boxminus + \boxdot + \bowtie + \bot + \boldsymbol{ + \bmod + \blacktriangleright + \blacktriangleleft + \blacktriangledown + \blacktriangle + \blacksquare + \blacklozenge + \bigwedge + \bigvee + \biguplus + \bigtriangleup + \bigtriangledown + \bigstar + \bigsqcup + \bigotimes + \bigoplus + \bigodot + \bigcup + \bigcirc + \bigcap + \between + \beth + \beta + \begin{ + \because + \bar{ + \barwedge + \backslash + \backsimeq + \backsim + \backprime + \asymp + \ast + \arg + \arctan + \arcsin + \arccos + \approxeq + \approx + \angle + \angle + \amalg + \alpha + \aleph + \acute{ + \Xi + \Vvdash + \Vdash + \Upsilon + \Updownarrow + \Uparrow + \Theta + \Supset + \Subset + \Sigma + \Rsh + \Rightarrow + \Re + \Psi + \Pr + \Pi + \Phi + \Omega + \Lsh + \Longrightarrow + \Longleftrightarrow + \Longleftarrow + \Lleftarrow + \Leftrightarrow + \Leftarrow + \Lambda + \Im + \Gamma + \Game + \Finv + \Downarrow + \Delta + \Cup + \Cap + \Bumpeq + \Bbb{ + \Bbbk + \; + \: + \, + \! + ' + & + + \ + + + + + __TabularMode__ + + + % + + + ``'' + `' + "" + + " + ` + ~ + } + { + totalnumber + topnumber + tocdepth + secnumdepth + dbltopnumber + ] + \~{ + \~ + \} + \| + \{ + \width + \whiledo{ + \v{ + \vspace{ + \vspace*{ + \vline + \vfill + \verb* + \verb + \value{ + \v + \u{ + \usepackage{ + \usepackage[ + \usecounter{ + \usebox{ + \upshape + \unboldmath{ + \u + \t{ + \typeout{ + \typein{ + \typein[ + \twocolumn[ + \twocolumn + \ttfamily + \totalheight + \topsep + \topfraction + \today + \title{ + \tiny + \thispagestyle{ + \thinlines + \thicklines + \thanks{ + \textwidth + \textup{ + \texttt{ + \textsl{ + \textsf{ + \textsc{ + \textrm{ + \textnormal{ + \textmd{ + \textit{ + \textfraction + \textfloatsep + \textcolor{ + \textbf{ + \tableofcontents + \tabcolsep + \tabbingsep + \t + \symbol{ + \suppressfloats[ + \suppressfloats + \subsubsection{ + \subsubsection[ + \subsubsection*{ + \subsection{ + \subsection[ + \subsection*{ + \subparagraph{ + \subparagraph[ + \subparagraph*{ + \stretch{ + \stepcounter{ + \smallskip + \small + \slshape + \sloppy + \sffamily + \settowidth{ + \settoheight{ + \settodepth{ + \setlength{ + \setcounter{ + \section{ + \section[ + \section*{ + \scshape + \scriptsize + \scalebox{ + \sbox{ + \savebox{ + \rule{ + \rule[ + \rp,am{ + \rotatebox{ + \rmfamily + \rightmargin + \reversemarginpar + \resizebox{ + \resizebox*{ + \renewenvironment{ + \renewcommand{ + \ref{ + \refstepcounter + \raisebox{ + \raggedright + \raggedleft + \qbeziermax + \providecommand{ + \protect + \printindex + \pounds + \part{ + \partopsep + \part[ + \part*{ + \parskip + \parsep + \parindent + \parbox{ + \parbox[ + \paragraph{ + \paragraph[ + \paragraph*{ + \par + \pagestyle{ + \pageref{ + \pagenumbering{ + \pagecolor{ + \pagebreak[ + \pagebreak + \onecolumn + \normalsize + \normalmarginpar + \normalfont + \nopagebreak[ + \nopagebreak + \nonfrenchspacing + \nolinebreak[ + \nolinebreak + \noindent + \nocite{ + \newtheorem{ + \newsavebox{ + \newpage + \newlength{ + \newenvironment{ + \newcounter{ + \newcommand{ + \multicolumn{ + \medskip + \mdseries + \mbox{ + \mbox{ + \mathindent + \mathindent + \markright{ + \markboth{ + \marginpar{ + \marginparwidth + \marginparsep + \marginparpush + \marginpar[ + \maketitle + \makelabel + \makeindex + \makeglossary + \makebox{ + \makebox[ + \listparindent + \listoftables + \listoffigures + \listfiles + \linewidth + \linethickness{ + \linebreak[ + \linebreak + \lengthtest{ + \leftmarginvi + \leftmarginv + \leftmarginiv + \leftmarginiii + \leftmarginii + \leftmargini + \leftmargin + \large + \label{ + \labelwidth + \labelsep + \jot + \itshape + \itemsep + \itemindent + \item[ + \item + \isodd{ + \intextsep + \input{ + \index{ + \indent + \include{ + \includeonly{ + \includegraphics{ + \includegraphics[ + \includegraphics*{ + \includegraphics*[ + \ifthenelse{ + \hyphenation{ + \huge + \hspace{ + \hspace*{ + \hline + \hfill + \height + \glossary{ + \fussy + \frenchspacing + \framebox{ + \framebox[ + \fragile + \footnote{ + \footnotetext{ + \footnotetext[ + \footnotesize + \footnotesep + \footnoterule + \footnotemark[ + \footnotemark + \footnote[ + \fnsymbol{ + \floatsep + \floatpagefraction + \fill + \fcolorbox{ + \fbox{ + \fboxsep + \fboxrule + \equal{ + \ensuremath{ + \enlargethispage{ + \enlargethispage*{ + \end{ + \emph{ + \d{ + \doublerulesep + \documentclass{ + \documentclass[ + \depth + \definecolor{ + \ddag + \dbltopfraction + \dbltextfloatsep + \dblfloatsep + \dblfloatpagefraction + \date{ + \dag + \d + \c{ + \copyright + \columnwidth + \columnseprule + \columnsep + \color{ + \colorbox{ + \cline{ + \clearpage + \cleardoublepage + \cite{ + \cite[ + \chapter{ + \chapter[ + \chapter*{ + \centering + \caption{ + \caption[ + \c + \b{ + \bottomnumber + \bottomfraction + \boolean{ + \boldmath{ + \bigskip + \bibliography{ + \bibliographystyle{ + \bibindent + \bfseries + \belowdisplayskip + \belowdisplayshortskip + \begin{ + \baselinestretch + \baselineskip + \b + \author{ + \arraystgretch + \arrayrulewidth + \arraycolsep + \arabic{ + \appendix + \alph{ + \addvspace{ + \addtolength{ + \addtocounter{ + \addtocontents{ + \addcontentsline{ + \abovedisplayskip + \abovedisplayshortskip + \`{ + \` + \_ + \^{ + \^ + \\[ + \\*[ + \\* + \\ + \TeX + \S + \Roman{ + \P + \Large + \LaTeX + \LARGE + \H{ + \Huge + \H + \Alph{ + \@ + \={ + \= + \.{ + \. + \- + \, + \'{ + \' + \& + \% + \$ + \# + \"{ + \" + \ + [ + --- + -- + - + & + + \ + + + + + __TabbingMode__ + + + % + + + ``'' + `' + "" + + " + ` + ~ + } + { + totalnumber + topnumber + tocdepth + secnumdepth + dbltopnumber + ] + \~{ + \~ + \} + \| + \{ + \width + \whiledo{ + \v{ + \vspace{ + \vspace*{ + \vfill + \verb* + \verb + \value{ + \v + \u{ + \usepackage{ + \usepackage[ + \usecounter{ + \usebox{ + \upshape + \unboldmath{ + \u + \t{ + \typeout{ + \typein{ + \typein[ + \twocolumn[ + \twocolumn + \ttfamily + \totalheight + \topsep + \topfraction + \today + \title{ + \tiny + \thispagestyle{ + \thinlines + \thicklines + \thanks{ + \textwidth + \textup{ + \texttt{ + \textsl{ + \textsf{ + \textsc{ + \textrm{ + \textnormal{ + \textmd{ + \textit{ + \textfraction + \textfloatsep + \textcolor{ + \textbf{ + \tableofcontents + \tabcolsep + \tabbingsep + \t + \symbol{ + \suppressfloats[ + \suppressfloats + \subsubsection{ + \subsubsection[ + \subsubsection*{ + \subsection{ + \subsection[ + \subsection*{ + \subparagraph{ + \subparagraph[ + \subparagraph*{ + \stretch{ + \stepcounter{ + \smallskip + \small + \slshape + \sloppy + \sffamily + \settowidth{ + \settoheight{ + \settodepth{ + \setlength{ + \setcounter{ + \section{ + \section[ + \section*{ + \scshape + \scriptsize + \scalebox{ + \sbox{ + \savebox{ + \rule{ + \rule[ + \rp,am{ + \rotatebox{ + \rmfamily + \rightmargin + \reversemarginpar + \resizebox{ + \resizebox*{ + \renewenvironment{ + \renewcommand{ + \ref{ + \refstepcounter + \raisebox{ + \raggedright + \raggedleft + \qbeziermax + \pushtabs + \providecommand{ + \protect + \printindex + \pounds + \poptabs + \part{ + \partopsep + \part[ + \part*{ + \parskip + \parsep + \parindent + \parbox{ + \parbox[ + \paragraph{ + \paragraph[ + \paragraph*{ + \par + \pagestyle{ + \pageref{ + \pagenumbering{ + \pagecolor{ + \pagebreak[ + \pagebreak + \onecolumn + \normalsize + \normalmarginpar + \normalfont + \nopagebreak[ + \nopagebreak + \nonfrenchspacing + \nolinebreak[ + \nolinebreak + \noindent + \nocite{ + \newtheorem{ + \newsavebox{ + \newpage + \newlength{ + \newenvironment{ + \newcounter{ + \newcommand{ + \medskip + \mdseries + \mbox{ + \mbox{ + \mathindent + \mathindent + \markright{ + \markboth{ + \marginpar{ + \marginparwidth + \marginparsep + \marginparpush + \marginpar[ + \maketitle + \makelabel + \makeindex + \makeglossary + \makebox{ + \makebox[ + \listparindent + \listoftables + \listoffigures + \listfiles + \linewidth + \linethickness{ + \linebreak[ + \linebreak + \lengthtest{ + \leftmarginvi + \leftmarginv + \leftmarginiv + \leftmarginiii + \leftmarginii + \leftmargini + \leftmargin + \large + \label{ + \labelwidth + \labelsep + \kill + \jot + \itshape + \itemsep + \itemindent + \item[ + \item + \isodd{ + \intextsep + \input{ + \index{ + \indent + \include{ + \includeonly{ + \includegraphics{ + \includegraphics[ + \includegraphics*{ + \includegraphics*[ + \ifthenelse{ + \hyphenation{ + \huge + \hspace{ + \hspace*{ + \hfill + \height + \glossary{ + \fussy + \frenchspacing + \framebox{ + \framebox[ + \fragile + \footnote{ + \footnotetext{ + \footnotetext[ + \footnotesize + \footnotesep + \footnoterule + \footnotemark[ + \footnotemark + \footnote[ + \fnsymbol{ + \floatsep + \floatpagefraction + \fill + \fcolorbox{ + \fbox{ + \fboxsep + \fboxrule + \equal{ + \ensuremath{ + \enlargethispage{ + \enlargethispage*{ + \end{ + \emph{ + \d{ + \doublerulesep + \documentclass{ + \documentclass[ + \depth + \definecolor{ + \ddag + \dbltopfraction + \dbltextfloatsep + \dblfloatsep + \dblfloatpagefraction + \date{ + \dag + \d + \c{ + \copyright + \columnwidth + \columnseprule + \columnsep + \color{ + \colorbox{ + \clearpage + \cleardoublepage + \cite{ + \cite[ + \chapter{ + \chapter[ + \chapter*{ + \centering + \caption{ + \caption[ + \c + \b{ + \bottomnumber + \bottomfraction + \boolean{ + \boldmath{ + \bigskip + \bibliography{ + \bibliographystyle{ + \bibindent + \bfseries + \belowdisplayskip + \belowdisplayshortskip + \begin{ + \baselinestretch + \baselineskip + \b + \author{ + \arraystgretch + \arrayrulewidth + \arraycolsep + \arabic{ + \appendix + \alph{ + \addvspace{ + \addtolength{ + \addtocounter{ + \addtocontents{ + \addcontentsline{ + \abovedisplayskip + \abovedisplayshortskip + \a` + \a= + \a' + \`{ + \` + \` + \_ + \^{ + \^ + \\[ + \\*[ + \\* + \\ + \\ + \TeX + \S + \Roman{ + \P + \Large + \LaTeX + \LARGE + \H{ + \Huge + \H + \Alph{ + \@ + \={ + \= + \= + \.{ + \. + \- + \- + \, + \+ + \'{ + \' + \' + \< + \> + \& + \% + \$ + \# + \"{ + \" + \ + [ + --- + -- + - + + \ + + + + + __PictureMode__ + + + % + \vector( + \thinlines + \thicklines + \shortstack{ + \shortstack[ + \savebox{ + \qbezier[ + \qbezier( + \put( + \oval[ + \oval( + \multiput( + \makebox( + \linethickness{ + \line( + \graphpaper[ + \graphpaper( + \frame{ + \framebox( + \dashbox{ + \circle{ + \circle*{ + + \ + + + + + + + + + + + + + + + + diff --git a/extra/xmode/modes/lilypond.xml b/extra/xmode/modes/lilypond.xml new file mode 100644 index 0000000000..ca72fae0bc --- /dev/null +++ b/extra/xmode/modes/lilypond.xml @@ -0,0 +1,819 @@ + + + + + + + + + + + + + + + + + + + + %{%} + + % + + \breve + \longa + \maxima + = + = + { + } + [ + ] + << + >> + -< + -> + > + < + | + "(\\"|[^\\"]|\\)+" + "" + + + + + ' + , + + + + [rRs]\d*\b + R\d*\b + s\d*\b + + \d+\b + + . + + + + \\override\b + \\version\b + \\include\b + \\invalid\b + \\addquote\b + \\alternative\b + \\book\b + \\~\b + \\mark\b + \\default\b + \\key\b + \\skip\b + \\octave\b + \\partial\b + \\time\b + \\change\b + \\consists\b + \\remove\b + \\accepts\b + \\defaultchild\b + \\denies\b + \\alias\b + \\type\b + \\description\b + \\name\b + \\context\b + \\grobdescriptions\b + \\markup\b + \\header\b + \\notemode\b + \\drummode\b + \\figuremode\b + \\chordmode\b + \\lyricmode\b + \\drums\b + \\figures\b + \\chords\b + \\lyrics\b + \\once\b + \\revert\b + \\set\b + \\unset\b + \\addlyrics\b + \\objectid\b + \\with\b + \\rest\b + \\paper\b + \\midi\b + \\layout\b + \\new\b + \\times\b + \\transpose\b + \\tag\b + \\relative\b + \\renameinput\b + \\repeat\b + \\lyricsto\b + \\score\b + \\sequential\b + \\simultaneous\b + \\longa\b + \\breve\b + \\maxima\b + \\tempo\b + + \\AncientRemoveEmptyStaffContext\b + \\RemoveEmptyRhythmicStaffContext\b + \\RemoveEmptyStaffContext\b + \\accent\b + \\aeolian\b + \\afterGraceFraction\b + \\aikenHeads\b + \\allowPageTurn\b + \\arpeggio\b + \\arpeggioBracket\b + \\arpeggioDown\b + \\arpeggioNeutral\b + \\arpeggioUp\b + \\autoBeamOff\b + \\autoBeamOn\b + \\between-system-padding\b + \\between-system-space\b + \\bigger\b + \\blackTriangleMarkup\b + \\bookTitleMarkup\b + \\bracketCloseSymbol\b + \\bracketOpenSymbol\b + \\break\b + \\breve\b + \\cadenzaOff\b + \\cadenzaOn\b + \\center\b + \\chordmodifiers\b + \\cm\b + \\coda\b + \\cr\b + \\cresc\b + \\decr\b + \\dim\b + \\dorian\b + \\dotsDown\b + \\dotsNeutral\b + \\dotsUp\b + \\down\b + \\downbow\b + \\downmordent\b + \\downprall\b + \\drumPitchNames\b + \\dutchPitchnames\b + \\dynamicDown\b + \\dynamicNeutral\b + \\dynamicUp\b + \\emptyText\b + \\endcr\b + \\endcresc\b + \\enddecr\b + \\enddim\b + \\endincipit\b + \\escapedBiggerSymbol\b + \\escapedExclamationSymbol\b + \\escapedParenthesisCloseSymbol\b + \\escapedParenthesisOpenSymbol\b + \\escapedSmallerSymbol\b + \\espressivo\b + \\evenHeaderMarkup\b + \\f\b + \\fatText\b + \\fermata\b + \\fermataMarkup\b + \\ff\b + \\fff\b + \\ffff\b + \\first-page-number\b + \\flageolet\b + \\fp\b + \\frenchChords\b + \\fullJazzExceptions\b + \\fz\b + \\germanChords\b + \\glissando\b + \\harmonic\b + \\hideNotes\b + \\hideStaffSwitch\b + \\ignatzekExceptionMusic\b + \\ignatzekExceptions\b + \\improvisationOff\b + \\improvisationOn\b + \\in\b + \\input-encoding\b + \\instrument-definitions\b + \\ionian\b + \\italianChords\b + \\laissezVibrer\b + \\left\b + \\lheel\b + \\lineprall\b + \\locrian\b + \\longa\b + \\longfermata\b + \\ltoe\b + \\lydian\b + \\major\b + \\marcato\b + \\maxima\b + \\melisma\b + \\melismaEnd\b + \\mf\b + \\midiDrumPitches\b + \\minor\b + \\mixolydian\b + \\mm\b + \\mordent\b + \\mp\b + \\newSpacingSection\b + \\noBeam\b + \\noBreak\b + \\noPageBreak\b + \\noPageTurn\b + \\normalsize\b + \\oddFooterMarkup\b + \\oddHeaderMarkup\b + \\oneVoice\b + \\open\b + \\output-scale\b + \\p\b + \\page-top-space\b + \\pageBreak\b + \\pageTurn\b + \\parenthesisCloseSymbol\b + \\parenthesisOpenSymbol\b + \\partialJazzExceptions\b + \\partialJazzMusic\b + \\phrasingSlurDown\b + \\phrasingSlurNeutral\b + \\phrasingSlurUp\b + \\phrygian\b + \\pipeSymbol\b + \\pitchnames\b + \\portato\b + \\pp\b + \\ppp\b + \\pppp\b + \\ppppp\b + \\prall\b + \\pralldown\b + \\prallmordent\b + \\prallprall\b + \\prallup\b + \\print-first-page-number\b + \\print-page-number\b + \\pt\b + \\ragged-bottom\b + \\ragged-last-bottom\b + \\repeatTie\b + \\reverseturn\b + \\rfz\b + \\rheel\b + \\right\b + \\rtoe\b + \\sacredHarpHeads\b + \\scoreTitleMarkup\b + \\segno\b + \\semiGermanChords\b + \\setDefaultDurationToQuarter\b + \\setEasyHeads\b + \\setHairpinCresc\b + \\setHairpinDecresc\b + \\setHairpinDim\b + \\setTextCresc\b + \\setTextDecresc\b + \\setTextDim\b + \\sf\b + \\sff\b + \\sfp\b + \\sfz\b + \\shiftOff\b + \\shiftOn\b + \\shiftOnn\b + \\shiftOnnn\b + \\shortfermata\b + \\showStaffSwitch\b + \\signumcongruentiae\b + \\slashSeparator\b + \\slurDashed\b + \\slurDotted\b + \\slurDown\b + \\slurNeutral\b + \\slurSolid\b + \\slurUp\b + \\small\b + \\smaller\b + \\sostenutoDown\b + \\sostenutoUp\b + \\sp\b + \\spp\b + \\staccatissimo\b + \\staccato\b + \\start\b + \\startAcciaccaturaMusic\b + \\startAppoggiaturaMusic\b + \\startGraceMusic\b + \\startGroup\b + \\startStaff\b + \\startTextSpan\b + \\startTrillSpan\b + \\stemDown\b + \\stemNeutral\b + \\stemUp\b + \\stop\b + \\stopAcciaccaturaMusic\b + \\stopAppoggiaturaMusic\b + \\stopGraceMusic\b + \\stopGroup\b + \\stopStaff\b + \\stopTextSpan\b + \\stopTrillSpan\b + \\stopped\b + \\sustainDown\b + \\sustainUp\b + \\tagline\b + \\tenuto\b + \\textSpannerDown\b + \\textSpannerNeutral\b + \\textSpannerUp\b + \\thumb\b + \\tieDashed\b + \\tieDotted\b + \\tieDown\b + \\tieNeutral\b + \\tieSolid\b + \\tieUp\b + \\tildeSymbol\b + \\tiny\b + \\treCorde\b + \\trill\b + \\tupletDown\b + \\tupletNeutral\b + \\tupletUp\b + \\turn\b + \\unHideNotes\b + \\unaCorda\b + \\unit\b + \\up\b + \\upbow\b + \\upmordent\b + \\upprall\b + \\varcoda\b + \\verylongfermata\b + \\voiceFour\b + \\voiceOne\b + \\voiceThree\b + \\voiceTwo\b + \\whiteTriangleMarkup\b + + \\acciaccatura\b + \\addInstrumentDefinition\b + \\addquote\b + \\afterGrace\b + \\applyContext\b + \\applyMusic\b + \\applyOutput\b + \\appoggiatura\b + \\assertBeamQuant\b + \\assertBeamSlope\b + \\autochange\b + \\balloonGrobText\b + \\balloonText\b + \\bar\b + \\barNumberCheck\b + \\bendAfter\b + \\breathe\b + \\clef\b + \\compressMusic\b + \\cueDuring\b + \\displayLilyMusic\b + \\displayMusic\b + \\featherDurations\b + \\grace\b + \\includePageLayoutFile\b + \\instrumentSwitch\b + \\keepWithTag\b + \\killCues\b + \\makeClusters\b + \\musicMap\b + \\octave\b + \\oldaddlyrics\b + \\overrideProperty\b + \\parallelMusic\b + \\parenthesize\b + \\partcombine\b + \\pitchedTrill\b + \\quoteDuring\b + \\removeWithTag\b + \\resetRelativeOctave\b + \\rightHandFinger\b + \\scoreTweak\b + \\shiftDurations\b + \\spacingTweaks\b + \\tag\b + \\transposedCueDuring\b + \\transposition\b + \\tweak\b + \\unfoldRepeats\b + \\withMusicProperty\b + + \\arrow-head\b + \\beam\b + \\bigger\b + \\bold\b + \\box\b + \\bracket\b + \\bracketed-y-column\b + \\caps\b + \\center-align\b + \\char\b + \\circle\b + \\column\b + \\combine\b + \\dir-column\b + \\doubleflat\b + \\doublesharp\b + \\draw-circle\b + \\dynamic\b + \\epsfile\b + \\fill-line\b + \\filled-box\b + \\finger\b + \\flat\b + \\fontCaps\b + \\fontsize\b + \\fraction\b + \\fret-diagram\b + \\fret-diagram-terse\b + \\fret-diagram-verbose\b + \\fromproperty\b + \\general-align\b + \\halign\b + \\hbracket\b + \\hcenter\b + \\hcenter-in\b + \\hspace\b + \\huge\b + \\italic\b + \\justify\b + \\justify-field\b + \\justify-string\b + \\large\b + \\left-align\b + \\line\b + \\lookup\b + \\lower\b + \\magnify\b + \\markalphabet\b + \\markletter\b + \\medium\b + \\musicglyph\b + \\natural\b + \\normal-size-sub\b + \\normal-size-super\b + \\normal-text\b + \\normalsize\b + \\note\b + \\note-by-number\b + \\null\b + \\number\b + \\on-the-fly\b + \\override\b + \\pad-around\b + \\pad-markup\b + \\pad-to-box\b + \\pad-x\b + \\postscript\b + \\put-adjacent\b + \\raise\b + \\right-align\b + \\roman\b + \\rotate\b + \\sans\b + \\score\b + \\semiflat\b + \\semisharp\b + \\sesquiflat\b + \\sesquisharp\b + \\sharp\b + \\simple\b + \\slashed-digit\b + \\small\b + \\smallCaps\b + \\smaller\b + \\stencil\b + \\strut\b + \\sub\b + \\super\b + \\teeny\b + \\text\b + \\tied-lyric\b + \\tiny\b + \\translate\b + \\translate-scaled\b + \\transparent\b + \\triangle\b + \\typewriter\b + \\upright\b + \\vcenter\b + \\verbatim-file\b + \\whiteout\b + \\with-color\b + \\with-dimensions\b + \\with-url\b + \\wordwrap\b + \\wordwrap-field\b + \\wordwrap-string\b +\ + + staff-spacing-interface + text-script-interface + Ottava_spanner_engraver + Figured_bass_engraver + Lyrics + Separating_line_group_engraver + cluster-interface + Glissando_engraver + key-signature-interface + clef-interface + VaticanaVoice + Rest_collision_engraver + Grace_engraver + grid-point-interface + Measure_grouping_engraver + Laissez_vibrer_engraver + Script_row_engraver + bass-figure-alignment-interface + Note_head_line_engraver + ottava-bracket-interface + rhythmic-head-interface + Accidental_engraver + Mark_engraver + hara-kiri-group-interface + Instrument_name_engraver + Vaticana_ligature_engraver + Page_turn_engraver + staff-symbol-interface + Beam_performer + accidental-suggestion-interface + Key_engraver + GrandStaff + multi-measure-interface + rest-collision-interface + Dot_column_engraver + MensuralVoice + TabStaff + Pitched_trill_engraver + line-spanner-interface + Time_signature_performer + lyric-interface + StaffGroup + text-interface + slur-interface + Drum_note_performer + TabVoice + measure-grouping-interface + stanza-number-interface + self-alignment-interface + Span_arpeggio_engraver + system-interface + Engraver + RhythmicStaff + font-interface + fret-diagram-interface + Grace_spacing_engraver + Bar_engraver + Dynamic_engraver + Grob_pq_engraver + Default_bar_line_engraver + Swallow_performer + script-column-interface + Piano_pedal_performer + metronome-mark-interface + melody-spanner-interface + FretBoards + spacing-spanner-interface + Control_track_performer + Break_align_engraver + paper-column-interface + PianoStaff + Breathing_sign_engraver + accidental-placement-interface + Tuplet_engraver + stroke-finger-interface + side-position-interface + note-name-interface + bar-line-interface + lyric-extender-interface + Staff + GregorianTranscriptionStaff + Rest_swallow_translator + dynamic-text-spanner-interface + arpeggio-interface + Cluster_spanner_engraver + Collision_engraver + accidental-interface + rest-interface + Tab_note_heads_engraver + dots-interface + staff-symbol-referencer-interface + ambitus-interface + bass-figure-interface + vaticana-ligature-interface + ledgered-interface + item-interface + Tie_performer + volta-bracket-interface + vertically-spaceable-interface + ledger-line-interface + Chord_tremolo_engraver + note-column-interface + DrumVoice + axis-group-interface + Ledger_line_engraver + Slash_repeat_engraver + ligature-bracket-interface + Pitch_squash_engraver + Instrument_switch_engraver + Voice + Script_column_engraver + Volta_engraver + Stanza_number_align_engraver + Vertical_align_engraver + span-bar-interface + Staff_collecting_engraver + Ligature_bracket_engraver + Time_signature_engraver + Beam_engraver + Note_name_engraver + Note_heads_engraver + Forbid_line_break_engraver + spacing-options-interface + spacing-interface + Span_dynamic_performer + piano-pedal-script-interface + MensuralStaff + Global + trill-pitch-accidental-interface + grob-interface + Horizontal_bracket_engraver + Grid_line_span_engraver + NoteNames + piano-pedal-interface + Axis_group_engraver + Staff_symbol_engraver + stem-interface + Slur_engraver + pitched-trill-interface + tie-column-interface + stem-tremolo-interface + Grid_point_engraver + System_start_delimiter_engraver + Completion_heads_engraver + Drum_notes_engraver + Swallow_engraver + Slur_performer + lyric-hyphen-interface + Clef_engraver + dynamic-interface + Score + Output_property_engraver + Repeat_tie_engraver + Rest_engraver + break-aligned-interface + String_number_engraver + only-prebreak-interface + Lyric_engraver + Tempo_performer + Parenthesis_engraver + Repeat_acknowledge_engraver + mensural-ligature-interface + align-interface + Stanza_number_engraver + system-start-delimiter-interface + lyric-syllable-interface + bend-after-interface + dynamic-line-spanner-interface + Staff_performer + Bar_number_engraver + Fretboard_engraver + tablature-interface + Fingering_engraver + chord-name-interface + Note_swallow_translator + Chord_name_engraver + note-head-interface + breathing-sign-interface + Extender_engraver + Ambitus_engraver + DrumStaff + dot-column-interface + Lyric_performer + enclosing-bracket-interface + Trill_spanner_engraver + Key_performer + Vertically_spaced_contexts_engraver + hairpin-interface + Hyphen_engraver + Dots_engraver + multi-measure-rest-interface + break-alignment-align-interface + Multi_measure_rest_engraver + InnerStaffGroup + text-spanner-interface + Grace_beam_engraver + separation-item-interface + Balloon_engraver + Translator + separation-spanner-interface + Tweak_engraver + Devnull + Bend_after_engraver + Spacing_engraver + Piano_pedal_align_engraver + system-start-text-interface + parentheses-interface + Melisma_translator + ChoirStaff + Span_bar_engraver + Text_engraver + GregorianTranscriptionVoice + Timing_translator + script-interface + semi-tie-interface + Percent_repeat_engraver + Tab_staff_symbol_engraver + line-interface + rhythmic-grob-interface + Dynamic_performer + note-spacing-interface + spanner-interface + break-alignment-interface + tuplet-number-interface + Rhythmic_column_engraver + cluster-beacon-interface + horizontal-bracket-interface + Mensural_ligature_engraver + ChordNames + gregorian-ligature-interface + Melody_engraver + ligature-interface + Paper_column_engraver + FiguredBass + grace-spacing-interface + tie-interface + New_fingering_engraver + Script_engraver + Metronome_mark_engraver + string-number-interface + Hara_kiri_engraver + grid-line-interface + Skip_event_swallow_translator + Auto_beam_engraver + spaceable-grob-interface + Font_size_engraver + figured-bass-continuation-interface + semi-tie-column-interface + CueVoice + Phrasing_slur_engraver + InnerChoirStaff + Arpeggio_engraver + mark-interface + VaticanaStaff + piano-pedal-bracket-interface + beam-interface + Note_performer + custos-interface + percent-repeat-interface + time-signature-interface + Custos_engraver + Part_combine_engraver + Piano_pedal_engraver + tuplet-bracket-interface + Stem_engraver + finger-interface + note-collision-interface + Text_spanner_engraver + text-balloon-interface + Tie_engraver + Figured_bass_position_engraver + + + + + + diff --git a/extra/xmode/modes/lisp.xml b/extra/xmode/modes/lisp.xml new file mode 100644 index 0000000000..86983d7c53 --- /dev/null +++ b/extra/xmode/modes/lisp.xml @@ -0,0 +1,1038 @@ + + + + + + + + + + + + + + + + + + + #| + |# + + + '( + + ' + + & + + ` + @ + % + + + ;;;; + ;;; + ;; + ; + + + " + " + + + + + defclass + defconstant + defgeneric + define-compiler-macro + define-condition + define-method-combination + define-modify-macro + define-setf-expander + define-symbol-macro + defmacro + defmethod + defpackage + defparameter + defsetf + defstruct + deftype + defun + defvar + + abort + assert + block + break + case + catch + ccase + cerror + cond + ctypecase + declaim + declare + do + do* + do-all-symbols + do-external-symbols + do-symbols + dolist + dotimes + ecase + error + etypecase + eval-when + flet + handler-bind + handler-case + if + ignore-errors + in-package + labels + lambda + let + let* + locally + loop + macrolet + multiple-value-bind + proclaim + prog + prog* + prog1 + prog2 + progn + progv + provide + require + restart-bind + restart-case + restart-name + return + return-from + signal + symbol-macrolet + tagbody + the + throw + typecase + unless + unwind-protect + when + with-accessors + with-compilation-unit + with-condition-restarts + with-hash-table-iterator + with-input-from-string + with-open-file + with-open-stream + with-output-to-string + with-package-iterator + with-simple-restart + with-slots + with-standard-io-syntax + + * + ** + *** + *break-on-signals* + *compile-file-pathname* + *compile-file-truename* + *compile-print* + *compile-verbose* + *debug-io* + *debugger-hook* + *default-pathname-defaults* + *error-output* + *features* + *gensym-counter* + *load-pathname* + *load-print* + *load-truename* + *load-verbose* + *macroexpand-hook* + *modules* + *package* + *print-array* + *print-base* + *print-case* + *print-circle* + *print-escape* + *print-gensym* + *print-length* + *print-level* + *print-lines* + *print-miser-width* + *print-pprint-dispatch* + *print-pretty* + *print-radix* + *print-readably* + *print-right-margin* + *query-io* + *random-state* + *read-base* + *read-default-float-format* + *read-eval* + *read-suppress* + *readtable* + *standard-input* + *standard-output* + *terminal-io* + *trace-output* + + + ++ + +++ + - + / + // + /// + /= + 1+ + 1- + < + <= + = + > + >= + abs + acons + acos + acosh + add-method + adjoin + adjust-array + adjustable-array-p + allocate-instance + alpha-char-p + alphanumericp + and + append + apply + apropos + apropos-list + aref + arithmetic-error + arithmetic-error-operands + arithmetic-error-operation + array + array-dimension + array-dimension-limit + array-dimensions + array-displacement + array-element-type + array-has-fill-pointer-p + array-in-bounds-p + array-rank + array-rank-limit + array-row-major-index + array-total-size + array-total-size-limit + arrayp + ash + asin + asinh + assoc + assoc-if + assoc-if-not + atan + atanh + atom + base-char + base-string + bignum + bit + bit-and + bit-andc1 + bit-andc2 + bit-eqv + bit-ior + bit-nand + bit-nor + bit-not + bit-orc1 + bit-orc2 + bit-vector + bit-vector-p + bit-xor + boole + boole-1 + boole-2 + boole-and + boole-andc1 + boole-andc2 + boole-c1 + boole-c2 + boole-clr + boole-eqv + boole-ior + boole-nand + boole-nor + boole-orc1 + boole-orc2 + boole-set + boole-xor + boolean + both-case-p + boundp + broadcast-stream + broadcast-stream-streams + built-in-class + butlast + byte + byte-position + byte-size + caaaar + caaadr + caaar + caadar + caaddr + caadr + caar + cadaar + cadadr + cadar + caddar + cadddr + caddr + cadr + call-arguments-limit + call-method + call-next-method + car + cdaaar + cdaadr + cdaar + cdadar + cdaddr + cdadr + cdar + cddaar + cddadr + cddar + cdddar + cddddr + cdddr + cddr + cdr + ceiling + cell-error + cell-error-name + change-class + char + char-code + char-code-limit + char-downcase + char-equal + char-greaterp + char-int + char-lessp + char-name + char-not-equal + char-not-greaterp + char-not-lessp + char-upcase + char/= + char> + char>= + char< + char<= + char= + character + characterp + check-type + cis + class + class-name + class-of + clear-input + clear-output + close + clrhash + code-char + coerce + compilation-speed + compile + compile-file + compile-file-pathname + compiled-function + compiled-function-p + compiler-macro + compiler-macro-function + complement + complex + complexp + compute-applicable-methods + compute-restarts + concatenate + concatenated-stream + concatenated-stream-streams + condition + conjugate + cons + consp + constantly + constantp + continue + control-error + copy-alist + copy-list + copy-pprint-dispatch + copy-readtable + copy-seq + copy-structure + copy-symbol + copy-tree + cos + cosh + count + count-if + count-if-not + debug + decf + declaration + decode-float + decode-universal-time + delete + delete-duplicates + delete-file + delete-if + delete-if-not + delete-package + denominator + deposit-field + describe + describe-object + destructuring-bind + digit-char + digit-char-p + directory + directory-namestring + disassemble + division-by-zero + documentation + double-float + double-float-epsilon + double-float-negative-epsilon + dpb + dribble + dynamic-extent + echo-stream + echo-stream-input-stream + echo-stream-output-stream + ed + eighth + elt + encode-universal-time + end-of-file + endp + enough-namestring + ensure-directories-exist + ensure-generic-function + eq + eql + equal + equalp + eval + evenp + every + exp + export + expt + extended-char + fboundp + fceiling + fdefinition + ffloor + fifth + file-author + file-error + file-error-pathname + file-length + file-namestring + file-position + file-stream + file-string-length + file-write-date + fill + fill-pointer + find + find-all-symbols + find-class + find-if + find-if-not + find-method + find-package + find-restart + find-symbol + finish-output + first + fixnum + float + float-digits + float-precision + float-radix + float-sign + floating-point-inexact + floating-point-invalid-operation + floating-point-overflow + floating-point-underflow + floatp + floor + fmakunbound + force-output + format + formatter + fourth + fresh-line + fround + ftruncate + ftype + funcall + function + function-keywords + function-lambda-expression + functionp + gcd + generic-function + gensym + gentemp + get + get-decoded-time + get-dispatch-macro-character + get-internal-real-time + get-internal-run-time + get-macro-character + get-output-stream-string + get-properties + get-setf-expansion + get-universal-time + getf + gethash + go + graphic-char-p + hash-table + hash-table-count + hash-table-p + hash-table-rehash-size + hash-table-rehash-threshold + hash-table-size + hash-table-test + host-namestring + identity + ignorable + ignore + imagpart + import + incf + initialize-instance + inline + input-stream-p + inspect + integer + integer-decode-float + integer-length + integerp + interactive-stream-p + intern + internal-time-units-per-second + intersection + invalid-method-error + invoke-debugger + invoke-restart + invoke-restart-interactively + isqrt + keyword + keywordp + lambda-list-keywords + lambda-parameters-limit + last + lcm + ldb + ldb-test + ldiff + least-negative-double-float + least-negative-long-float + least-negative-normalized-double-float + least-negative-normalized-long-float + least-negative-normalized-short-float + least-negative-normalized-single-float + least-negative-short-float + least-negative-single-float + least-positive-double-float + least-positive-long-float + least-positive-normalized-double-float + least-positive-normalized-long-float + least-positive-normalized-short-float + least-positive-normalized-single-float + least-positive-short-float + least-positive-single-float + length + lisp-implementation-type + lisp-implementation-version + list + list* + list-all-packages + list-length + listen + listp + load + load-logical-pathname-translations + load-time-value + log + logand + logandc1 + logandc2 + logbitp + logcount + logeqv + logical-pathname + logical-pathname-translations + logior + lognand + lognor + lognot + logorc1 + logorc2 + logtest + logxor + long-float + long-float-epsilon + long-float-negative-epsilon + long-site-name + loop-finish + lower-case-p + machine-instance + machine-type + machine-version + macro-function + macroexpand + macroexpand-1 + make-array + make-broadcast-stream + make-concatenated-stream + make-condition + make-dispatch-macro-character + make-echo-stream + make-hash-table + make-instance + make-instances-obsolete + make-list + make-load-form + make-load-form-saving-slots + make-method + make-package + make-pathname + make-random-state + make-sequence + make-string + make-string-input-stream + make-string-output-stream + make-symbol + make-synonym-stream + make-two-way-stream + makunbound + map + map-into + mapc + mapcan + mapcar + mapcon + maphash + mapl + maplist + mask-field + max + member + member-if + member-if-not + merge + merge-pathnames + method + method-combination + method-combination-error + method-qualifiers + min + minusp + mismatch + mod + most-negative-double-float + most-negative-fixnum + most-negative-long-float + most-negative-short-float + most-negative-single-float + most-positive-double-float + most-positive-fixnum + most-positive-long-float + most-positive-short-float + most-positive-single-float + muffle-warning + multiple-value-call + multiple-value-list + multiple-value-prog1 + multiple-value-setq + multiple-values-limit + name-char + namestring + nbutlast + nconc + next-method-p + nintersection + ninth + no-applicable-method + no-next-method + not + notany + notevery + notinline + nreconc + nreverse + nset-difference + nset-exclusive-or + nstring-capitalize + nstring-downcase + nstring-upcase + nsublis + nsubst + nsubst-if + nsubst-if-not + nsubstitute + nsubstitute-if + nsubstitute-if-not + nth + nth-value + nthcdr + null + number + numberp + numerator + nunion + oddp + open + open-stream-p + optimize + or + otherwise + output-stream-p + package + package-error + package-error-package + package-name + package-nicknames + package-shadowing-symbols + package-use-list + package-used-by-list + packagep + pairlis + parse-error + parse-integer + parse-namestring + pathname + pathname-device + pathname-directory + pathname-host + pathname-match-p + pathname-name + pathname-type + pathname-version + pathnamep + peek-char + phase + pi + plusp + pop + position + position-if + position-if-not + pprint + pprint-dispatch + pprint-exit-if-list-exhausted + pprint-fill + pprint-indent + pprint-linear + pprint-logical-block + pprint-newline + pprint-pop + pprint-tab + pprint-tabular + prin1 + prin1-to-string + princ + princ-to-string + print + print-not-readable + print-not-readable-object + print-object + print-unreadable-object + probe-file + program-error + psetf + psetq + push + pushnew + quote + random + random-state + random-state-p + rassoc + rassoc-if + rassoc-if-not + ratio + rational + rationalize + rationalp + read + read-byte + read-char + read-char-no-hang + read-delimited-list + read-from-string + read-line + read-preserving-whitespace + read-sequence + reader-error + readtable + readtable-case + readtablep + real + realp + realpart + reduce + reinitialize-instance + rem + remf + remhash + remove + remove-duplicates + remove-if + remove-if-not + remove-method + remprop + rename-file + rename-package + replace + rest + restart + revappend + reverse + room + rotatef + round + row-major-aref + rplaca + rplacd + safety + satisfies + sbit + scale-float + schar + search + second + sequence + serious-condition + set + set-difference + set-dispatch-macro-character + set-exclusive-or + set-macro-character + set-pprint-dispatch + set-syntax-from-char + setf + setq + seventh + shadow + shadowing-import + shared-initialize + shiftf + short-float + short-float-epsilon + short-float-negative-epsilon + short-site-name + signed-byte + signum + simple-array + simple-base-string + simple-bit-vector + simple-bit-vector-p + simple-condition + simple-condition-format-arguments + simple-condition-format-control + simple-error + simple-string + simple-string-p + simple-type-error + simple-vector + simple-vector-p + simple-warning + sin + single-float + single-float-epsilon + single-float-negative-epsilon + sinh + sixth + sleep + slot-boundp + slot-exists-p + slot-makunbound + slot-missing + slot-unbound + slot-value + software-type + software-version + some + sort + space + special + special-operator-p + speed + sqrt + stable-sort + standard + standard-char + standard-char-p + standard-class + standard-generic-function + standard-method + standard-object + step + storage-condition + store-value + stream + stream-element-type + stream-error + stream-error-stream + stream-external-format + streamp + string + string-capitalize + string-downcase + string-equal + string-greaterp + string-left-trim + string-lessp + string-not-equal + string-not-greaterp + string-not-lessp + string-right-trim + string-stream + string-trim + string-upcase + string/= + string< + string<= + string= + string> + string>= + stringp + structure + structure-class + structure-object + style-warning + sublis + subseq + subsetp + subst + subst-if + subst-if-not + substitute + substitute-if + substitute-if-not + subtypep + svref + sxhash + symbol + symbol-function + symbol-name + symbol-package + symbol-plist + symbol-value + symbolp + synonym-stream + synonym-stream-symbol + tailp + tan + tanh + tenth + terpri + third + time + trace + translate-logical-pathname + translate-pathname + tree-equal + truename + truncate + two-way-stream + two-way-stream-input-stream + two-way-stream-output-stream + type-error-datum + type-error-expected-type + type-error + type-of + typep + type + unbound-slot-instance + unbound-slot + unbound-variable + undefined-function + unexport + unintern + union + unread-char + unsigned-byte + untrace + unuse-package + update-instance-for-different-class + update-instance-for-redefined-class + upgraded-array-element-type + upgraded-complex-part-type + upper-case-p + use-package + use-value + user-homedir-pathname + values + values-list + variable + vector + vector-pop + vector-push + vector-push-extend + vectorp + warn + warning + wild-pathname-p + write + write-byte + write-char + write-line + write-sequence + write-string + write-to-string + y-or-n-p + yes-or-no-p + zerop + + t + nil + + + + + diff --git a/extra/xmode/modes/literate-haskell.xml b/extra/xmode/modes/literate-haskell.xml new file mode 100644 index 0000000000..c74ad3a5bc --- /dev/null +++ b/extra/xmode/modes/literate-haskell.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + > + + % + + \begin{code} + \end{code} + + + + + diff --git a/extra/xmode/modes/lotos.xml b/extra/xmode/modes/lotos.xml new file mode 100644 index 0000000000..bd1d4b7850 --- /dev/null +++ b/extra/xmode/modes/lotos.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + (* + *) + + + + >> + [> + ||| + || + |[ + ]| + [] + + + + accept + actualizedby + any + behavior + behaviour + choice + endlib + endproc + endspec + endtype + eqns + exit + for + forall + formaleqns + formalopns + formalsorts + hide + i + in + is + let + library + noexit + of + ofsort + opnnames + opns + par + process + renamedby + sortnames + sorts + specification + stop + type + using + where + + + Bit + BitString + Bool + DecDigit + DecString + Element + FBool + HexDigit + HexString + OctDigit + Octet + OctString + Nat + NonEmptyString + OctetString + Set + String + + + BasicNaturalNumber + BasicNonEmptyString + BitNatRepr + Boolean + FBoolean + DecNatRepr + HexNatRepr + NatRepresentations + NaturalNumber + OctNatRepr + RicherNonEmptyString + String0 + String1 + + + false + true + + + diff --git a/extra/xmode/modes/lua.xml b/extra/xmode/modes/lua.xml new file mode 100644 index 0000000000..04f9f76d02 --- /dev/null +++ b/extra/xmode/modes/lua.xml @@ -0,0 +1,238 @@ + + + + + + + + + + + + + + + + + + + + + + + --[[ + ]] + + + -- + #! + + + " + " + + + ' + ' + + + + [[ + ]] + + + + + - + * + / + ^ + .. + <= + < + >= + > + == + ~= + = + + ( + ) + { + } + " + " + ' + ' + + + + do + end + while + repeat + until + if + then + elseif + else + return + break + for + in + function + local + nil + true + false + and + or + not + + assert + collectgarbage + dofile + error + _G + getfenv + getmetatable + gcinfo + ipairs + loadfile + loadlib + loadstring + next + pairs + pcall + print + rawequal + rawget + rawset + require + setfenv + setmetatable + tonumber + tostring + type + unpack + xpcall + _VERSION + LUA_PATH + _LOADED + _REQUIREDNAME + _ALERT + _ERRORMESSAGE + _PROMPT + __add + __sub + __mul + __div + __pow + __unm + __concat + __eq + __lt + __le + __index + __newindex + __call + __metatable + __mode + __tostring + __fenv + ... + arg + coroutine.create + coroutine.resume + coroutine.status + coroutine.wrap + coroutine.yield + string.byte + string.char + string.dump + string.find + string.len + string.lower + string.rep + string.sub + string.upper + string.format + string.gfind + string.gsub + table.concat + table.foreach + table.foreachi + table.getn + table.sort + table.insert + table.remove + table.setn + math.abs + math.acos + math.asin + math.atan + math.atan2 + math.ceil + math.cos + math.deg + math.exp + math.floor + math.log + math.log10 + math.max + math.min + math.mod + math.pow + math.rad + math.sin + math.sqrt + math.tan + math.frexp + math.ldexp + math.random + math.randomseed + math.pi + io.close + io.flush + io.input + io.lines + io.open + io.read + io.tmpfile + io.type + io.write + io.stdin + io.stdout + io.stderr + os.clock + os.date + os.difftime + os.execute + os.exit + os.getenv + os.remove + os.rename + os.setlocale + os.time + os.tmpname + debug.debug + debug.gethook + debug.getinfo + debug.getlocal + debug.getupvalue + debug.setlocal + debug.setupvalue + debug.sethook + debug.traceback + + + + diff --git a/extra/xmode/modes/mail.xml b/extra/xmode/modes/mail.xml new file mode 100644 index 0000000000..ac490697b0 --- /dev/null +++ b/extra/xmode/modes/mail.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + >>> + >> + > + | + : + -- + :-) + :-( + :) + :( + ;-) + ;-( + ;) + ;( + : + + + + + < + > + + + diff --git a/extra/xmode/modes/makefile.xml b/extra/xmode/modes/makefile.xml new file mode 100644 index 0000000000..3f4fae75e3 --- /dev/null +++ b/extra/xmode/modes/makefile.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + # + + + + \$\([a-zA-Z][\w-]* + ) + + + + + $( + ) + + + ${ + } + + + $ + + + + " + " + + + ' + ' + + + ` + ` + + + = + := + += + ?= + + : + + + subst + addprefix + addsuffix + basename + dir + filter + filter-out + findstring + firstword + foreach + join + notdir + origin + patsubst + shell + sort + strip + suffix + wildcard + word + words + ifeq + ifneq + else + endif + define + endef + ifdef + ifndef + + + + + + + # + + + + $( + ) + + + ${ + } + + + diff --git a/extra/xmode/modes/maple.xml b/extra/xmode/modes/maple.xml new file mode 100644 index 0000000000..0bc33ca8ed --- /dev/null +++ b/extra/xmode/modes/maple.xml @@ -0,0 +1,735 @@ + + + + + + + + + + + + + + + + " + " + + + ' + ' + + + ` + ` + + + # + + + + - + * + / + ^ + <> + <= + < + >= + > + = + $ + @@ + @ + || + := + :: + :- + & + ! + + + + and + or + xor + union + intersect + minus + mod + not + assuming + break + by + catch + description + do + done + elif + else + end + error + export + fi + finally + for + from + global + if + implies + in + local + module + next + od + option + options + proc + quit + read + return + save + stop + subset + then + to + try + use + while + + + about + ans + add + addcoords + additionally + addproperty + addressof + AFactor + AFactors + AIrreduc + AiryAi + AiryAiZeros + AiryBi + AiryBiZeros + algebraic + algsubs + alias + allvalues + anames + AngerJ + antihermitian + antisymm + apply + applyop + applyrule + arccos + arccosh + arccot + arccoth + arccsc + arccsch + arcsec + arcsech + arcsin + arcsinh + arctan + arctanh + argument + Array + array + ArrayDims + ArrayElems + ArrayIndFns + ArrayOptions + assign + assigned + asspar + assume + asympt + attributes + band + Berlekamp + bernoulli + bernstein + BesselI + BesselJ + BesselJZeros + BesselK + BesselY + BesselYZeros + Beta + branches + C + cat + ceil + changecoords + charfcn + ChebyshevT + ChebyShevU + CheckArgs + Chi + chrem + Ci + close + coeff + coeffs + coeftayl + collect + combine + comparray + compiletable + compoly + CompSeq + conjugate + constant + Content + content + convergs + convert + coords + copy + CopySign + cos + cosh + cot + coth + coulditbe + csc + csch + csgn + currentdir + curry + CylinderD + CylinderU + CylinderV + D + dawson + Default0 + DefaultOverflow + DefaultUnderflow + define + define_external + degree + denom + depends + DESol + Det + diagon + Diff + diff + diffop + Digits + dilog + dinterp + Dirac + disassemble + discont + discrim + dismantle + DistDeg + Divide + divide + dsolve + efficiency + Ei + Eigenvals + eliminate + ellipsoid + EllipticCE + EllipticCK + EllipticCPi + EllipticE + EllipticF + EllipticK + EllipticModulus + EllipticNome + EllipticPi + elliptic_int + entries + erf + erfc + erfi + euler + eulermac + Eval + eval + evala + evalapply + evalb + evalc + evalf + evalfint + evalhf + evalm + evaln + evalr + evalrC + events + Excel + exists + exp + Expand + expand + expandoff + expandon + exports + extract + extrema + Factor + factor + Factors + factors + fclose + fdiscont + feof + fflush + FFT + filepos + fixdiv + float + floor + fnormal + fold + fopen + forall + forget + fprintf + frac + freeze + frem + fremove + FresnelC + Fresnelf + Fresnelg + FresnelS + FromInert + frontend + fscanf + fsolve + galois + GAMMA + GaussAGM + Gausselim + Gaussjord + gc + Gcd + gcd + Gcdex + gcdex + GegenbauerC + genpoly + getenv + GetResultDataType + GetResultShape + GF + Greek + HankelH1 + HankelH2 + harmonic + has + hasfun + hasoption + hastype + heap + Heaviside + Hermite + HermiteH + hermitian + Hessenberg + hfarray + history + hypergeom + icontent + identity + IEEEdiffs + ifactor + ifactors + iFFT + igcd + igcdex + ilcm + ilog10 + ilog2 + ilog + Im + implicitdiff + ImportMatrix + ImportVector + indets + index + indexed + indices + inifcn + ininame + initialcondition + initialize + insert + int + intat + interface + Interp + interp + Inverse + invfunc + invztrans + iostatus + iperfpow + iquo + iratrecon + irem + iroot + Irreduc + irreduc + is + iscont + isdifferential + IsMatrixShape + isolate + isolve + ispoly + isprime + isqrfree + isqrt + issqr + ithprime + JacobiAM + JacobiCD + JacobiCN + JacobiCS + JacobiDC + JacobiDN + JacobiDS + JacobiNC + JacobiND + JacobiNS + JacobiP + JacobiSC + JacobiSD + JacobiSN + JacobiTheta1 + JacobiTheta2 + JacobiTheta3 + JacobiTheta4 + JacobiZeta + KelvinBei + KelvinBer + KelvinHei + KelvinHer + KelvinKei + KelvinKer + KummerM + KummerU + LaguerreL + LambertW + latex + lattice + lcm + Lcm + lcoeff + leadterm + LegendreP + LegendreQ + length + LerchPhi + lexorder + lhs + CLi + Limit + limit + Linsolve + ln + lnGAMMA + log + log10 + LommelS1 + Lommels2 + lprint + map + map2 + Maple_floats + match + MatlabMatrix + Matrix + matrix + MatrixOptions + max + maximize + maxnorm + maxorder + MeijerG + member + min + minimize + mkdir + ModifiedMeijerG + modp + modp1 + modp2 + modpol + mods + module + MOLS + msolve + mtaylor + mul + NextAfter + nextprime + nops + norm + norm + Normal + normal + nprintf + Nullspace + numboccur + numer + NumericClass + NumericEvent + NumericEventHandler + NumericException + numerics + NumericStatus + odetest + op + open + order + OrderedNE + parse + patmatch + pclose + PDEplot_options + pdesolve + pdetest + pdsolve + piecewise + plot + plot3d + plotsetup + pochhammer + pointto + poisson + polar + polylog + polynom + Power + Powmod + powmod + Prem + prem + Preprocessor + prevprime + Primitive + Primpart + primpart + print + printf + ProbSplit + procbody + ProcessOptions + procmake + Product + product + proot + property + protect + Psi + psqrt + queue + Quo + quo + radfield + radnormal + radsimp + rand + randomize + Randpoly + randpoly + Randprime + range + ratinterp + rationalize + Ratrecon + ratrecon + Re + readbytes + readdata + readlib + readline + readstat + realroot + Record + Reduce + references + release + Rem + rem + remove + repository + requires + residue + RESol + Resultant + resultant + rhs + rmdir + root + rootbound + RootOf + Roots + roots + round + Rounding + rsolve + rtable + rtable_algebra + rtable_dims + rtable_elems + rtable_indfns + rtable_options + rtable_printf + rtable_scanf + SampleRTable + savelib + Scale10 + Scale2 + scalar + scan + scanf + SearchText + searchtext + sec + sech + select + selectfun + selectremove + seq + series + setattribute + SFloatExponent + SFloatMantissa + shale + Shi + showprofile + showtime + Si + sign + signum + Simplify + simplify + sin + sinh + singular + sinterp + smartplot3d + Smith + solve + solvefor + sort + sparse + spec_eval_rule + spline + spreadsheet + SPrem + sprem + sprintf + Sqrfree + sqrfree + sqrt + sscanf + Ssi + ssystem + storage + string + StruveH + StruveL + sturm + sturmseq + subs + subsindets + subsop + substring + subtype + Sum + sum + surd + Svd + symmdiff + symmetric + syntax + system + table + tan + tang + taylor + testeq + testfloat + TEXT + thaw + thiele + time + timelimit + ToInert + TopologicalSort + traperror + triangular + trigsubs + trunc + type + typematch + unames + unapply + unassign + undefined + unit + Unordered + unprotect + update + UseHardwareFloats + userinfo + value + Vector + vector + verify + WeierstrassP + WeberE + WeierstrassPPrime + WeierstrassSigma + WeierstrassZeta + whattype + WhittakerM + WhittakerW + with + worksheet + writebytes + writedata + writeline + writestat + writeto + zero + Zeta + zip + ztrans + + + Catalan + constants + Digits + FAIL + false + gamma + I + infinity + integrate + lasterror + libname + `mod` + NULL + Order + Pi + printlevel + true + undefined + + + diff --git a/extra/xmode/modes/ml.xml b/extra/xmode/modes/ml.xml new file mode 100644 index 0000000000..97ec02cfd4 --- /dev/null +++ b/extra/xmode/modes/ml.xml @@ -0,0 +1,180 @@ + + + + + + + + + + + + + + + (* + *) + + + + + #" + " + + + + + " + " + + + + + + / + * + + + + + - + ^ + + + :: + @ + + + = + <> + <= + < + >= + > + + + := + + + + + + + + + div + mod + + + o + + + before + + + abstype + and + andalso + as + case + do + datatype + else + end + eqtype + exception + fn + fun + functor + handle + if + in + include + infix + infixr + let + local + nonfix + of + op + open + orelse + raise + rec + sharing + sig + signature + struct + structure + then + type + val + where + with + withtype + while + + + array + bool + char + exn + frag + int + list + option + order + real + ref + string + substring + unit + vector + word + word8 + + + Bind + Chr + Domain + Div + Fail + Graphic + Interrupt + Io + Match + Option + Ord + Overflow + Size + Subscript + SysErr + + + false + true + QUOTE + ANTIQUOTE + nil + NONE + SOME + LESS + EQUAL + GREATER + + + \ No newline at end of file diff --git a/extra/xmode/modes/modula3.xml b/extra/xmode/modes/modula3.xml new file mode 100644 index 0000000000..fa04e9cbfe --- /dev/null +++ b/extra/xmode/modes/modula3.xml @@ -0,0 +1,178 @@ + + + + + + + + + + + + + + + + + <* + *> + + + + (* + *) + + + + + " + " + + + ' + ' + + + ^ + @ + := + = + <> + >= + <= + > + < + + + - + / + * + + + AND + DO + FROM + NOT + REPEAT + UNTIL + ANY + ELSE + GENERIC + OBJECT + RETURN + UNTRACED + ARRAY + ELSIF + IF + OF + REVEAL + VALUE + AS + END + IMPORT + OR + ROOT + VAR + BEGIN + EVAL + IN + OVERRIDES + SET + WHILE + BITS + EXCEPT + INTERFACE + PROCEDURE + THEN + WITH + BRANDED + EXCEPTION + LOCK + RAISE + TO + BY + EXIT + LOOP + RAISES + TRY + CASE + EXPORTS + METHODS + READONLY + TYPE + CONST + FINALLY + MOD + RECORD + TYPECASE + DIV + FOR + MODULE + REF + UNSAFE + + + ABS + BYTESIZE + EXTENDED + INTEGER + MIN + NUMBER + TEXT + ADDRESS + CARDINAL + FALSE + ISTYPE + MUTEX + ORD + TRUE + ADR + CEILING + FIRST + LAST + NARROW + REAL + TRUNC + ADRSIZE + CHAR + FLOAT + LONGREAL + NEW + REFANY + TYPECODE + BITSIZE + DEC + FLOOR + LOOPHOLE + NIL + ROUND + VAL + BOOLEAN + DISPOSE + INC + MAX + NULL + SUBARRAY + + + + Text + Thread + Word + Real + LongReal + ExtendedReal + RealFloat + LongFloat + ExtendedFloat + FloatMode + + + + Fmt + Lex + Pickle + Table + + + + diff --git a/extra/xmode/modes/moin.xml b/extra/xmode/modes/moin.xml new file mode 100644 index 0000000000..cc6ac757fb --- /dev/null +++ b/extra/xmode/modes/moin.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + ## + + + #pragma + + + + [[ + ]] + + + + \s+(?:\(|\)|\w)[\p{Alnum}\p{Blank}.()]+:: + + + + + + + {{{ + }}} + + + + + ` + ` + + + + ('{2,5})[^']+\1[^'] + + + -{4,} + + + + (={1,5}) + $1 + + + + [A-Z][a-z]+[A-Z][a-zA-Z]+ + + + + [" + "] + + + + + [ + ] + + + + + diff --git a/extra/xmode/modes/mqsc.xml b/extra/xmode/modes/mqsc.xml new file mode 100644 index 0000000000..9fdc9c8271 --- /dev/null +++ b/extra/xmode/modes/mqsc.xml @@ -0,0 +1,231 @@ + + + + + + + + + + + + + * + + + + + (' + ') + + + + ( + ) + + + + + + + + + all + alter + alt + clear + define + def + delete + display + dis + end + like + ping + refresh + ref + replace + reset + resolve + resume + start + stop + suspend + + + channel + chl + chstatus + chst + clusqmgr + process + proc + namelist + nl + qalias + qa + qcluster + qc + qlocal + ql + qmodel + qm + qmgr + qremote + qr + queue + + + altdate + alttime + applicid + appltype + authorev + batches + batchint + batchsz + boqname + bothresh + bufsrcvd + bufssent + bytsrcvd + bytssent + ccsid + chad + chadev + chadexit + channel + chltype + chstada + chstati + clusdate + clusinfo + clusnl + clusqmgr + clusqt + cluster + clustime + clwldata + clwlexit + clwlwen + cmdlevel + commandq + conname + convert + crdate + crtime + curdepth + curluwid + curmsgs + curseqno + deadq + defbind + defprty + defpsist + defsopt + deftype + defxmitq + descr + discint + distl + envrdata + get + hardenbo + hbint + indoubt + inhibtev + initq + ipprocs + jobname + localev + longrts + longrty + longtmr + lstluwid + lstmsgda + lstmsgti + lstseqno + maxdepth + maxhands + maxmsgl + maxprty + maxumsgs + mcaname + mcastat + mcatype + mcauser + modename + mrdata + mrexit + mrrty + mrtmr + msgdata + msgdlvsq + msgexit + msgs + namcount + names + netprty + npmspeed + opprocs + password + perfmev + platform + process + put + putaut + qdepthhi + qdepthlo + qdphiev + qdploev + qdpmaxev + qmid + qmname + qmtype + qsvciev + qsvcint + qtype + rcvdata + rcvexit + remoteev + repos + reposnl + retintvl + rname + rqmname + scope + scydata + scyexit + senddata + sendexit + seqwrap + share + shortrts + shortrty + shorttmr + status + stopreq + strstpev + suspend + syncpt + targq + tpname + trigdata + trigdpth + trigger + trigint + trigmpri + trigtype + trptype + type + usage + userdata + userid + xmitq + + + \ No newline at end of file diff --git a/extra/xmode/modes/myghty.xml b/extra/xmode/modes/myghty.xml new file mode 100644 index 0000000000..1cf83ef87a --- /dev/null +++ b/extra/xmode/modes/myghty.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + # + + + + + <%attr> + </%attr> + + + + + <%(def|closure|method) + > + + </%(def|closure|method)> + + + + <%doc> + </%doc> + + + + + <%flags> + </%flags> + + + + + <%python[^>]*> + </%python> + + + + + <%(args|cleanup|filter|global|init|once|requestlocal|requestonce|shared|threadlocal|threadonce)> + </%$1> + + + + + <%text> + </%text> + + + + </&> + + <&[|]? + &> + + + + + <% + %> + + + % + + + + + + args + attr + cleanup + closure + def + doc + filter + flags + global + init + method + once + python + requestlocal + requestonce + shared + threadlocal + threadonce + + + + + + + @ + + + ARGS + MODULE + SELF + m + + r + + s + + u + + h + + + + + + + diff --git a/extra/xmode/modes/mysql.xml b/extra/xmode/modes/mysql.xml new file mode 100644 index 0000000000..fe462a75b6 --- /dev/null +++ b/extra/xmode/modes/mysql.xml @@ -0,0 +1,244 @@ + + + + + + + + + + + + + /* + */ + + + " + " + + + ' + ' + + + + + ADD + ALL + ALTER + ANALYZE + AND + AS + ASC + ASENSITIVE + BEFORE + BETWEEN + BIGINT + BINARY + BLOB + BOTH + BY + CALL + CASCADE + CASE + CHANGE + CHAR + CHARACTER + CHECK + COLLATE + COLUMN + CONDITION + CONNECTION + CONSTRAINT + CONTINUE + CONVERT + CREATE + CROSS + CURRENT_DATE + CURRENT_TIME + CURRENT_TIMESTAMP + CURRENT_USER + CURSOR + DATABASE + DATABASES + DAY_HOUR + DAY_MICROSECOND + DAY_MINUTE + DAY_SECOND + DEC + DECIMAL + DECLARE + DEFAULT + DELAYED + DELETE + DESC + DESCRIBE + DETERMINISTIC + DISTINCT + DISTINCTROW + DIV + DOUBLE + DROP + DUAL + EACH + ELSE + ELSEIF + ENCLOSED + ESCAPED + EXISTS + EXIT + EXPLAIN + FALSE + FETCH + FLOAT + FOR + FORCE + FOREIGN + FROM + FULLTEXT + GOTO + GRANT + GROUP + HAVING + HIGH_PRIORITY + HOUR_MICROSECOND + HOUR_MINUTE + HOUR_SECOND + IF + IGNORE + IN + INDEX + INFILE + INNER + INOUT + INSENSITIVE + INSERT + INT + INTEGER + INTERVAL + INTO + IS + ITERATE + JOIN + KEY + KEYS + KILL + LEADING + LEAVE + LEFT + LIKE + LIMIT + LINES + LOAD + LOCALTIME + LOCALTIMESTAMP + LOCK + LONG + LONGBLOB + LONGTEXT + LOOP + LOW_PRIORITY + MATCH + MEDIUMBLOB + MEDIUMINT + MEDIUMTEXT + MIDDLEINT + MINUTE_MICROSECOND + MINUTE_SECOND + MOD + MODIFIES + NATURAL + NOT + NO_WRITE_TO_BINLOG + NULL + NUMERIC + ON + OPTIMIZE + OPTION + OPTIONALLY + OR + ORDER + OUT + OUTER + OUTFILE + PRECISION + PRIMARY + PROCEDURE + PURGE + READ + READS + REAL + REFERENCES + REGEXP + RENAME + REPEAT + REPLACE + REQUIRE + RESTRICT + RETURN + REVOKE + RIGHT + RLIKE + SCHEMA + SCHEMAS + SECOND_MICROSECOND + SELECT + SENSITIVE + SEPARATOR + SET + SHOW + SMALLINT + SONAME + SPATIAL + SPECIFIC + SQL + SQLEXCEPTION + SQLSTATE + SQLWARNING + SQL_BIG_RESULT + SQL_CALC_FOUND_ROWS + SQL_SMALL_RESULT + SSL + STARTING + STRAIGHT_JOIN + TABLE + TERMINATED + THEN + TINYBLOB + TINYINT + TINYTEXT + TO + TRAILING + TRIGGER + TRUE + UNDO + UNION + UNIQUE + UNLOCK + UNSIGNED + UPDATE + USAGE + USE + USING + UTC_DATE + UTC_TIME + UTC_TIMESTAMP + VALUES + VARBINARY + VARCHAR + VARCHARACTER + VARYING + WHEN + WHERE + WHILE + WITH + WRITE + XOR + YEAR_MONTH + ZEROFILL + + + + + diff --git a/extra/xmode/modes/netrexx.xml b/extra/xmode/modes/netrexx.xml new file mode 100644 index 0000000000..48d50eb351 --- /dev/null +++ b/extra/xmode/modes/netrexx.xml @@ -0,0 +1,414 @@ + + + + + + + + + + + + + + + + + /** + */ + + + + + /* + */ + + + + " + " + + + ' + ' + + + -- + + = + ! + >= + <= + + + - + / + + + .* + + * + > + < + % + & + | + ^ + ~ + } + { + + + + abbrev + abs + b2x + center + centre + changestr + charAt + compare + copies + copyIndexed + countstr + c2d + c2x + datatype + delstr + delword + d2c + d2X + equals + exists + format + hashCode + insert + lastpos + left + length + lower + max + min + nop + overlay + parse + pos + reverse + right + say + sequence + sign + space + strip + substr + subword + toCharArray + toString + toboolean + tobyte + tochar + todouble + tofloat + toint + tolong + toshort + trunc + translate + upper + verify + word + wordindex + wordlength + wordpos + words + x2b + x2c + x2d + + class + private + public + abstract + final + interface + dependent + adapter + deprecated + extends + uses + implements + + method + native + returns + signals + + properties + private + public + inheritable + constant + static + volatile + unused + transient + indirect + + do + label + protect + catch + finally + end + signal + + if + then + else + select + case + when + otherwise + + loop + forever + for + to + by + over + until + while + leave + iterate + + return + exit + + ask + digits + form + null + source + this + super + parent + sourceline + version + + trace + var + all + results + off + methods + + package + import + numeric + scientific + engineering + + options + comments + nocomments + keep + nokeep + compact + nocompact + console + noconsole + decimal + nodecimal + explicit + noexplicit + java + nojava + savelog + nosavelog + + sourcedir + nosourcedir + symbols + nosymbols + utf8 + noutf8 + + notrace + binary + nobinary + crossref + nocrossref + diag + nodiag + format + noformat + logo + nologo + replace + noreplace + + strictassign + nostrictassign + strictcase + nostrictcase + strictargs + nostrictargs + strictimport + nostrictimport + strictsignal + nostrictsignal + strictprops + nostrictprops + + verbose + noverbose + verbose0 + verbose1 + verbose2 + verbose3 + verbose4 + verbose5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ArithmeticException + ArrayIndexOutOfBoundsException + ArrayStoreException + ClassCastException + ClassNotFoundException + CloneNotSupportedException + Exception + IllegalAccessException + IllegalArgumentException + IllegalMonitorStateException + IllegalStateException + IllegalThreadStateException + IndexOutOfBoundsException + InstantiationException + InterruptedException + NegativeArraySizeException + NoSuchFieldException + NoSuchMethodException + NullPointerException + NumberFormatException + RuntimeException + SecurityException + StringIndexOutOfBoundsException + UnsupportedOperationException + + CharConversionException + EOFException + FileNotFoundException + InterruptedIOException + InvalidClassException + InvalidObjectException + IOException + NotActiveException + NotSerializableException + ObjectStreamException + OptionalDataException + StreamCorruptedException + SyncFailedException + UnsupportedEncodingException + UTFDataFormatException + WriteAbortedException + + + RemoteException + + + BadArgumentException + BadColumnException + BadNumericException + DivideException + ExponentOverflowException + NoOtherwiseException + NotCharacterException + NotLogicException + + + + diff --git a/extra/xmode/modes/nqc.xml b/extra/xmode/modes/nqc.xml new file mode 100644 index 0000000000..1c0e0386fa --- /dev/null +++ b/extra/xmode/modes/nqc.xml @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + + # + + // + = + ! + >= + <= + + + - + / + + * + > + < + % + & + | + ^ + ~ + } + { + : + + + ( + ) + + + __event_src + __sensor + __type + abs + aquire + catch + const + break + case + continue + default + do + else + for + monitor + if + return + repeat + sign + start + stop + sub + switch + task + while + + asm + inline + + int + void + + true + false + NULL + + SENSOR_1 + SENSOR_2 + SENSOR_3 + + SENSOR_TYPE_NONE + SENSOR_TYPE_TOUCH + SENSOR_TYPE_TEMPERATURE + SENSOR_TYPE_LIGHT + SENSOR_TYPE_ROTATION + + SENSOR_MODE_RAW + SENSOR_MODE_BOOL + SENSOR_MODE_EDGE + SENSOR_MODE_PULSE + SENSOR_MODE_PERCENT + SENSOR_MODE_FAHRENHEIT + SENSOR_MODE_CELSIUS + SENSOR_MODE_ROTATION + + SENSOR_TOUCH + SENSOR_LIGHT + SENSOR_EDGE + SENSOR_PULSE + SENSOR_FAHRENHEIT + SENSOR_CELSIUS + SENSOR_ROTATION + + OUT_A + OUT_B + OUT_C + + OUT_OFF + OUT_ON + OUT_FLOAT + + OUT_FWD + OUT_REV + OUT_TOOGLE + + OUT_FULL + OUT_HALF + OUT_LOW + + SOUND_CLICK + SOUND_DOUBLE_BEEP + SOUND_DOWN + SOUND_UP + SOUND_LOW_BEEP + SOUND_FAST_UP + + DISPLAY_WATCH + DISPLAY_OUT_A + DISPLAY_OUT_B + DISPLAY_OUT_C + DISPLAY_SENSOR_1 + DISPLAY_SENSOR_2 + DISPLAY_SENSOR_3 + + TX_POWER_LO + TX_POWER_HI + + SERIAL_COMM_DEFAULT + SERIAL_COMM_4800 + SERIAL_COMM_DUTY25 + SERIAL_COMM_76KHZ + + SERIAL_PACKET_PREAMBLE + SERIAL_PACKET_DEFAULT + SERIAL_PACKET_NEGATED + SERIAL_PACKET_CHECKSUM + SERIAL_PACKET_RCX + SERIAL_PACKET_ + + ACQUIRE_OUT_A + ACQUIRE_OUT_B + ACQUIRE_OUT_C + ACQUIRE_SOUND + ACQUIRE_USER_1 + ACQUIRE_USER_2 + ACQUIRE_USER_3 + ACQUIRE_USER_4 + + EVENT_TYPE_PRESSED + EVENT_TYPE_RELEASED + EVENT_TYPE_PULSE + EVENT_TYPE_EDGE + EVENT_TYPE_FASTCHANGE + EVENT_TYPE_LOW + EVENT_TYPE_NORMAL + EVENT_TYPE_HIGH + EVENT_TYPE_CLICK + EVENT_TYPE_DOUBLECLICK + EVENT_TYPE_MESSAGE + + EVENT_1_PRESSED + EVENT_1_RELEASED + EVENT_2_PRESSED + EVENT_2_RELEASED + EVENT_LIGHT_HIGH + EVENT_LIGHT_NORMAL + EVENT_LIGHT_LOW + EVENT_LIGHT_CLICK + EVENT_LIGHT_DOUBLECLICK + EVENT_COUNTER_0 + EVENT_COUNTER_1 + EVENT_TIMER_0 + EVENT_TIMER_1 + EVENT_TIMER_2 + EVENT_MESSAGE + + + + diff --git a/extra/xmode/modes/nsis2.xml b/extra/xmode/modes/nsis2.xml new file mode 100644 index 0000000000..1b104bd01d --- /dev/null +++ b/extra/xmode/modes/nsis2.xml @@ -0,0 +1,480 @@ + + + + + + + + + + + + + + ; + # + + $ + :: + : + + + " + " + + + + ' + ' + + + + ` + ` + + + + + dim + uninstallexename + + + $0 + $1 + $2 + $3 + $4 + $5 + $6 + $7 + $8 + $9 + $INSTDIR + $OUTDIR + $CMDLINE + $LANGUAGE + + + $R0 + $R1 + $R2 + $R3 + $R4 + $R5 + $R6 + $R7 + $R8 + $R9 + + + ARCHIVE + CENTER + CONTROL + CUR + EXT + F1 + F2 + F3 + F4 + F5 + F6 + F7 + F8 + F9 + F10 + F11 + F12 + F13 + F14 + F15 + F16 + F17 + F18 + F19 + F20 + F21 + F22 + F23 + F24 + FILE_ATTRIBUTE_ARCHIVE + MB_ABORTRETRYIGNORE + RIGHT + RO + SET + SHIFT + SW_SHOWMAXIMIZED + SW_SHOWMINIMIZED + SW_SHOWNORMAL + a + all + alwaysoff + auto + both + bottom + bzip2 + checkbox + colored + components + current + custom + directory + false + force + hide + ifnewer + instfiles + license + listonly + manual + nevershow + none + off + on + r + radiobuttons + show + silent + silentlog + smooth + textonly + top + true + try + uninstConfirm + w + zlib + $$ + $DESKTOP + $EXEDIR + $HWNDPARENT + $PLUGINSDIR + $PROGRAMFILES + $QUICKLAUNCH + $SMPROGRAMS + $SMSTARTUP + $STARTMENU + $SYSDIR + $TEMP + $WINDIR + $\n + $\r + ${NSISDIR} + ALT + END + FILE_ATTRIBUTE_HIDDEN + FILE_ATTRIBUTE_NORMAL + FILE_ATTRIBUTE_OFFLINE + FILE_ATTRIBUTE_READONLY + FILE_ATTRIBUTE_SYSTEM + FILE_ATTRIBUTE_TEMPORARY + HIDDEN + HKCC + HKCR + HKCU + HKDD + HKLM + HKPD + HKU + SHCTX + IDABORT + IDCANCEL + IDIGNORE + IDNO + IDOK + IDRETRY + IDYES + LEFT + MB_DEFBUTTON1 + MB_DEFBUTTON2 + MB_DEFBUTTON3 + MB_DEFBUTTON4 + MB_ICONEXCLAMATION + MB_ICONINFORMATION + MB_ICONQUESTION + MB_ICONSTOP + MB_OK + MB_OKCANCEL + MB_RETRYCANCEL + MB_RIGHT + MB_SETFOREGROUND + MB_TOPMOST + MB_YESNO + MB_YESNOCANCEL + NORMAL + OFFLINE + READONLY + SYSTEM + TEMPORARY + + + /0 + /COMPONENTSONLYONCUSTOM + /CUSTOMSTRING + /FILESONLY + /IMGID + /ITALIC + /LANG + /NOCUSTOM + /NOUNLOAD + /REBOOTOK + /RESIZETOFIT + /RTL + /SHORT + /SILENT + /STRIKE + /TIMEOUT + /TRIM + /UNDERLINE + /a + /e + /ifempty + /nonfatal + /oname + /r + /windows + + + !addincludedir + !addplugindir + !define + !include + !cd + !echo + !error + !insertmacro + !packhdr + !system + !warning + !undef + !verbose + + + !ifdef + !ifndef + !if + !else + !endif + !macro + !macroend + + + function + functionend + section + sectionend + subsection + subsectionend + + + addbrandingimage + addsize + allowrootdirinstall + allowskipfiles + autoclosewindow + bggradient + brandingtext + bringtofront + callinstdll + caption + changeui + checkbitmap + completedtext + componenttext + copyfiles + crccheck + createdirectory + createfont + createshortcut + delete + deleteinisec + deleteinistr + deleteregkey + deleteregvalue + detailprint + detailsbuttontext + dirshow + dirtext + enumregkey + enumregvalue + exch + exec + execshell + execwait + expandenvstrings + file + fileclose + fileerrortext + fileopen + fileread + filereadbyte + fileseek + filewrite + filewritebyte + findclose + findfirst + findnext + findwindow + flushini + getcurinsttype + getcurrentaddress + getdlgitem + getdllversion + getdllversionlocal + getfiletime + getfiletimelocal + getfullpathname + getfunctionaddress + getlabeladdress + gettempfilename + getwindowtext + hidewindow + icon + initpluginsdir + installbuttontext + installcolors + installdir + installdirregkey + instprogressflags + insttype + insttypegettext + insttypesettext + intfmt + intop + langstring + langstringup + licensebkcolor + licensedata + licenseforceselection + licensetext + loadlanguagefile + loadlanguagefile + logset + logtext + miscbuttontext + name + nop + outfile + page + plugindir + pop + push + readenvstr + readinistr + readregdword + readregstr + regdll + rename + reservefile + rmdir + searchpath + sectiongetflags + sectiongetinsttypes + sectiongetsize + sectiongettext + sectionin + sectionsetflags + sectionsetinsttypes + sectionsetsize + sectionsettext + sendmessage + setautoclose + setbkcolor + setbrandingimage + setcompress + setcompressor + setcurinsttype + setdatablockoptimize + setdatesave + setdetailsprint + setdetailsview + setfileattributes + setfont + setoutpath + setoverwrite + setpluginunload + setrebootflag + setshellvarcontext + setstaticbkcolor + setwindowlong + showinstdetails + showuninstdetails + showwindow + silentinstall + silentuninstall + sleep + spacetexts + strcpy + strlen + subcaption + uninstallbuttontext + uninstallcaption + uninstallicon + uninstallsubcaption + uninstalltext + uninstpage + unregdll + var + viaddversionkey + videscription + vicompanyname + vicomments + vilegalcopyrights + vilegaltrademarks + viproductname + viproductversion + windowicon + writeinistr + writeregbin + writeregdword + writeregexpandstr + writeregstr + writeuninstaller + xpstyle + + + abort + call + clearerrors + goto + ifabort + iferrors + iffileexists + ifrebootflag + intcmp + intcmpu + iswindow + messagebox + reboot + return + quit + seterrors + strcmp + + + .onguiinit + .oninit + .oninstfailed + .oninstsuccess + .onmouseoversection + .onselchange + .onuserabort + .onverifyinstdir + un.onguiinit + un.oninit + un.onuninstfailed + un.onuninstsuccess + un.onuserabort + + + + + + + diff --git a/extra/xmode/modes/objective-c.xml b/extra/xmode/modes/objective-c.xml new file mode 100644 index 0000000000..c6c52c8211 --- /dev/null +++ b/extra/xmode/modes/objective-c.xml @@ -0,0 +1,119 @@ + + + + + + + + + + + + + + + + + + + + + + + + # + + + + + + + + + + + id + Class + SEL + IMP + BOOL + + + oneway + in + out + inout + bycopy + byref + self + super + + + @interface + @implementation + @protocol + @end + @private + @protected + @public + @class + @selector + @endcode + @defs + + TRUE + FALSE + YES + NO + NULL + nil + Nil + + + + + + + include\b + import\b + define\b + endif\b + elif\b + if\b + + + + + + ifdef + ifndef + else + error + line + pragma + undef + warning + + + + + + + # + + + + + + diff --git a/extra/xmode/modes/objectrexx.xml b/extra/xmode/modes/objectrexx.xml new file mode 100644 index 0000000000..875e83ec90 --- /dev/null +++ b/extra/xmode/modes/objectrexx.xml @@ -0,0 +1,246 @@ + + + + + + + + + + + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + + # + + -- + = + ! + >= + <= + + + - + / + + * + > + < + % + & + | + ^ + ~ + } + { + + :: + + : + + + ( + ) + + + Address + Arg + Call + Do + Drop + Exit + Expose + Forward + Guard + If + Interpret + Iterate + Leave + Nop + Numeric + Parse + Procedure + pull + Push + Queue + Raise + reply + Return + Say + Seleect + Signal + Trace + use + Class + Method + Requires + Routine + Result + RC + Self + Sigl + Super + Abbrev + Abs + Address + Arg + Beep + BitAnd + BitOr + BitXor + B2X + Center + ChangeStr + CharIn + CharOut + Chars + Compare + Consition + Copies + CountStr + C2D + C2X + DataType + Date + DelStr + DelWord + Digits + Directory + D2C + D2X + ErrorText + FileSpec + Form + Format + Fuzz + Insert + LastPos + Left + Length + LineIn + LineOut + Lines + Max + Min + Overlay + Pos + Queued + Random + Reverse + Right + Sign + SourceLine + Space + Stream + Strip + SubStr + SubWord + Symbol + Time + Trace + Translate + Trunc + Value + Var + Verify + Word + WordIndex + WordLength + WordPos + Words + XRange + X2B + X2C + X2D + RxFuncAdd + RxFuncDrop + RxFuncQuery + RxMessageBox + RxWinExec + SysAddRexxMacro + SysBootDrive + SysClearRexxMacroSpace + SysCloseEventSem + SysCloseMutexSem + SysCls + SysCreateEventSem + SysCreateMutexSem + SysCurPos + SysCurState + SysDriveInfo + SysDriveMap + SysDropFuncs + SysDropRexxMacro + SysDumpVariables + SysFileDelete + SysFileSearch + SysFileSystemType + SysFileTree + SysFromUnicode + SysToUnicode + SysGetErrortext + SysGetFileDateTime + SysGetKey + SysIni + SysLoadFuncs + SysLoadRexxMacroSpace + SysMkDir + SysOpenEventSem + SysOpenMutexSem + SysPostEventSem + SysPulseEventSem + SysQueryProcess + SysQueryRexxMacro + SysReleaseMutexSem + SysReorderRexxMacro + SysRequestMutexSem + SysResetEventSem + SysRmDir + SysSaveRexxMacroSpace + SysSearchPath + SysSetFileDateTime + SysSetPriority + SysSleep + SysStemCopy + SysStemDelete + SysStemInsert + SysStemSort + SysSwitchSession + SysSystemDirectory + SysTempFileName + SysTextScreenRead + SysTextScreenSize + SysUtilVersion + SysVersion + SysVolumeLabel + SysWaitEventSem + SysWaitNamedPipe + SysWinDecryptFile + SysWinEncryptFile + SysWinVer + + + diff --git a/extra/xmode/modes/occam.xml b/extra/xmode/modes/occam.xml new file mode 100644 index 0000000000..4e7265eeed --- /dev/null +++ b/extra/xmode/modes/occam.xml @@ -0,0 +1,260 @@ + + + + + + + + + + + + + + + + + -- + + + # + + + ' + ' + + + + " + " + + + := + = + >> + << + <> + >< + > + < + >= + <= + + + - + / + \ + * + ? + ! + /\ + \/ + ~ + + + + ALT + ASM + CASE + FUNCTION + IF + INLINE + PAR + PLACED + PRI + PROC + RESULT + SEQ + VALOF + WHILE + + + AT + ELSE + FOR + FROM + IS + PLACE + PORT + PROTOCOL + SKIP + STOP + VAL + + + AFTER + AND + ANY + BITAND + BITNOT + BITOR + BOOL + BYTE + BYTESIN + CHAN + DATA + INT + INT32 + INT16 + INT64 + MINUS + MOSTNEG + MOSTPOS + NOT + PLUS + OF + OFFSETOF + OR + PACKED + REAL32 + REAL64 + RECORD + REM + RESHAPES + RETYPES + ROUND + SIZE + TIMER + TIMES + TRUNC + TYPE + + + BUCKET + CLAIM + ENROLL + EVENT + FALL + FLUSH + GRANT + INITIAL + RESOURCE + SEMAPHORE + SHARED + SYNC + + + LONGADD + LONGSUB + ASHIFTRIGHT + ASHIFTLEFT + ROTATERIGHT + ROTATELEFT + LONGSUM + LONGDIFF + LONGPROD + LONGDIV + SHIFTLEFT + SHIFTRIGHT + NORMALISE + ABS + DABS + SCALEB + DSCALEB + COPYSIGN + DCOPYSIGN + SQRT + DSQRT + MINUSX + DMINUSX + NEXTAFTER + DNEXTAFTER + MULBY2 + DMULBY2 + DIVBY2 + DDIVBY2 + LOGB + DLOGB + ISNAN + DISNAN + NOTFINITE + DNOTFINITE + ORDERED + DORDERED + FLOATING.UNPACK + DFLOATING.UNPACK + ARGUMENT.REDUCE + DARGUMENT.REDUCE + FPINT + DFPINT + REAL32OP + REAL64OP + IEEE32OP + IEEE64OP + REAL32REM + REAL64REM + IEEE32REM + IEEE64REM + REAL32EQ + REAL64EQ + REAL32GT + REAL64GT + IEEECOMPARE + DIEEECOMPARE + ALOG + DALOG + ALOG10 + DALOG10 + EXP + DEXP + TAN + DTAN + SIN + DSIN + ASIN + DASIN + COS + DCOS + SINH + DSINH + COSH + DCOSH + TANH + DTANH + ATAN + DATAN + ATAN2 + DATAN2 + RAN + DRAN + POWER + DPOWER + + + INTTOSTRING + INT16TOSTRING + INT32TOSTRING + INT64TOSTRING + STRINGTOINT + STRINGTOINT16 + STRINGTOINT32 + STRINGTOINT64 + HEXTOSTRING + HEX16TOSTRING + HEX32TOSTRING + HEX64TOSTRING + STRINGTOHEX + STRINGTOHEX16 + STRINGTOHEX32 + STRINGTOHEX64 + STRINGTOREAL32 + STRINGTOREAL64 + REAL32TOSTRING + REAL64TOSTRING + STRINGTOBOOL + BOOLTOSTRING + RESCHEDULE + ASSERT + + + + FALSE + TRUE + + + diff --git a/extra/xmode/modes/omnimark.xml b/extra/xmode/modes/omnimark.xml new file mode 100644 index 0000000000..721ba4ae3a --- /dev/null +++ b/extra/xmode/modes/omnimark.xml @@ -0,0 +1,455 @@ + + + + + + + + + + + + + + + + + + #! + ; + + + "((?!$)[^"])*$ + $ + + + " + " + + + '((?!$)[^'])*$ + $ + + + ' + ' + + + & + | + + + + + + = + / + < + > + ~ + @ + $ + % + ^ + * + ? + ! + + + #additional-info + #appinfo + #args + #capacity + #charset + #class + #command-line-names + #console + #current-input + #current-output + #data + #doctype + #document + #dtd + #empty + #error + #error-code + #external-exception + #file-name + #first + #group + #implied + #item + #language-version + #last + #libpath + #library + #libvalue + #line-number + #main-input + #main-output + #markup-error-count + #markup-error-total + #markup-parser + #markup-warning-count + #markup-warning-total + #message + #none + #output + #platform-info + #process-input + #process-output + #program-error + #recovery-info + #sgml + #sgml-error-count + #sgml-error-total + #sgml-warning-count + #sgml-warning-total + #suppress + #syntax + #! + abs + activate + active + after + again + ancestor + and + another + always + and + any + any-text + arg + as + assert + attached + attribute + attributes + base + bcd + before + binary + binary-input + binary-mode + binary-output + blank + break-width + buffer + buffered + by + case + catch + catchable + cdata + cdata-entity + ceiling + children + clear + close + closed + compiled-date + complement + conref + content + content-end + content-start + context-translate + copy + copy-clear + counter + created + creating + creator + cross-translate + current + data-attribute + data-attributes + data-content + data-letters + date + deactivate + declare + declared-conref + declared-current + declared-defaulted + declared-fixed + declared-implied + declared-required + decrement + default-entity + defaulted + defaulting + define + delimiter + difference + digit + directory + discard + divide + do + doctype + document + document-element + document-end + document-start + domain-free + done + down-translate + drop + dtd + dtd-end + dtd-start + dtds + element + elements + else + elsewhere + empty + entities + entity + epilog-start + equal + equals + escape + except + exists + exit + external + external-data-entity + external-entity + external-function + external-output-function + external-text-entity + false + file + find + find-end + find-start + floor + flush + for + format + function + function-library + general + global + greater-equal + greater-than + group + groups + halt + halt-everything + has + hasnt + heralded-names + id + id-checking + idref + idrefs + ignore + implied + in + in-library + include + include-end + include-guard + include-start + inclusion + increment + initial + initial-size + input + insertion-break + instance + integer + internal + invalid-data + is + isnt + item + join + key + keyed + last + lastmost + lc + length + less-equal + less-than + letter + letters + library + line-end + line-start + literal + local + ln + log + log10 + lookahead + macro + macro-end + marked-section + markup-comment + markup-error + markup-parser + markup-wrapper + mask + match + matches + minus + mixed + modifiable + modulo + name + name-letters + namecase + named + names + ndata-entity + negate + nested-referents + new + newline + next + nmtoken + nmtokens + no + no-default-io + non-cdata + non-implied + non-sdata + not + not-reached + notation + number + number-of + numbers + null + nutoken + nutokens + occurrence + of + opaque + open + optional + or + output + output-to + over + parameter + parent + past + pattern + pcdata + plus + preparent + previous + process + process-end + process-start + processing-instruction + prolog-end + prolog-in-error + proper + public + put + rcdata + remove + read-only + readable + referent + referents + referents-allowed + referents-displayed + referents-not-allowed + remainder + reopen + repeat + repeated + replacement-break + reset + rethrow + return + reversed + round + save + save-clear + scan + sdata + sdata-entity + select + set + sgml + sgml-comment + sgml-declaration-end + sgml-dtd + sgml-dtds + sgml-error + sgml-in + sgml-out + sgml-parse + sgml-parser + shift + silent-referent + size + skip + source + space + specified + sqrt + status + stream + subdoc-entity + subdocument + subdocuments + subelement + submit + succeed + suppress + switch + symbol + system + system-call + take + test-system + text + text-mode + this + throw + thrown + times + to + token + translate + true + truncate + uc + ul + unanchored + unattached + unbuffered + union + unless + up-translate + usemap + using + value + value-end + value-start + valued + variable + when + white-space + with + word-end + word-start + writable + xml + xml-dtd + xml-dtds + xml-parse + yes + + + diff --git a/extra/xmode/modes/pascal.xml b/extra/xmode/modes/pascal.xml new file mode 100644 index 0000000000..d411d56d9a --- /dev/null +++ b/extra/xmode/modes/pascal.xml @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + {$ + } + + + (*$ + *) + + + + + { + } + + + + (* + *) + + + // + + + ' + ' + + + ) + ( + ] + [ + . + , + ; + ^ + @ + := + : + = + <> + > + < + >= + <= + + + - + / + * + + + + and + array + as + at + asm + begin + case + class + const + constructor + destructor + dispinterface + div + do + downto + else + end + except + exports + file + final + finalization + finally + for + function + goto + if + implementation + in + inherited + initialization + inline + interface + is + label + mod + not + object + of + on + or + out + packed + procedure + program + property + raise + record + repeat + resourcestring + set + sealed + shl + shr + static + string + then + threadvar + to + try + type + unit + unsafe + until + uses + var + while + with + xor + + absolute + abstract + assembler + automated + cdecl + contains + default + deprecated + dispid + dynamic + export + external + far + forward + implements + index + library + local + message + name + namespaces + near + nodefault + overload + override + package + pascal + platform + private + protected + public + published + read + readonly + register + reintroduce + requires + resident + safecall + stdcall + stored + varargs + virtual + write + writeonly + + + shortint + byte + char + smallint + integer + word + longint + cardinal + + boolean + bytebool + wordbool + longbool + + real + single + double + extended + comp + currency + + pointer + + false + nil + self + true + + + diff --git a/extra/xmode/modes/patch.xml b/extra/xmode/modes/patch.xml new file mode 100644 index 0000000000..c2ac51a8f0 --- /dev/null +++ b/extra/xmode/modes/patch.xml @@ -0,0 +1,18 @@ + + + + + + + +++ + --- + Index: + + + > + - + < + ! + @@ + * + + diff --git a/extra/xmode/modes/perl.xml b/extra/xmode/modes/perl.xml new file mode 100644 index 0000000000..2bb9f669ac --- /dev/null +++ b/extra/xmode/modes/perl.xml @@ -0,0 +1,732 @@ + + + + + + + + + + + + + + + + + + # + + + + =head1 + =cut + + + =head2 + =cut + + + =head3 + =cut + + + =head4 + =cut + + + =item + =cut + + + =over + =cut + + + =back + =cut + + + =pod + =cut + + + =for + =cut + + + =begin + =cut + + + =end + =cut + + + + *" + *' + &" + &' + + + ${ + } + + + + \$#?((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + + + @((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + + + %((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + + + \$\$+((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + @\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + %\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + \*((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + + + \$\^\p{Alpha} + \$\p{Punct} + + + \\[@%\$&]((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + + + + &{ + } + + + + &\$((\p{Alpha}\w*|_\w+)?::)*(\p{Alpha}\w*|_\w+|\d+) + + + + sub\s + { + + + + &\p{Alpha}[\p{Alnum}_]*'\p{Alpha}[\p{Alnum}_]* + + + + " + " + + + + + ' + ' + + + + -[\p{Lower}]\w+ + + + -[\p{Lower}] + + + + \{(?=\s*[\p{Alpha}_\-][\p{Alnum}_]*\s*\}) + } + + + + + { + } + + + + + @{ + } + + + + + %{ + } + + + + : + + + __\w+__ + + + + ` + ` + + + + <[\p{Punct}\p{Alnum}_]*> + + + + + $2 + + + + $1 + + + + + + /.*?[^\\]/[cgimosx]*(?!\s*[\d\$\@\(\-]) + + + + q(?:|[qrxw])([#\[{(/|]) + ~1 + + + + tr\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]* + + tr([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]* + + + y\s*\{.*?[^\\]\}\s*\{(?:.*?[^\\])*\}[cds]* + + y([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[cds]* + + + m\s*\{.*?[^\\]\}[cgimosx]* + + m([^\p{Alnum}\p{Space}\}])(?:.*?[^\\])\1[cgimosx]* + + + s\s*\{.*?\}\s*\{.*?\}[egimosx]* + + s([^\p{Alnum}\p{Space}\}])(?:.*?)\1(?:.*?)\1[egimosx]* + + + || + && + != + <=> + -> + => + == + =~ + !~ + + += + -= + /= + *= + .= + %= + + &= + |= + **= + <<= + >>= + &&= + ||= + ^= + x= + >= + <= + > + < + + + | + & + ! + = + ! + + + - + / + ** + * + ^ + ~ + { + } + ? + : + + + + new + if + until + while + elsif + else + unless + for + foreach + BEGIN + END + + cmp + eq + ne + le + ge + not + and + or + xor + + + x + + + + + chomp + chop + chr + crypt + hex + index + lc + lcfirst + length + oct + ord + pack + reverse + rindex + sprintf + substr + uc + ucfirst + + + pos + quotemeta + split + study + + + abs + atan2 + cos + exp + + int + log + + rand + sin + sqrt + srand + + + pop + push + shift + splice + unshift + + + grep + join + map + + sort + unpack + + + delete + each + exists + keys + values + + + binmode + close + closedir + dbmclose + dbmopen + + eof + fileno + flock + format + getc + print + printf + read + readdir + rewinddir + seek + seekdir + select + syscall + sysread + sysseek + syswrite + tell + telldir + truncate + warn + write + + + + + + + + + vec + + + chdir + chmod + chown + chroot + fcntl + glob + ioctl + link + lstat + mkdir + open + opendir + readlink + rename + rmdir + stat + symlink + umask + unlink + utime + + + caller + continue + die + do + dump + eval + exit + goto + last + next + redo + return + wantarray + + + + + local + my + our + package + use + + + defined + + + formline + + + reset + scalar + undef + + + + alarm + exec + fork + getpgrp + getppid + getpriority + kill + pipe + setpgrp + setpriority + sleep + system + times + wait + waitpid + + + + import + no + + require + + + + bless + + + + ref + tie + tied + untie + + + + accept + bind + connect + getpeername + getsockname + getsockopt + listen + recv + send + setsockopt + shutdown + socket + socketpair + + + msgctl + msgget + msgrcv + msgsnd + semctl + semget + + semop + shmctl + shmget + shmread + shmwrite + + + endgrent + endhostent + endnetent + endpwent + getgrent + getgrgid + getgrnam + getlogin + getpwent + getpwnam + getpwuid + setgrent + setpwent + + + endprotoent + endservent + gethostbyaddr + gethostbyname + gethostent + getnetbyaddr + getnetbyname + getnetent + getprotobyname + getprotobynumber + getprotoent + getservbyname + getservbyport + getservent + sethostent + setnetent + setprotoent + setservent + + + gmtime + localtime + time + + + + + + = + + + + + + ${ + } + + + + + ->{ + } + + + $# + $ + + + @{ + } + + + @ + + + %{ + } + + + % + + | + & + ! + > + < + ) + ( + = + ! + + + - + / + * + ^ + ~ + } + { + . + , + ; + ] + [ + ? + : + + + + + + + %\d*\.?\d*[dfis] + + + + + + # + + + + ${ + } + + + $# + $ + + + @{ + } + + + @ + + + %{ + } + + + % + + + + + { + } + + + -> + + + + + )( + + + + # + + ( + ) + + + + + $ + @ + % + & + * + \ + + + + + + ([\[{\(]) + ~1 + + + + diff --git a/extra/xmode/modes/php.xml b/extra/xmode/modes/php.xml new file mode 100644 index 0000000000..91d8781627 --- /dev/null +++ b/extra/xmode/modes/php.xml @@ -0,0 +1,4832 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?php + ?> + + + + + <? + ?> + + + <?= + ?> + + + + + <% + %> + + + <%= + %> + + + + + <SCRIPT\s+LANGUAGE="?PHP"?> + </SCRIPT> + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <![CDATA[ + ]]> + + + + + <! + > + + + + </?\w+ + + + + & + ; + + + + + + + > + + + + + + + + + + + > + + + + + + + + + + + + ( + ) + + + + + + + + + + [ + ] + + + + + ( + ) + + + + ->\s*\w+\s*(?=\() + + + ->\w* + + + + ! + % + & + > + < + * + + + , + - + . + /(?!/) + :(?!:) + ; + = + ? + @ + [ + ] + ^ + ` + { + | + } + ~ + + + + + + + + + + + + \{(?=\$) + } + + + + + + + + + \{(?=\$) + } + + + + + + + + + \{(?=\$) + } + + + + + + + + { + + + + /**/ + + + + /** + */ + + + + /* + */ + + + // + # + + + + extends + implements + + + + + + + + \$\w+(?=\s*=\s*(&\s*)?new) + + + $ + + + + + + /**/ + + + + /** + */ + + + + /* + */ + + + + ' + ' + + + " + " + + + ` + ` + + + // + # + + ( + ( + + + + + $1 + + + + + ! + % + & + > + < + (array) + (bool) + (boolean) + (double) + (float) + (int) + (integer) + (object) + (real) + (string) + * + + + , + - + . + / + :(?!:) + ; + = + ? + @ + [ + ] + ^ + ` + { + | + } + ~ + ( + ) + + + + \$class\w* + \$interface\w* + + + class(\s+|$) + interface(\s+|$) + + + + \$\w+(?=(\[\$?[\s\w'"]+\])?->) + :: + + + + + + + + + + true + false + null + + + + + + + + + + + + + arrayiterator + arrayobject + cachingiterator + cachingrecursiveiterator + collection + descriptor + directoryiterator + domattr + domattribute + domcharacterdata + domdocument + domdocumenttype + domelement + domimplementation + domnamednodemap + domnode + domnodelist + domprocessinginstruction + domtext + domxpath + domxsltstylesheet + filteriterator + hw_api + hw_api_attribute + hw_api_content + hw_api_error + hw_api_object + hw_api_reason + limititerator + lob + memcache + parentiterator + pdo + pdostatement + rar + recursivedirectoryiterator + recursiveiteratoriterator + simplexmlelement + simplexmliterator + soapclient + soapfault + soapheader + soapparam + soapserver + soapvar + swfaction + swfbitmap + swfbutton + swfdisplayitem + swffill + swffont + swfgradient + swfmorph + swfmovie + swfshape + swfsprite + swftext + swftextfield + tidy + tidy_node + variant + + + + __call + __construct + __getfunctions + __getlastrequest + __getlastresponse + __gettypes + __tostring + abs + acos + acosh + add + add_namespace + add_root + addaction + addcolor + addcslashes + addentry + addfill + addfunction + addshape + addslashes + addstring + aggregate + aggregate_info + aggregate_methods + aggregate_methods_by_list + aggregate_methods_by_regexp + aggregate_properties + aggregate_properties_by_list + aggregate_properties_by_regexp + aggregation_info + align + apache_child_terminate + apache_get_modules + apache_get_version + apache_getenv + apache_lookup_uri + apache_note + apache_request_headers + apache_response_headers + apache_setenv + apd_breakpoint + apd_callstack + apd_clunk + apd_continue + apd_croak + apd_dump_function_table + apd_dump_persistent_resources + apd_dump_regular_resources + apd_echo + apd_get_active_symbols + apd_set_pprof_trace + apd_set_session + apd_set_session_trace + apd_set_socket_session_trace + append + append_child + append_sibling + appendchild + appenddata + array_change_key_case + array_chunk + array_combine + array_count_values + array_diff + array_diff_assoc + array_diff_key + array_diff_uassoc + array_diff_ukey + array_fill + array_filter + array_flip + array_intersect + array_intersect_assoc + array_intersect_key + array_intersect_uassoc + array_intersect_ukey + array_key_exists + array_keys + array_map + array_merge + array_merge_recursive + array_multisort + array_pad + array_pop + array_push + array_rand + array_reduce + array_reverse + array_search + array_shift + array_slice + array_splice + array_sum + array_udiff + array_udiff_assoc + array_udiff_uassoc + array_uintersect + array_uintersect_assoc + array_uintersect_uassoc + array_unique + array_unshift + array_values + array_walk + array_walk_recursive + arsort + ascii2ebcdic + asin + asinh + asort + aspell_check + aspell_check_raw + aspell_new + aspell_suggest + assert + assert_options + assign + assignelem + asxml + atan + atan2 + atanh + attreditable + attributes + base64_decode + base64_encode + base_convert + basename + bcadd + bccomp + bcdiv + bcmod + bcmul + bcpow + bcpowmod + bcscale + bcsqrt + bcsub + begintransaction + bin2hex + bind_textdomain_codeset + bindcolumn + bindec + bindparam + bindtextdomain + bzclose + bzcompress + bzdecompress + bzerrno + bzerror + bzerrstr + bzflush + bzopen + bzread + bzwrite + cal_days_in_month + cal_from_jd + cal_info + cal_to_jd + call_user_func + call_user_func_array + call_user_method + call_user_method_array + ccvs_add + ccvs_auth + ccvs_command + ccvs_count + ccvs_delete + ccvs_done + ccvs_init + ccvs_lookup + ccvs_new + ccvs_report + ccvs_return + ccvs_reverse + ccvs_sale + ccvs_status + ccvs_textvalue + ccvs_void + ceil + chdir + checkdate + checkdnsrr + checkin + checkout + chgrp + child_nodes + children + chmod + chop + chown + chr + chroot + chunk_split + class_exists + class_implements + class_parents + classkit_import + classkit_method_add + classkit_method_copy + classkit_method_redefine + classkit_method_remove + classkit_method_rename + clearstatcache + clone_node + clonenode + close + closedir + closelog + com + com_addref + com_create_guid + com_event_sink + com_get + com_get_active_object + com_invoke + com_isenum + com_load + com_load_typelib + com_message_pump + com_print_typeinfo + com_propget + com_propput + com_propset + com_release + com_set + commit + compact + connect + connection_aborted + connection_status + connection_timeout + constant + content + convert_cyr_string + convert_uudecode + convert_uuencode + copy + cos + cosh + count + count_chars + cpdf_add_annotation + cpdf_add_outline + cpdf_arc + cpdf_begin_text + cpdf_circle + cpdf_clip + cpdf_close + cpdf_closepath + cpdf_closepath_fill_stroke + cpdf_closepath_stroke + cpdf_continue_text + cpdf_curveto + cpdf_end_text + cpdf_fill + cpdf_fill_stroke + cpdf_finalize + cpdf_finalize_page + cpdf_global_set_document_limits + cpdf_import_jpeg + cpdf_lineto + cpdf_moveto + cpdf_newpath + cpdf_open + cpdf_output_buffer + cpdf_page_init + cpdf_place_inline_image + cpdf_rect + cpdf_restore + cpdf_rlineto + cpdf_rmoveto + cpdf_rotate + cpdf_rotate_text + cpdf_save + cpdf_save_to_file + cpdf_scale + cpdf_set_action_url + cpdf_set_char_spacing + cpdf_set_creator + cpdf_set_current_page + cpdf_set_font + cpdf_set_font_directories + cpdf_set_font_map_file + cpdf_set_horiz_scaling + cpdf_set_keywords + cpdf_set_leading + cpdf_set_page_animation + cpdf_set_subject + cpdf_set_text_matrix + cpdf_set_text_pos + cpdf_set_text_rendering + cpdf_set_text_rise + cpdf_set_title + cpdf_set_viewer_preferences + cpdf_set_word_spacing + cpdf_setdash + cpdf_setflat + cpdf_setgray + cpdf_setgray_fill + cpdf_setgray_stroke + cpdf_setlinecap + cpdf_setlinejoin + cpdf_setlinewidth + cpdf_setmiterlimit + cpdf_setrgbcolor + cpdf_setrgbcolor_fill + cpdf_setrgbcolor_stroke + cpdf_show + cpdf_show_xy + cpdf_stringwidth + cpdf_stroke + cpdf_text + cpdf_translate + crack_check + crack_closedict + crack_getlastmessage + crack_opendict + crc32 + create_attribute + create_cdata_section + create_comment + create_element + create_element_ns + create_entity_reference + create_function + create_processing_instruction + create_text_node + createattribute + createattributens + createcdatasection + createcomment + createdocument + createdocumentfragment + createdocumenttype + createelement + createelementns + createentityreference + createprocessinginstruction + createtextnode + crypt + ctype_alnum + ctype_alpha + ctype_cntrl + ctype_digit + ctype_graph + ctype_lower + ctype_print + ctype_punct + ctype_space + ctype_upper + ctype_xdigit + curl_close + curl_copy_handle + curl_errno + curl_error + curl_exec + curl_getinfo + curl_init + curl_multi_add_handle + curl_multi_close + curl_multi_exec + curl_multi_getcontent + curl_multi_info_read + curl_multi_init + curl_multi_remove_handle + curl_multi_select + curl_setopt + curl_version + current + cybercash_base64_decode + cybercash_base64_encode + cybercash_decr + cybercash_encr + cyrus_authenticate + cyrus_bind + cyrus_close + cyrus_connect + cyrus_query + cyrus_unbind + data + date + date_sunrise + date_sunset + dba_close + dba_delete + dba_exists + dba_fetch + dba_firstkey + dba_handlers + dba_insert + dba_key_split + dba_list + dba_nextkey + dba_open + dba_optimize + dba_popen + dba_replace + dba_sync + dbase_add_record + dbase_close + dbase_create + dbase_delete_record + dbase_get_header_info + dbase_get_record + dbase_get_record_with_names + dbase_numfields + dbase_numrecords + dbase_open + dbase_pack + dbase_replace_record + dblist + dbmclose + dbmdelete + dbmexists + dbmfetch + dbmfirstkey + dbminsert + dbmnextkey + dbmopen + dbmreplace + dbplus_add + dbplus_aql + dbplus_chdir + dbplus_close + dbplus_curr + dbplus_errcode + dbplus_errno + dbplus_find + dbplus_first + dbplus_flush + dbplus_freealllocks + dbplus_freelock + dbplus_freerlocks + dbplus_getlock + dbplus_getunique + dbplus_info + dbplus_last + dbplus_lockrel + dbplus_next + dbplus_open + dbplus_prev + dbplus_rchperm + dbplus_rcreate + dbplus_rcrtexact + dbplus_rcrtlike + dbplus_resolve + dbplus_restorepos + dbplus_rkeys + dbplus_ropen + dbplus_rquery + dbplus_rrename + dbplus_rsecindex + dbplus_runlink + dbplus_rzap + dbplus_savepos + dbplus_setindex + dbplus_setindexbynumber + dbplus_sql + dbplus_tcl + dbplus_tremove + dbplus_undo + dbplus_undoprepare + dbplus_unlockrel + dbplus_unselect + dbplus_update + dbplus_xlockrel + dbplus_xunlockrel + dbstat + dbx_close + dbx_compare + dbx_connect + dbx_error + dbx_escape_string + dbx_fetch_row + dbx_query + dbx_sort + dcgettext + dcngettext + dcstat + deaggregate + debug_backtrace + debug_print_backtrace + debug_zval_dump + debugger_off + debugger_on + decbin + dechex + decoct + decrement + define + define_syslog_variables + defined + deg2rad + delete + deletedata + description + dgettext + dio_close + dio_fcntl + dio_open + dio_read + dio_seek + dio_stat + dio_tcsetattr + dio_truncate + dio_write + dir + dirname + disk_free_space + disk_total_space + diskfreespace + dl + dngettext + dns_check_record + dns_get_mx + dns_get_record + doctype + document_element + dom_import_simplexml + domxml_new_doc + domxml_open_file + domxml_open_mem + domxml_version + domxml_xmltree + domxml_xslt_stylesheet + domxml_xslt_stylesheet_doc + domxml_xslt_stylesheet_file + dotnet + dotnet_load + doubleval + drawcurve + drawcurveto + drawline + drawlineto + dstanchors + dstofsrcanchors + dump_file + dump_mem + dump_node + each + easter_date + easter_days + ebcdic2ascii + end + entities + eof + erase + ereg + ereg_replace + eregi + eregi_replace + error_log + error_reporting + errorcode + errorinfo + escapeshellarg + escapeshellcmd + exec + execute + exif_imagetype + exif_read_data + exif_tagname + exif_thumbnail + exp + explode + expm1 + export + extension_loaded + extract + ezmlm_hash + fam_cancel_monitor + fam_close + fam_monitor_collection + fam_monitor_directory + fam_monitor_file + fam_next_event + fam_open + fam_pending + fam_resume_monitor + fam_suspend_monitor + fbsql_affected_rows + fbsql_autocommit + fbsql_blob_size + fbsql_change_user + fbsql_clob_size + fbsql_close + fbsql_commit + fbsql_connect + fbsql_create_blob + fbsql_create_clob + fbsql_create_db + fbsql_data_seek + fbsql_database + fbsql_database_password + fbsql_db_query + fbsql_db_status + fbsql_drop_db + fbsql_errno + fbsql_error + fbsql_fetch_array + fbsql_fetch_assoc + fbsql_fetch_field + fbsql_fetch_lengths + fbsql_fetch_object + fbsql_fetch_row + fbsql_field_flags + fbsql_field_len + fbsql_field_name + fbsql_field_seek + fbsql_field_table + fbsql_field_type + fbsql_free_result + fbsql_get_autostart_info + fbsql_hostname + fbsql_insert_id + fbsql_list_dbs + fbsql_list_fields + fbsql_list_tables + fbsql_next_result + fbsql_num_fields + fbsql_num_rows + fbsql_password + fbsql_pconnect + fbsql_query + fbsql_read_blob + fbsql_read_clob + fbsql_result + fbsql_rollback + fbsql_select_db + fbsql_set_lob_mode + fbsql_set_password + fbsql_set_transaction + fbsql_start_db + fbsql_stop_db + fbsql_tablename + fbsql_username + fbsql_warnings + fclose + fdf_add_doc_javascript + fdf_add_template + fdf_close + fdf_create + fdf_enum_values + fdf_errno + fdf_error + fdf_get_ap + fdf_get_attachment + fdf_get_encoding + fdf_get_file + fdf_get_flags + fdf_get_opt + fdf_get_status + fdf_get_value + fdf_get_version + fdf_header + fdf_next_field_name + fdf_open + fdf_open_string + fdf_remove_item + fdf_save + fdf_save_string + fdf_set_ap + fdf_set_encoding + fdf_set_file + fdf_set_flags + fdf_set_javascript_action + fdf_set_on_import_javascript + fdf_set_opt + fdf_set_status + fdf_set_submit_form_action + fdf_set_target_frame + fdf_set_value + fdf_set_version + feof + fetch + fetchall + fetchsingle + fflush + fgetc + fgetcsv + fgets + fgetss + file + file_exists + file_get_contents + file_put_contents + fileatime + filectime + filegroup + fileinode + filemtime + fileowner + fileperms + filepro + filepro_fieldcount + filepro_fieldname + filepro_fieldtype + filepro_fieldwidth + filepro_retrieve + filepro_rowcount + filesize + filetype + find + first_child + floatval + flock + floor + flush + fmod + fnmatch + fopen + fpassthru + fprintf + fputcsv + fputs + fread + free + frenchtojd + fribidi_log2vis + fscanf + fseek + fsockopen + fstat + ftell + ftok + ftp_alloc + ftp_cdup + ftp_chdir + ftp_chmod + ftp_close + ftp_connect + ftp_delete + ftp_exec + ftp_fget + ftp_fput + ftp_get + ftp_get_option + ftp_login + ftp_mdtm + ftp_mkdir + ftp_nb_continue + ftp_nb_fget + ftp_nb_fput + ftp_nb_get + ftp_nb_put + ftp_nlist + ftp_pasv + ftp_put + ftp_pwd + ftp_quit + ftp_raw + ftp_rawlist + ftp_rename + ftp_rmdir + ftp_set_option + ftp_site + ftp_size + ftp_ssl_connect + ftp_systype + ftruncate + ftstat + func_get_arg + func_get_args + func_num_args + function_exists + fwrite + gd_info + get + get_attr + get_attribute + get_attribute_node + get_browser + get_cfg_var + get_class + get_class_methods + get_class_vars + get_content + get_current_user + get_declared_classes + get_declared_interfaces + get_defined_constants + get_defined_functions + get_defined_vars + get_element_by_id + get_elements_by_tagname + get_extension_funcs + get_headers + get_html_translation_table + get_include_path + get_included_files + get_loaded_extensions + get_magic_quotes_gpc + get_magic_quotes_runtime + get_meta_tags + get_nodes + get_object_vars + get_parent_class + get_required_files + get_resource_type + getallheaders + getatime + getattr + getattribute + getattributenode + getattributenodens + getattributens + getbuffering + getchildren + getcrc + getctime + getcwd + getdate + getdepth + getelem + getelementbyid + getelementsbytagname + getelementsbytagnamens + getenv + getfilename + getfiletime + getfunctions + getgroup + getheight + gethostbyaddr + gethostbyname + gethostbynamel + gethostos + getimagesize + getinneriterator + getinode + getiterator + getlastmod + getmethod + getmtime + getmxrr + getmygid + getmyinode + getmypid + getmyuid + getname + getnameditem + getnameditemns + getopt + getowner + getpackedsize + getpath + getpathname + getperms + getposition + getprotobyname + getprotobynumber + getrandmax + getrusage + getservbyname + getservbyport + getshape1 + getshape2 + getsize + getstats + getsubiterator + gettext + gettimeofday + gettype + getunpackedsize + getversion + getwidth + glob + gmdate + gmmktime + gmp_abs + gmp_add + gmp_and + gmp_clrbit + gmp_cmp + gmp_com + gmp_div + gmp_div_q + gmp_div_qr + gmp_div_r + gmp_divexact + gmp_fact + gmp_gcd + gmp_gcdext + gmp_hamdist + gmp_init + gmp_intval + gmp_invert + gmp_jacobi + gmp_legendre + gmp_mod + gmp_mul + gmp_neg + gmp_or + gmp_perfect_square + gmp_popcount + gmp_pow + gmp_powm + gmp_prob_prime + gmp_random + gmp_scan0 + gmp_scan1 + gmp_setbit + gmp_sign + gmp_sqrt + gmp_sqrtrem + gmp_strval + gmp_sub + gmp_xor + gmstrftime + gregoriantojd + gzclose + gzcompress + gzdeflate + gzencode + gzeof + gzfile + gzgetc + gzgets + gzgetss + gzinflate + gzopen + gzpassthru + gzputs + gzread + gzrewind + gzseek + gztell + gzuncompress + gzwrite + handle + has_attribute + has_attributes + has_child_nodes + hasattribute + hasattributens + hasattributes + haschildnodes + haschildren + hasfeature + hasnext + hassiblings + header + headers_list + headers_sent + hebrev + hebrevc + hexdec + highlight_file + highlight_string + html_dump_mem + html_entity_decode + htmlentities + htmlspecialchars + http_build_query + hw_array2objrec + hw_changeobject + hw_children + hw_childrenobj + hw_close + hw_connect + hw_connection_info + hw_cp + hw_deleteobject + hw_docbyanchor + hw_docbyanchorobj + hw_document_attributes + hw_document_bodytag + hw_document_content + hw_document_setcontent + hw_document_size + hw_dummy + hw_edittext + hw_error + hw_errormsg + hw_free_document + hw_getanchors + hw_getanchorsobj + hw_getandlock + hw_getchildcoll + hw_getchildcollobj + hw_getchilddoccoll + hw_getchilddoccollobj + hw_getobject + hw_getobjectbyquery + hw_getobjectbyquerycoll + hw_getobjectbyquerycollobj + hw_getobjectbyqueryobj + hw_getparents + hw_getparentsobj + hw_getrellink + hw_getremote + hw_getremotechildren + hw_getsrcbydestobj + hw_gettext + hw_getusername + hw_identify + hw_incollections + hw_info + hw_inscoll + hw_insdoc + hw_insertanchors + hw_insertdocument + hw_insertobject + hw_mapid + hw_modifyobject + hw_mv + hw_new_document + hw_objrec2array + hw_output_document + hw_pconnect + hw_pipedocument + hw_root + hw_setlinkroot + hw_stat + hw_unlock + hw_who + hwapi_hgcsp + hwstat + hypot + ibase_add_user + ibase_affected_rows + ibase_backup + ibase_blob_add + ibase_blob_cancel + ibase_blob_close + ibase_blob_create + ibase_blob_echo + ibase_blob_get + ibase_blob_import + ibase_blob_info + ibase_blob_open + ibase_close + ibase_commit + ibase_commit_ret + ibase_connect + ibase_db_info + ibase_delete_user + ibase_drop_db + ibase_errcode + ibase_errmsg + ibase_execute + ibase_fetch_assoc + ibase_fetch_object + ibase_fetch_row + ibase_field_info + ibase_free_event_handler + ibase_free_query + ibase_free_result + ibase_gen_id + ibase_maintain_db + ibase_modify_user + ibase_name_result + ibase_num_fields + ibase_num_params + ibase_param_info + ibase_pconnect + ibase_prepare + ibase_query + ibase_restore + ibase_rollback + ibase_rollback_ret + ibase_server_info + ibase_service_attach + ibase_service_detach + ibase_set_event_handler + ibase_timefmt + ibase_trans + ibase_wait_event + iconv + iconv_get_encoding + iconv_mime_decode + iconv_mime_decode_headers + iconv_mime_encode + iconv_set_encoding + iconv_strlen + iconv_strpos + iconv_strrpos + iconv_substr + id3_get_genre_id + id3_get_genre_list + id3_get_genre_name + id3_get_tag + id3_get_version + id3_remove_tag + id3_set_tag + idate + identify + ifx_affected_rows + ifx_blobinfile_mode + ifx_byteasvarchar + ifx_close + ifx_connect + ifx_copy_blob + ifx_create_blob + ifx_create_char + ifx_do + ifx_error + ifx_errormsg + ifx_fetch_row + ifx_fieldproperties + ifx_fieldtypes + ifx_free_blob + ifx_free_char + ifx_free_result + ifx_get_blob + ifx_get_char + ifx_getsqlca + ifx_htmltbl_result + ifx_nullformat + ifx_num_fields + ifx_num_rows + ifx_pconnect + ifx_prepare + ifx_query + ifx_textasvarchar + ifx_update_blob + ifx_update_char + ifxus_close_slob + ifxus_create_slob + ifxus_free_slob + ifxus_open_slob + ifxus_read_slob + ifxus_seek_slob + ifxus_tell_slob + ifxus_write_slob + ignore_user_abort + image2wbmp + image_type_to_extension + image_type_to_mime_type + imagealphablending + imageantialias + imagearc + imagechar + imagecharup + imagecolorallocate + imagecolorallocatealpha + imagecolorat + imagecolorclosest + imagecolorclosestalpha + imagecolorclosesthwb + imagecolordeallocate + imagecolorexact + imagecolorexactalpha + imagecolormatch + imagecolorresolve + imagecolorresolvealpha + imagecolorset + imagecolorsforindex + imagecolorstotal + imagecolortransparent + imagecopy + imagecopymerge + imagecopymergegray + imagecopyresampled + imagecopyresized + imagecreate + imagecreatefromgd + imagecreatefromgd2 + imagecreatefromgd2part + imagecreatefromgif + imagecreatefromjpeg + imagecreatefrompng + imagecreatefromstring + imagecreatefromwbmp + imagecreatefromxbm + imagecreatefromxpm + imagecreatetruecolor + imagedashedline + imagedestroy + imageellipse + imagefill + imagefilledarc + imagefilledellipse + imagefilledpolygon + imagefilledrectangle + imagefilltoborder + imagefilter + imagefontheight + imagefontwidth + imageftbbox + imagefttext + imagegammacorrect + imagegd + imagegd2 + imagegif + imageinterlace + imageistruecolor + imagejpeg + imagelayereffect + imageline + imageloadfont + imagepalettecopy + imagepng + imagepolygon + imagepsbbox + imagepscopyfont + imagepsencodefont + imagepsextendfont + imagepsfreefont + imagepsloadfont + imagepsslantfont + imagepstext + imagerectangle + imagerotate + imagesavealpha + imagesetbrush + imagesetpixel + imagesetstyle + imagesetthickness + imagesettile + imagestring + imagestringup + imagesx + imagesy + imagetruecolortopalette + imagettfbbox + imagettftext + imagetypes + imagewbmp + imagexbm + imap_8bit + imap_alerts + imap_append + imap_base64 + imap_binary + imap_body + imap_bodystruct + imap_check + imap_clearflag_full + imap_close + imap_createmailbox + imap_delete + imap_deletemailbox + imap_errors + imap_expunge + imap_fetch_overview + imap_fetchbody + imap_fetchheader + imap_fetchstructure + imap_get_quota + imap_get_quotaroot + imap_getacl + imap_getmailboxes + imap_getsubscribed + imap_header + imap_headerinfo + imap_headers + imap_last_error + imap_list + imap_listmailbox + imap_listscan + imap_listsubscribed + imap_lsub + imap_mail + imap_mail_compose + imap_mail_copy + imap_mail_move + imap_mailboxmsginfo + imap_mime_header_decode + imap_msgno + imap_num_msg + imap_num_recent + imap_open + imap_ping + imap_qprint + imap_renamemailbox + imap_reopen + imap_rfc822_parse_adrlist + imap_rfc822_parse_headers + imap_rfc822_write_address + imap_scanmailbox + imap_search + imap_set_quota + imap_setacl + imap_setflag_full + imap_sort + imap_status + imap_subscribe + imap_thread + imap_timeout + imap_uid + imap_undelete + imap_unsubscribe + imap_utf7_decode + imap_utf7_encode + imap_utf8 + implode + import + import_request_variables + importnode + in_array + increment + inet_ntop + inet_pton + info + ingres_autocommit + ingres_close + ingres_commit + ingres_connect + ingres_fetch_array + ingres_fetch_object + ingres_fetch_row + ingres_field_length + ingres_field_name + ingres_field_nullable + ingres_field_precision + ingres_field_scale + ingres_field_type + ingres_num_fields + ingres_num_rows + ingres_pconnect + ingres_query + ingres_rollback + ini_alter + ini_get + ini_get_all + ini_restore + ini_set + insert + insert_before + insertanchor + insertbefore + insertcollection + insertdata + insertdocument + interface_exists + internal_subset + intval + ip2long + iptcembed + iptcparse + ircg_channel_mode + ircg_disconnect + ircg_eval_ecmascript_params + ircg_fetch_error_msg + ircg_get_username + ircg_html_encode + ircg_ignore_add + ircg_ignore_del + ircg_invite + ircg_is_conn_alive + ircg_join + ircg_kick + ircg_list + ircg_lookup_format_messages + ircg_lusers + ircg_msg + ircg_names + ircg_nick + ircg_nickname_escape + ircg_nickname_unescape + ircg_notice + ircg_oper + ircg_part + ircg_pconnect + ircg_register_format_messages + ircg_set_current + ircg_set_file + ircg_set_on_die + ircg_topic + ircg_who + ircg_whois + is_a + is_array + is_blank_node + is_bool + is_callable + is_dir + is_double + is_executable + is_file + is_finite + is_float + is_infinite + is_int + is_integer + is_link + is_long + is_nan + is_null + is_numeric + is_object + is_readable + is_real + is_resource + is_scalar + is_soap_fault + is_string + is_subclass_of + is_uploaded_file + is_writable + is_writeable + isasp + iscomment + isdir + isdot + isexecutable + isfile + ishtml + isid + isjste + islink + isphp + isreadable + issamenode + issupported + istext + iswhitespaceinelementcontent + iswritable + isxhtml + isxml + item + iterator_count + iterator_to_array + java_last_exception_clear + java_last_exception_get + jddayofweek + jdmonthname + jdtofrench + jdtogregorian + jdtojewish + jdtojulian + jdtounix + jewishtojd + join + jpeg2wbmp + juliantojd + key + krsort + ksort + langdepvalue + last_child + lastinsertid + lcg_value + ldap_8859_to_t61 + ldap_add + ldap_bind + ldap_close + ldap_compare + ldap_connect + ldap_count_entries + ldap_delete + ldap_dn2ufn + ldap_err2str + ldap_errno + ldap_error + ldap_explode_dn + ldap_first_attribute + ldap_first_entry + ldap_first_reference + ldap_free_result + ldap_get_attributes + ldap_get_dn + ldap_get_entries + ldap_get_option + ldap_get_values + ldap_get_values_len + ldap_list + ldap_mod_add + ldap_mod_del + ldap_mod_replace + ldap_modify + ldap_next_attribute + ldap_next_entry + ldap_next_reference + ldap_parse_reference + ldap_parse_result + ldap_read + ldap_rename + ldap_sasl_bind + ldap_search + ldap_set_option + ldap_set_rebind_proc + ldap_sort + ldap_start_tls + ldap_t61_to_8859 + ldap_unbind + levenshtein + link + linkinfo + load + loadhtml + loadhtmlfile + loadxml + localeconv + localtime + lock + log + log10 + log1p + long2ip + lookupnamespaceuri + lookupprefix + lstat + ltrim + lzf_compress + lzf_decompress + lzf_optimized_for + mail + mailparse_determine_best_xfer_encoding + mailparse_msg_create + mailparse_msg_extract_part + mailparse_msg_extract_part_file + mailparse_msg_free + mailparse_msg_get_part + mailparse_msg_get_part_data + mailparse_msg_get_structure + mailparse_msg_parse + mailparse_msg_parse_file + mailparse_rfc822_parse_addresses + mailparse_stream_encode + mailparse_uudecode_all + main + max + mb_convert_case + mb_convert_encoding + mb_convert_kana + mb_convert_variables + mb_decode_mimeheader + mb_decode_numericentity + mb_detect_encoding + mb_detect_order + mb_encode_mimeheader + mb_encode_numericentity + mb_ereg + mb_ereg_match + mb_ereg_replace + mb_ereg_search + mb_ereg_search_getpos + mb_ereg_search_getregs + mb_ereg_search_init + mb_ereg_search_pos + mb_ereg_search_regs + mb_ereg_search_setpos + mb_eregi + mb_eregi_replace + mb_get_info + mb_http_input + mb_http_output + mb_internal_encoding + mb_language + mb_list_encodings + mb_output_handler + mb_parse_str + mb_preferred_mime_name + mb_regex_encoding + mb_regex_set_options + mb_send_mail + mb_split + mb_strcut + mb_strimwidth + mb_strlen + mb_strpos + mb_strrpos + mb_strtolower + mb_strtoupper + mb_strwidth + mb_substitute_character + mb_substr + mb_substr_count + mcal_append_event + mcal_close + mcal_create_calendar + mcal_date_compare + mcal_date_valid + mcal_day_of_week + mcal_day_of_year + mcal_days_in_month + mcal_delete_calendar + mcal_delete_event + mcal_event_add_attribute + mcal_event_init + mcal_event_set_alarm + mcal_event_set_category + mcal_event_set_class + mcal_event_set_description + mcal_event_set_end + mcal_event_set_recur_daily + mcal_event_set_recur_monthly_mday + mcal_event_set_recur_monthly_wday + mcal_event_set_recur_none + mcal_event_set_recur_weekly + mcal_event_set_recur_yearly + mcal_event_set_start + mcal_event_set_title + mcal_expunge + mcal_fetch_current_stream_event + mcal_fetch_event + mcal_is_leap_year + mcal_list_alarms + mcal_list_events + mcal_next_recurrence + mcal_open + mcal_popen + mcal_rename_calendar + mcal_reopen + mcal_snooze + mcal_store_event + mcal_time_valid + mcal_week_of_year + mcrypt_cbc + mcrypt_cfb + mcrypt_create_iv + mcrypt_decrypt + mcrypt_ecb + mcrypt_enc_get_algorithms_name + mcrypt_enc_get_block_size + mcrypt_enc_get_iv_size + mcrypt_enc_get_key_size + mcrypt_enc_get_modes_name + mcrypt_enc_get_supported_key_sizes + mcrypt_enc_is_block_algorithm + mcrypt_enc_is_block_algorithm_mode + mcrypt_enc_is_block_mode + mcrypt_enc_self_test + mcrypt_encrypt + mcrypt_generic + mcrypt_generic_deinit + mcrypt_generic_end + mcrypt_generic_init + mcrypt_get_block_size + mcrypt_get_cipher_name + mcrypt_get_iv_size + mcrypt_get_key_size + mcrypt_list_algorithms + mcrypt_list_modes + mcrypt_module_close + mcrypt_module_get_algo_block_size + mcrypt_module_get_algo_key_size + mcrypt_module_get_supported_key_sizes + mcrypt_module_is_block_algorithm + mcrypt_module_is_block_algorithm_mode + mcrypt_module_is_block_mode + mcrypt_module_open + mcrypt_module_self_test + mcrypt_ofb + mcve_adduser + mcve_adduserarg + mcve_bt + mcve_checkstatus + mcve_chkpwd + mcve_chngpwd + mcve_completeauthorizations + mcve_connect + mcve_connectionerror + mcve_deleteresponse + mcve_deletetrans + mcve_deleteusersetup + mcve_deluser + mcve_destroyconn + mcve_destroyengine + mcve_disableuser + mcve_edituser + mcve_enableuser + mcve_force + mcve_getcell + mcve_getcellbynum + mcve_getcommadelimited + mcve_getheader + mcve_getuserarg + mcve_getuserparam + mcve_gft + mcve_gl + mcve_gut + mcve_initconn + mcve_initengine + mcve_initusersetup + mcve_iscommadelimited + mcve_liststats + mcve_listusers + mcve_maxconntimeout + mcve_monitor + mcve_numcolumns + mcve_numrows + mcve_override + mcve_parsecommadelimited + mcve_ping + mcve_preauth + mcve_preauthcompletion + mcve_qc + mcve_responseparam + mcve_return + mcve_returncode + mcve_returnstatus + mcve_sale + mcve_setblocking + mcve_setdropfile + mcve_setip + mcve_setssl + mcve_setssl_files + mcve_settimeout + mcve_settle + mcve_text_avs + mcve_text_code + mcve_text_cv + mcve_transactionauth + mcve_transactionavs + mcve_transactionbatch + mcve_transactioncv + mcve_transactionid + mcve_transactionitem + mcve_transactionssent + mcve_transactiontext + mcve_transinqueue + mcve_transnew + mcve_transparam + mcve_transsend + mcve_ub + mcve_uwait + mcve_verifyconnection + mcve_verifysslcert + mcve_void + md5 + md5_file + mdecrypt_generic + memcache_debug + memory_get_usage + metaphone + method_exists + mhash + mhash_count + mhash_get_block_size + mhash_get_hash_name + mhash_keygen_s2k + microtime + mime_content_type + mimetype + min + ming_setcubicthreshold + ming_setscale + ming_useswfversion + mkdir + mktime + money_format + move + move_uploaded_file + movepen + movepento + moveto + msession_connect + msession_count + msession_create + msession_destroy + msession_disconnect + msession_find + msession_get + msession_get_array + msession_get_data + msession_inc + msession_list + msession_listvar + msession_lock + msession_plugin + msession_randstr + msession_set + msession_set_array + msession_set_data + msession_timeout + msession_uniq + msession_unlock + msg_get_queue + msg_receive + msg_remove_queue + msg_send + msg_set_queue + msg_stat_queue + msql + msql_affected_rows + msql_close + msql_connect + msql_create_db + msql_createdb + msql_data_seek + msql_db_query + msql_dbname + msql_drop_db + msql_error + msql_fetch_array + msql_fetch_field + msql_fetch_object + msql_fetch_row + msql_field_flags + msql_field_len + msql_field_name + msql_field_seek + msql_field_table + msql_field_type + msql_fieldflags + msql_fieldlen + msql_fieldname + msql_fieldtable + msql_fieldtype + msql_free_result + msql_list_dbs + msql_list_fields + msql_list_tables + msql_num_fields + msql_num_rows + msql_numfields + msql_numrows + msql_pconnect + msql_query + msql_regcase + msql_result + msql_select_db + msql_tablename + mssql_bind + mssql_close + mssql_connect + mssql_data_seek + mssql_execute + mssql_fetch_array + mssql_fetch_assoc + mssql_fetch_batch + mssql_fetch_field + mssql_fetch_object + mssql_fetch_row + mssql_field_length + mssql_field_name + mssql_field_seek + mssql_field_type + mssql_free_result + mssql_free_statement + mssql_get_last_message + mssql_guid_string + mssql_init + mssql_min_error_severity + mssql_min_message_severity + mssql_next_result + mssql_num_fields + mssql_num_rows + mssql_pconnect + mssql_query + mssql_result + mssql_rows_affected + mssql_select_db + mt_getrandmax + mt_rand + mt_srand + multcolor + muscat_close + muscat_get + muscat_give + muscat_setup + muscat_setup_net + mysql_affected_rows + mysql_change_user + mysql_client_encoding + mysql_close + mysql_connect + mysql_create_db + mysql_data_seek + mysql_db_name + mysql_db_query + mysql_drop_db + mysql_errno + mysql_error + mysql_escape_string + mysql_fetch_array + mysql_fetch_assoc + mysql_fetch_field + mysql_fetch_lengths + mysql_fetch_object + mysql_fetch_row + mysql_field_flags + mysql_field_len + mysql_field_name + mysql_field_seek + mysql_field_table + mysql_field_type + mysql_free_result + mysql_get_client_info + mysql_get_host_info + mysql_get_proto_info + mysql_get_server_info + mysql_info + mysql_insert_id + mysql_list_dbs + mysql_list_fields + mysql_list_processes + mysql_list_tables + mysql_num_fields + mysql_num_rows + mysql_pconnect + mysql_ping + mysql_query + mysql_real_escape_string + mysql_result + mysql_select_db + mysql_stat + mysql_tablename + mysql_thread_id + mysql_unbuffered_query + mysqli_affected_rows + mysqli_autocommit + mysqli_bind_param + mysqli_bind_result + mysqli_change_user + mysqli_character_set_name + mysqli_client_encoding + mysqli_close + mysqli_commit + mysqli_connect + mysqli_connect_errno + mysqli_connect_error + mysqli_data_seek + mysqli_debug + mysqli_disable_reads_from_master + mysqli_disable_rpl_parse + mysqli_dump_debug_info + mysqli_embedded_connect + mysqli_enable_reads_from_master + mysqli_enable_rpl_parse + mysqli_errno + mysqli_error + mysqli_escape_string + mysqli_execute + mysqli_fetch + mysqli_fetch_array + mysqli_fetch_assoc + mysqli_fetch_field + mysqli_fetch_field_direct + mysqli_fetch_fields + mysqli_fetch_lengths + mysqli_fetch_object + mysqli_fetch_row + mysqli_field_count + mysqli_field_seek + mysqli_field_tell + mysqli_free_result + mysqli_get_client_info + mysqli_get_client_version + mysqli_get_host_info + mysqli_get_metadata + mysqli_get_proto_info + mysqli_get_server_info + mysqli_get_server_version + mysqli_info + mysqli_init + mysqli_insert_id + mysqli_kill + mysqli_master_query + mysqli_more_results + mysqli_multi_query + mysqli_next_result + mysqli_num_fields + mysqli_num_rows + mysqli_options + mysqli_param_count + mysqli_ping + mysqli_prepare + mysqli_query + mysqli_real_connect + mysqli_real_escape_string + mysqli_real_query + mysqli_report + mysqli_rollback + mysqli_rpl_parse_enabled + mysqli_rpl_probe + mysqli_rpl_query_type + mysqli_select_db + mysqli_send_long_data + mysqli_send_query + mysqli_server_end + mysqli_server_init + mysqli_set_opt + mysqli_sqlstate + mysqli_ssl_set + mysqli_stat + mysqli_stmt_affected_rows + mysqli_stmt_bind_param + mysqli_stmt_bind_result + mysqli_stmt_close + mysqli_stmt_data_seek + mysqli_stmt_errno + mysqli_stmt_error + mysqli_stmt_execute + mysqli_stmt_fetch + mysqli_stmt_free_result + mysqli_stmt_init + mysqli_stmt_num_rows + mysqli_stmt_param_count + mysqli_stmt_prepare + mysqli_stmt_reset + mysqli_stmt_result_metadata + mysqli_stmt_send_long_data + mysqli_stmt_sqlstate + mysqli_stmt_store_result + mysqli_store_result + mysqli_thread_id + mysqli_thread_safe + mysqli_use_result + mysqli_warning_count + name + natcasesort + natsort + ncurses_addch + ncurses_addchnstr + ncurses_addchstr + ncurses_addnstr + ncurses_addstr + ncurses_assume_default_colors + ncurses_attroff + ncurses_attron + ncurses_attrset + ncurses_baudrate + ncurses_beep + ncurses_bkgd + ncurses_bkgdset + ncurses_border + ncurses_bottom_panel + ncurses_can_change_color + ncurses_cbreak + ncurses_clear + ncurses_clrtobot + ncurses_clrtoeol + ncurses_color_content + ncurses_color_set + ncurses_curs_set + ncurses_def_prog_mode + ncurses_def_shell_mode + ncurses_define_key + ncurses_del_panel + ncurses_delay_output + ncurses_delch + ncurses_deleteln + ncurses_delwin + ncurses_doupdate + ncurses_echo + ncurses_echochar + ncurses_end + ncurses_erase + ncurses_erasechar + ncurses_filter + ncurses_flash + ncurses_flushinp + ncurses_getch + ncurses_getmaxyx + ncurses_getmouse + ncurses_getyx + ncurses_halfdelay + ncurses_has_colors + ncurses_has_ic + ncurses_has_il + ncurses_has_key + ncurses_hide_panel + ncurses_hline + ncurses_inch + ncurses_init + ncurses_init_color + ncurses_init_pair + ncurses_insch + ncurses_insdelln + ncurses_insertln + ncurses_insstr + ncurses_instr + ncurses_isendwin + ncurses_keyok + ncurses_keypad + ncurses_killchar + ncurses_longname + ncurses_meta + ncurses_mouse_trafo + ncurses_mouseinterval + ncurses_mousemask + ncurses_move + ncurses_move_panel + ncurses_mvaddch + ncurses_mvaddchnstr + ncurses_mvaddchstr + ncurses_mvaddnstr + ncurses_mvaddstr + ncurses_mvcur + ncurses_mvdelch + ncurses_mvgetch + ncurses_mvhline + ncurses_mvinch + ncurses_mvvline + ncurses_mvwaddstr + ncurses_napms + ncurses_new_panel + ncurses_newpad + ncurses_newwin + ncurses_nl + ncurses_nocbreak + ncurses_noecho + ncurses_nonl + ncurses_noqiflush + ncurses_noraw + ncurses_pair_content + ncurses_panel_above + ncurses_panel_below + ncurses_panel_window + ncurses_pnoutrefresh + ncurses_prefresh + ncurses_putp + ncurses_qiflush + ncurses_raw + ncurses_refresh + ncurses_replace_panel + ncurses_reset_prog_mode + ncurses_reset_shell_mode + ncurses_resetty + ncurses_savetty + ncurses_scr_dump + ncurses_scr_init + ncurses_scr_restore + ncurses_scr_set + ncurses_scrl + ncurses_show_panel + ncurses_slk_attr + ncurses_slk_attroff + ncurses_slk_attron + ncurses_slk_attrset + ncurses_slk_clear + ncurses_slk_color + ncurses_slk_init + ncurses_slk_noutrefresh + ncurses_slk_refresh + ncurses_slk_restore + ncurses_slk_set + ncurses_slk_touch + ncurses_standend + ncurses_standout + ncurses_start_color + ncurses_termattrs + ncurses_termname + ncurses_timeout + ncurses_top_panel + ncurses_typeahead + ncurses_ungetch + ncurses_ungetmouse + ncurses_update_panels + ncurses_use_default_colors + ncurses_use_env + ncurses_use_extended_names + ncurses_vidattr + ncurses_vline + ncurses_waddch + ncurses_waddstr + ncurses_wattroff + ncurses_wattron + ncurses_wattrset + ncurses_wborder + ncurses_wclear + ncurses_wcolor_set + ncurses_werase + ncurses_wgetch + ncurses_whline + ncurses_wmouse_trafo + ncurses_wmove + ncurses_wnoutrefresh + ncurses_wrefresh + ncurses_wstandend + ncurses_wstandout + ncurses_wvline + next + next_sibling + nextframe + ngettext + nl2br + nl_langinfo + node_name + node_type + node_value + normalize + notations + notes_body + notes_copy_db + notes_create_db + notes_create_note + notes_drop_db + notes_find_note + notes_header_info + notes_list_msgs + notes_mark_read + notes_mark_unread + notes_nav_create + notes_search + notes_unread + notes_version + nsapi_request_headers + nsapi_response_headers + nsapi_virtual + number_format + ob_clean + ob_end_clean + ob_end_flush + ob_flush + ob_get_clean + ob_get_contents + ob_get_flush + ob_get_length + ob_get_level + ob_get_status + ob_gzhandler + ob_iconv_handler + ob_implicit_flush + ob_list_handlers + ob_start + ob_tidyhandler + object + objectbyanchor + oci_bind_by_name + oci_cancel + oci_close + oci_commit + oci_connect + oci_define_by_name + oci_error + oci_execute + oci_fetch + oci_fetch_all + oci_fetch_array + oci_fetch_assoc + oci_fetch_object + oci_fetch_row + oci_field_is_null + oci_field_name + oci_field_precision + oci_field_scale + oci_field_size + oci_field_type + oci_field_type_raw + oci_free_statement + oci_internal_debug + oci_lob_copy + oci_lob_is_equal + oci_new_collection + oci_new_connect + oci_new_cursor + oci_new_descriptor + oci_num_fields + oci_num_rows + oci_parse + oci_password_change + oci_pconnect + oci_result + oci_rollback + oci_server_version + oci_set_prefetch + oci_statement_type + ocibindbyname + ocicancel + ocicloselob + ocicollappend + ocicollassign + ocicollassignelem + ocicollgetelem + ocicollmax + ocicollsize + ocicolltrim + ocicolumnisnull + ocicolumnname + ocicolumnprecision + ocicolumnscale + ocicolumnsize + ocicolumntype + ocicolumntyperaw + ocicommit + ocidefinebyname + ocierror + ociexecute + ocifetch + ocifetchinto + ocifetchstatement + ocifreecollection + ocifreecursor + ocifreedesc + ocifreestatement + ociinternaldebug + ociloadlob + ocilogoff + ocilogon + ocinewcollection + ocinewcursor + ocinewdescriptor + ocinlogon + ocinumcols + ociparse + ociplogon + ociresult + ocirollback + ocirowcount + ocisavelob + ocisavelobfile + ociserverversion + ocisetprefetch + ocistatementtype + ociwritelobtofile + ociwritetemporarylob + octdec + odbc_autocommit + odbc_binmode + odbc_close + odbc_close_all + odbc_columnprivileges + odbc_columns + odbc_commit + odbc_connect + odbc_cursor + odbc_data_source + odbc_do + odbc_error + odbc_errormsg + odbc_exec + odbc_execute + odbc_fetch_array + odbc_fetch_into + odbc_fetch_object + odbc_fetch_row + odbc_field_len + odbc_field_name + odbc_field_num + odbc_field_precision + odbc_field_scale + odbc_field_type + odbc_foreignkeys + odbc_free_result + odbc_gettypeinfo + odbc_longreadlen + odbc_next_result + odbc_num_fields + odbc_num_rows + odbc_pconnect + odbc_prepare + odbc_primarykeys + odbc_procedurecolumns + odbc_procedures + odbc_result + odbc_result_all + odbc_rollback + odbc_setoption + odbc_specialcolumns + odbc_statistics + odbc_tableprivileges + odbc_tables + offsetexists + offsetget + offsetset + offsetunset + openal_buffer_create + openal_buffer_data + openal_buffer_destroy + openal_buffer_get + openal_buffer_loadwav + openal_context_create + openal_context_current + openal_context_destroy + openal_context_process + openal_context_suspend + openal_device_close + openal_device_open + openal_listener_get + openal_listener_set + openal_source_create + openal_source_destroy + openal_source_get + openal_source_pause + openal_source_play + openal_source_rewind + openal_source_set + openal_source_stop + openal_stream + opendir + openlog + openssl_csr_export + openssl_csr_export_to_file + openssl_csr_new + openssl_csr_sign + openssl_error_string + openssl_free_key + openssl_get_privatekey + openssl_get_publickey + openssl_open + openssl_pkcs7_decrypt + openssl_pkcs7_encrypt + openssl_pkcs7_sign + openssl_pkcs7_verify + openssl_pkey_export + openssl_pkey_export_to_file + openssl_pkey_get_private + openssl_pkey_get_public + openssl_pkey_new + openssl_private_decrypt + openssl_private_encrypt + openssl_public_decrypt + openssl_public_encrypt + openssl_seal + openssl_sign + openssl_verify + openssl_x509_check_private_key + openssl_x509_checkpurpose + openssl_x509_export + openssl_x509_export_to_file + openssl_x509_free + openssl_x509_parse + openssl_x509_read + ora_bind + ora_close + ora_columnname + ora_columnsize + ora_columntype + ora_commit + ora_commitoff + ora_commiton + ora_do + ora_error + ora_errorcode + ora_exec + ora_fetch + ora_fetch_into + ora_getcolumn + ora_logoff + ora_logon + ora_numcols + ora_numrows + ora_open + ora_parse + ora_plogon + ora_rollback + ord + output + output_add_rewrite_var + output_reset_rewrite_vars + overload + override_function + ovrimos_close + ovrimos_commit + ovrimos_connect + ovrimos_cursor + ovrimos_exec + ovrimos_execute + ovrimos_fetch_into + ovrimos_fetch_row + ovrimos_field_len + ovrimos_field_name + ovrimos_field_num + ovrimos_field_type + ovrimos_free_result + ovrimos_longreadlen + ovrimos_num_fields + ovrimos_num_rows + ovrimos_prepare + ovrimos_result + ovrimos_result_all + ovrimos_rollback + owner_document + pack + parent_node + parents + parse_ini_file + parse_str + parse_url + parsekit_compile_file + parsekit_compile_string + parsekit_func_arginfo + passthru + pathinfo + pclose + pcntl_alarm + pcntl_exec + pcntl_fork + pcntl_getpriority + pcntl_setpriority + pcntl_signal + pcntl_wait + pcntl_waitpid + pcntl_wexitstatus + pcntl_wifexited + pcntl_wifsignaled + pcntl_wifstopped + pcntl_wstopsig + pcntl_wtermsig + pconnect + pdf_add_annotation + pdf_add_bookmark + pdf_add_launchlink + pdf_add_locallink + pdf_add_note + pdf_add_outline + pdf_add_pdflink + pdf_add_thumbnail + pdf_add_weblink + pdf_arc + pdf_arcn + pdf_attach_file + pdf_begin_page + pdf_begin_pattern + pdf_begin_template + pdf_circle + pdf_clip + pdf_close + pdf_close_image + pdf_close_pdi + pdf_close_pdi_page + pdf_closepath + pdf_closepath_fill_stroke + pdf_closepath_stroke + pdf_concat + pdf_continue_text + pdf_curveto + pdf_delete + pdf_end_page + pdf_end_pattern + pdf_end_template + pdf_endpath + pdf_fill + pdf_fill_stroke + pdf_findfont + pdf_fit_pdi_page + pdf_get_buffer + pdf_get_font + pdf_get_fontname + pdf_get_fontsize + pdf_get_image_height + pdf_get_image_width + pdf_get_majorversion + pdf_get_minorversion + pdf_get_parameter + pdf_get_pdi_parameter + pdf_get_pdi_value + pdf_get_value + pdf_initgraphics + pdf_lineto + pdf_load_font + pdf_makespotcolor + pdf_moveto + pdf_new + pdf_open + pdf_open_ccitt + pdf_open_file + pdf_open_gif + pdf_open_image + pdf_open_image_file + pdf_open_jpeg + pdf_open_memory_image + pdf_open_pdi + pdf_open_pdi_page + pdf_open_png + pdf_open_tiff + pdf_place_image + pdf_place_pdi_page + pdf_rect + pdf_restore + pdf_rotate + pdf_save + pdf_scale + pdf_set_border_color + pdf_set_border_dash + pdf_set_border_style + pdf_set_char_spacing + pdf_set_duration + pdf_set_font + pdf_set_horiz_scaling + pdf_set_info + pdf_set_info_author + pdf_set_info_creator + pdf_set_info_keywords + pdf_set_info_subject + pdf_set_info_title + pdf_set_leading + pdf_set_parameter + pdf_set_text_matrix + pdf_set_text_pos + pdf_set_text_rendering + pdf_set_text_rise + pdf_set_value + pdf_set_word_spacing + pdf_setcolor + pdf_setdash + pdf_setflat + pdf_setfont + pdf_setgray + pdf_setgray_fill + pdf_setgray_stroke + pdf_setlinecap + pdf_setlinejoin + pdf_setlinewidth + pdf_setmatrix + pdf_setmiterlimit + pdf_setpolydash + pdf_setrgbcolor + pdf_setrgbcolor_fill + pdf_setrgbcolor_stroke + pdf_show + pdf_show_boxed + pdf_show_xy + pdf_skew + pdf_stringwidth + pdf_stroke + pdf_translate + pfpro_cleanup + pfpro_init + pfpro_process + pfpro_process_raw + pfpro_version + pfsockopen + pg_affected_rows + pg_cancel_query + pg_client_encoding + pg_close + pg_connect + pg_connection_busy + pg_connection_reset + pg_connection_status + pg_convert + pg_copy_from + pg_copy_to + pg_dbname + pg_delete + pg_end_copy + pg_escape_bytea + pg_escape_string + pg_fetch_all + pg_fetch_array + pg_fetch_assoc + pg_fetch_object + pg_fetch_result + pg_fetch_row + pg_field_is_null + pg_field_name + pg_field_num + pg_field_prtlen + pg_field_size + pg_field_type + pg_free_result + pg_get_notify + pg_get_pid + pg_get_result + pg_host + pg_insert + pg_last_error + pg_last_notice + pg_last_oid + pg_lo_close + pg_lo_create + pg_lo_export + pg_lo_import + pg_lo_open + pg_lo_read + pg_lo_read_all + pg_lo_seek + pg_lo_tell + pg_lo_unlink + pg_lo_write + pg_meta_data + pg_num_fields + pg_num_rows + pg_options + pg_parameter_status + pg_pconnect + pg_ping + pg_port + pg_put_line + pg_query + pg_result_error + pg_result_seek + pg_result_status + pg_select + pg_send_query + pg_set_client_encoding + pg_trace + pg_tty + pg_unescape_bytea + pg_untrace + pg_update + pg_version + php_check_syntax + php_ini_scanned_files + php_logo_guid + php_sapi_name + php_strip_whitespace + php_uname + phpcredits + phpinfo + phpversion + pi + png2wbmp + popen + pos + posix_ctermid + posix_get_last_error + posix_getcwd + posix_getegid + posix_geteuid + posix_getgid + posix_getgrgid + posix_getgrnam + posix_getgroups + posix_getlogin + posix_getpgid + posix_getpgrp + posix_getpid + posix_getppid + posix_getpwnam + posix_getpwuid + posix_getrlimit + posix_getsid + posix_getuid + posix_isatty + posix_kill + posix_mkfifo + posix_setegid + posix_seteuid + posix_setgid + posix_setpgid + posix_setsid + posix_setuid + posix_strerror + posix_times + posix_ttyname + posix_uname + pow + prefix + preg_grep + preg_match + preg_match_all + preg_quote + preg_replace + preg_replace_callback + preg_split + prepare + prev + previous_sibling + print_r + printer_abort + printer_close + printer_create_brush + printer_create_dc + printer_create_font + printer_create_pen + printer_delete_brush + printer_delete_dc + printer_delete_font + printer_delete_pen + printer_draw_bmp + printer_draw_chord + printer_draw_elipse + printer_draw_line + printer_draw_pie + printer_draw_rectangle + printer_draw_roundrect + printer_draw_text + printer_end_doc + printer_end_page + printer_get_option + printer_list + printer_logical_fontheight + printer_open + printer_select_brush + printer_select_font + printer_select_pen + printer_set_option + printer_start_doc + printer_start_page + printer_write + printf + proc_close + proc_get_status + proc_nice + proc_open + proc_terminate + process + pspell_add_to_personal + pspell_add_to_session + pspell_check + pspell_clear_session + pspell_config_create + pspell_config_data_dir + pspell_config_dict_dir + pspell_config_ignore + pspell_config_mode + pspell_config_personal + pspell_config_repl + pspell_config_runtogether + pspell_config_save_repl + pspell_new + pspell_new_config + pspell_new_personal + pspell_save_wordlist + pspell_store_replacement + pspell_suggest + public_id + putenv + qdom_error + qdom_tree + query + quoted_printable_decode + quotemeta + rad2deg + rand + range + rar_close + rar_entry_get + rar_list + rar_open + rawurldecode + rawurlencode + read + read_exif_data + readdir + readfile + readgzfile + readline + readline_add_history + readline_callback_handler_install + readline_callback_handler_remove + readline_callback_read_char + readline_clear_history + readline_completion_function + readline_info + readline_list_history + readline_on_new_line + readline_read_history + readline_redisplay + readline_write_history + readlink + realpath + reason + recode + recode_file + recode_string + register_shutdown_function + register_tick_function + registernamespace + relaxngvalidate + relaxngvalidatesource + remove + remove_attribute + remove_child + removeattribute + removeattributenode + removeattributens + removechild + rename + rename_function + replace + replace_child + replace_node + replacechild + replacedata + reset + restore_error_handler + restore_exception_handler + restore_include_path + result_dump_file + result_dump_mem + rewind + rewinddir + rmdir + rollback + rotate + rotateto + round + rowcount + rsort + rtrim + save + savehtml + savehtmlfile + savexml + scale + scaleto + scandir + schemavalidate + schemavalidatesource + seek + sem_acquire + sem_get + sem_release + sem_remove + serialize + sesam_affected_rows + sesam_commit + sesam_connect + sesam_diagnostic + sesam_disconnect + sesam_errormsg + sesam_execimm + sesam_fetch_array + sesam_fetch_result + sesam_fetch_row + sesam_field_array + sesam_field_name + sesam_free_result + sesam_num_fields + sesam_query + sesam_rollback + sesam_seek_row + sesam_settransaction + session_cache_expire + session_cache_limiter + session_commit + session_decode + session_destroy + session_encode + session_get_cookie_params + session_id + session_is_registered + session_module_name + session_name + session_regenerate_id + session_register + session_save_path + session_set_cookie_params + session_set_save_handler + session_start + session_unregister + session_unset + session_write_close + set + set_attribute + set_content + set_error_handler + set_exception_handler + set_file_buffer + set_include_path + set_magic_quotes_runtime + set_name + set_namespace + set_time_limit + setaction + setattribute + setattributenode + setattributenodens + setattributens + setbackground + setbounds + setbuffering + setclass + setcolor + setcommitedversion + setcookie + setdepth + setdimension + setdown + setfont + setframes + setheight + sethit + setindentation + setleftfill + setleftmargin + setline + setlinespacing + setlocale + setmargins + setname + setover + setpersistence + setrate + setratio + setrawcookie + setrightfill + setrightmargin + setspacing + settype + setup + sha1 + sha1_file + shell_exec + shm_attach + shm_detach + shm_get_var + shm_put_var + shm_remove + shm_remove_var + shmop_close + shmop_delete + shmop_open + shmop_read + shmop_size + shmop_write + show_source + shuffle + similar_text + simplexml_import_dom + simplexml_load_file + simplexml_load_string + sin + sinh + size + sizeof + skewx + skewxto + skewy + skewyto + sleep + snmp_get_quick_print + snmp_get_valueretrieval + snmp_read_mib + snmp_set_enum_print + snmp_set_oid_numeric_print + snmp_set_quick_print + snmp_set_valueretrieval + snmpget + snmpgetnext + snmprealwalk + snmpset + snmpwalk + snmpwalkoid + socket_accept + socket_bind + socket_clear_error + socket_close + socket_connect + socket_create + socket_create_listen + socket_create_pair + socket_get_option + socket_get_status + socket_getpeername + socket_getsockname + socket_last_error + socket_listen + socket_read + socket_recv + socket_recvfrom + socket_select + socket_send + socket_sendto + socket_set_block + socket_set_blocking + socket_set_nonblock + socket_set_option + socket_set_timeout + socket_shutdown + socket_strerror + socket_write + sort + soundex + specified + spl_classes + split + spliti + splittext + sprintf + sql_regcase + sqlite_array_query + sqlite_busy_timeout + sqlite_changes + sqlite_close + sqlite_column + sqlite_create_aggregate + sqlite_create_function + sqlite_current + sqlite_error_string + sqlite_escape_string + sqlite_exec + sqlite_factory + sqlite_fetch_all + sqlite_fetch_array + sqlite_fetch_column_types + sqlite_fetch_object + sqlite_fetch_single + sqlite_fetch_string + sqlite_field_name + sqlite_has_more + sqlite_has_prev + sqlite_last_error + sqlite_last_insert_rowid + sqlite_libencoding + sqlite_libversion + sqlite_next + sqlite_num_fields + sqlite_num_rows + sqlite_open + sqlite_popen + sqlite_prev + sqlite_query + sqlite_rewind + sqlite_seek + sqlite_single_query + sqlite_udf_decode_binary + sqlite_udf_encode_binary + sqlite_unbuffered_query + sqrt + srand + srcanchors + srcsofdst + sscanf + stat + str_ireplace + str_pad + str_repeat + str_replace + str_rot13 + str_shuffle + str_split + str_word_count + strcasecmp + strchr + strcmp + strcoll + strcspn + stream_context_create + stream_context_get_default + stream_context_get_options + stream_context_set_option + stream_context_set_params + stream_copy_to_stream + stream_filter_append + stream_filter_prepend + stream_filter_register + stream_filter_remove + stream_get_contents + stream_get_filters + stream_get_line + stream_get_meta_data + stream_get_transports + stream_get_wrappers + stream_register_wrapper + stream_select + stream_set_blocking + stream_set_timeout + stream_set_write_buffer + stream_socket_accept + stream_socket_client + stream_socket_enable_crypto + stream_socket_get_name + stream_socket_recvfrom + stream_socket_sendto + stream_socket_server + stream_wrapper_register + stream_wrapper_restore + stream_wrapper_unregister + streammp3 + strftime + strip_tags + stripcslashes + stripos + stripslashes + stristr + strlen + strnatcasecmp + strnatcmp + strncasecmp + strncmp + strpbrk + strpos + strptime + strrchr + strrev + strripos + strrpos + strspn + strstr + strtok + strtolower + strtotime + strtoupper + strtr + strval + substr + substr_compare + substr_count + substr_replace + substringdata + swf_actiongeturl + swf_actiongotoframe + swf_actiongotolabel + swf_actionnextframe + swf_actionplay + swf_actionprevframe + swf_actionsettarget + swf_actionstop + swf_actiontogglequality + swf_actionwaitforframe + swf_addbuttonrecord + swf_addcolor + swf_closefile + swf_definebitmap + swf_definefont + swf_defineline + swf_definepoly + swf_definerect + swf_definetext + swf_endbutton + swf_enddoaction + swf_endshape + swf_endsymbol + swf_fontsize + swf_fontslant + swf_fonttracking + swf_getbitmapinfo + swf_getfontinfo + swf_getframe + swf_labelframe + swf_lookat + swf_modifyobject + swf_mulcolor + swf_nextid + swf_oncondition + swf_openfile + swf_ortho + swf_ortho2 + swf_perspective + swf_placeobject + swf_polarview + swf_popmatrix + swf_posround + swf_pushmatrix + swf_removeobject + swf_rotate + swf_scale + swf_setfont + swf_setframe + swf_shapearc + swf_shapecurveto + swf_shapecurveto3 + swf_shapefillbitmapclip + swf_shapefillbitmaptile + swf_shapefilloff + swf_shapefillsolid + swf_shapelinesolid + swf_shapelineto + swf_shapemoveto + swf_showframe + swf_startbutton + swf_startdoaction + swf_startshape + swf_startsymbol + swf_textwidth + swf_translate + swf_viewport + swfbutton_keypress + sybase_affected_rows + sybase_close + sybase_connect + sybase_data_seek + sybase_deadlock_retry_count + sybase_fetch_array + sybase_fetch_assoc + sybase_fetch_field + sybase_fetch_object + sybase_fetch_row + sybase_field_seek + sybase_free_result + sybase_get_last_message + sybase_min_client_severity + sybase_min_error_severity + sybase_min_message_severity + sybase_min_server_severity + sybase_num_fields + sybase_num_rows + sybase_pconnect + sybase_query + sybase_result + sybase_select_db + sybase_set_message_handler + sybase_unbuffered_query + symlink + syslog + system + system_id + tagname + tan + tanh + target + tcpwrap_check + tell + tempnam + textdomain + tidy_access_count + tidy_clean_repair + tidy_config_count + tidy_diagnose + tidy_error_count + tidy_get_body + tidy_get_config + tidy_get_error_buffer + tidy_get_head + tidy_get_html + tidy_get_html_ver + tidy_get_output + tidy_get_release + tidy_get_root + tidy_get_status + tidy_getopt + tidy_is_xhtml + tidy_is_xml + tidy_load_config + tidy_parse_file + tidy_parse_string + tidy_repair_file + tidy_repair_string + tidy_reset_config + tidy_save_config + tidy_set_encoding + tidy_setopt + tidy_warning_count + time + time_nanosleep + title + tmpfile + token_get_all + token_name + touch + trigger_error + trim + truncate + type + uasort + ucfirst + ucwords + udm_add_search_limit + udm_alloc_agent + udm_alloc_agent_array + udm_api_version + udm_cat_list + udm_cat_path + udm_check_charset + udm_check_stored + udm_clear_search_limits + udm_close_stored + udm_crc32 + udm_errno + udm_error + udm_find + udm_free_agent + udm_free_ispell_data + udm_free_res + udm_get_doc_count + udm_get_res_field + udm_get_res_param + udm_hash32 + udm_load_ispell_data + udm_open_stored + udm_set_agent_param + uksort + umask + uniqid + unixtojd + unlink + unlink_node + unlock + unpack + unregister_tick_function + unserialize + urldecode + urlencode + user + user_error + userlist + usleep + usort + utf8_decode + utf8_encode + valid + validate + value + values + var_dump + var_export + variant_abs + variant_add + variant_and + variant_cast + variant_cat + variant_cmp + variant_date_from_timestamp + variant_date_to_timestamp + variant_div + variant_eqv + variant_fix + variant_get_type + variant_idiv + variant_imp + variant_int + variant_mod + variant_mul + variant_neg + variant_not + variant_or + variant_pow + variant_round + variant_set + variant_set_type + variant_sub + variant_xor + version_compare + vfprintf + virtual + vpopmail_add_alias_domain + vpopmail_add_alias_domain_ex + vpopmail_add_domain + vpopmail_add_domain_ex + vpopmail_add_user + vpopmail_alias_add + vpopmail_alias_del + vpopmail_alias_del_domain + vpopmail_alias_get + vpopmail_alias_get_all + vpopmail_auth_user + vpopmail_del_domain + vpopmail_del_domain_ex + vpopmail_del_user + vpopmail_error + vpopmail_passwd + vpopmail_set_user_quota + vprintf + vsprintf + w32api_deftype + w32api_init_dtype + w32api_invoke_function + w32api_register_function + w32api_set_call_method + wddx_add_vars + wddx_deserialize + wddx_packet_end + wddx_packet_start + wddx_serialize_value + wddx_serialize_vars + wordwrap + write + writetemporary + xattr_get + xattr_list + xattr_remove + xattr_set + xattr_supported + xdiff_file_diff + xdiff_file_diff_binary + xdiff_file_merge3 + xdiff_file_patch + xdiff_file_patch_binary + xdiff_string_diff + xdiff_string_diff_binary + xdiff_string_merge3 + xdiff_string_patch + xdiff_string_patch_binary + xinclude + xml_error_string + xml_get_current_byte_index + xml_get_current_column_number + xml_get_current_line_number + xml_get_error_code + xml_parse + xml_parse_into_struct + xml_parser_create + xml_parser_create_ns + xml_parser_free + xml_parser_get_option + xml_parser_set_option + xml_set_character_data_handler + xml_set_default_handler + xml_set_element_handler + xml_set_end_namespace_decl_handler + xml_set_external_entity_ref_handler + xml_set_notation_decl_handler + xml_set_object + xml_set_processing_instruction_handler + xml_set_start_namespace_decl_handler + xml_set_unparsed_entity_decl_handler + xmlrpc_decode + xmlrpc_decode_request + xmlrpc_encode + xmlrpc_encode_request + xmlrpc_get_type + xmlrpc_is_fault + xmlrpc_parse_method_descriptions + xmlrpc_server_add_introspection_data + xmlrpc_server_call_method + xmlrpc_server_create + xmlrpc_server_destroy + xmlrpc_server_register_introspection_callback + xmlrpc_server_register_method + xmlrpc_set_type + xpath + xpath_eval + xpath_eval_expression + xpath_new_context + xptr_eval + xptr_new_context + xsl_xsltprocessor_get_parameter + xsl_xsltprocessor_has_exslt_support + xsl_xsltprocessor_import_stylesheet + xsl_xsltprocessor_register_php_functions + xsl_xsltprocessor_remove_parameter + xsl_xsltprocessor_set_parameter + xsl_xsltprocessor_transform_to_doc + xsl_xsltprocessor_transform_to_uri + xsl_xsltprocessor_transform_to_xml + xslt_backend_info + xslt_backend_name + xslt_backend_version + xslt_create + xslt_errno + xslt_error + xslt_free + xslt_getopt + xslt_process + xslt_set_base + xslt_set_encoding + xslt_set_error_handler + xslt_set_log + xslt_set_object + xslt_set_sax_handler + xslt_set_sax_handlers + xslt_set_scheme_handler + xslt_set_scheme_handlers + xslt_setopt + yaz_addinfo + yaz_ccl_conf + yaz_ccl_parse + yaz_close + yaz_connect + yaz_database + yaz_element + yaz_errno + yaz_error + yaz_es_result + yaz_get_option + yaz_hits + yaz_itemorder + yaz_present + yaz_range + yaz_record + yaz_scan + yaz_scan_result + yaz_schema + yaz_search + yaz_set_option + yaz_sort + yaz_syntax + yaz_wait + yp_all + yp_cat + yp_err_string + yp_errno + yp_first + yp_get_default_domain + yp_master + yp_match + yp_next + yp_order + zend_logo_guid + zend_version + zip_close + zip_entry_close + zip_entry_compressedsize + zip_entry_compressionmethod + zip_entry_filesize + zip_entry_name + zip_entry_open + zip_entry_read + zip_open + zip_read + zlib_get_coding_type + + + + apache_request_headers + apache_response_headers + attr_get + attr_set + autocommit + bind_param + bind_result + bzclose + bzflush + bzwrite + change_user + character_set_name + checkdnsrr + chop + client_encoding + close + commit + connect + data_seek + debug + disable_reads_from_master + disable_rpl_parse + diskfreespace + doubleval + dump_debug_info + enable_reads_from_master + enable_rpl_parse + escape_string + execute + fbird_add_user + fbird_affected_rows + fbird_backup + fbird_blob_add + fbird_blob_cancel + fbird_blob_close + fbird_blob_create + fbird_blob_echo + fbird_blob_get + fbird_blob_import + fbird_blob_info + fbird_blob_open + fbird_close + fbird_commit + fbird_commit_ret + fbird_connect + fbird_db_info + fbird_delete_user + fbird_drop_db + fbird_errcode + fbird_errmsg + fbird_execute + fbird_fetch_assoc + fbird_fetch_object + fbird_fetch_row + fbird_field_info + fbird_free_event_handler + fbird_free_query + fbird_free_result + fbird_gen_id + fbird_maintain_db + fbird_modify_user + fbird_name_result + fbird_num_fields + fbird_num_params + fbird_num_rows + fbird_param_info + fbird_pconnect + fbird_prepare + fbird_query + fbird_restore + fbird_rollback + fbird_rollback_ret + fbird_server_info + fbird_service_attach + fbird_service_detach + fbird_set_event_handler + fbird_trans + fbird_wait_event + fbsql + fbsql_tablename + fetch + fetch_array + fetch_assoc + fetch_field + fetch_field_direct + fetch_fields + fetch_object + fetch_row + field_count + field_seek + fputs + free + free_result + ftp_quit + get_client_info + get_required_files + get_server_info + getallheaders + getmxrr + gmp_div + gzclose + gzeof + gzgetc + gzgets + gzgetss + gzpassthru + gzputs + gzread + gzrewind + gzseek + gztell + gzwrite + imap_create + imap_fetchtext + imap_header + imap_listmailbox + imap_listsubscribed + imap_rename + ini_alter + init + is_double + is_int + is_integer + is_real + is_writeable + join + key_exists + kill + ldap_close + ldap_modify + magic_quotes_runtime + master_query + ming_keypress + ming_setcubicthreshold + ming_setscale + ming_useconstants + ming_useswfversion + more_results + msql + msql_affected_rows + msql_createdb + msql_dbname + msql_dropdb + msql_fieldflags + msql_fieldlen + msql_fieldname + msql_fieldtable + msql_fieldtype + msql_freeresult + msql_listdbs + msql_listfields + msql_listtables + msql_numfields + msql_numrows + msql_regcase + msql_selectdb + msql_tablename + mssql_affected_rows + mssql_close + mssql_connect + mssql_data_seek + mssql_deadlock_retry_count + mssql_fetch_array + mssql_fetch_assoc + mssql_fetch_field + mssql_fetch_object + mssql_fetch_row + mssql_field_seek + mssql_free_result + mssql_get_last_message + mssql_min_client_severity + mssql_min_error_severity + mssql_min_message_severity + mssql_min_server_severity + mssql_num_fields + mssql_num_rows + mssql_pconnect + mssql_query + mssql_result + mssql_select_db + mssql_set_message_handler + mssql_unbuffered_query + multi_query + mysql + mysql_createdb + mysql_db_name + mysql_dbname + mysql_dropdb + mysql_fieldflags + mysql_fieldlen + mysql_fieldname + mysql_fieldtable + mysql_fieldtype + mysql_freeresult + mysql_listdbs + mysql_listfields + mysql_listtables + mysql_numfields + mysql_numrows + mysql_selectdb + mysql_table_name + mysql_tablename + mysqli + mysqli_execute + mysqli_fetch + mysqli_set_opt + next_result + num_rows + oci_free_cursor + ocibindbyname + ocicancel + ocicollappend + ocicollassignelem + ocicollgetelem + ocicollmax + ocicollsize + ocicolltrim + ocicolumnisnull + ocicolumnname + ocicolumnprecision + ocicolumnscale + ocicolumnsize + ocicolumntype + ocicolumntyperaw + ocicommit + ocidefinebyname + ocierror + ociexecute + ocifetch + ocifetchstatement + ocifreecollection + ocifreecursor + ocifreedesc + ocifreestatement + ociinternaldebug + ociloadlob + ocilogoff + ocilogon + ocinewcollection + ocinewcursor + ocinewdescriptor + ocinlogon + ocinumcols + ociparse + ocipasswordchange + ociplogon + ociresult + ocirollback + ocirowcount + ocisavelob + ocisavelobfile + ociserverversion + ocisetprefetch + ocistatementtype + ociwritelobtofile + odbc_do + odbc_field_precision + openssl_free_key + openssl_get_privatekey + openssl_get_publickey + options + pg_clientencoding + pg_cmdtuples + pg_errormessage + pg_exec + pg_fieldisnull + pg_fieldname + pg_fieldnum + pg_fieldprtlen + pg_fieldsize + pg_fieldtype + pg_freeresult + pg_getlastoid + pg_loclose + pg_locreate + pg_loexport + pg_loimport + pg_loopen + pg_loread + pg_loreadall + pg_lounlink + pg_lowrite + pg_numfields + pg_numrows + pg_result + pg_setclientencoding + ping + pos + posix_errno + prepare + query + read_exif_data + real_connect + real_escape_string + real_query + recode + reset + result_metadata + rollback + rpl_parse_enabled + rpl_probe + rpl_query_type + select_db + send_long_data + session_commit + set_file_buffer + set_local_infile_default + set_local_infile_handler + set_opt + show_source + sizeof + slave_query + snmpwalkoid + socket_get_status + socket_getopt + socket_set_blocking + socket_set_timeout + socket_setopt + sqlite_fetch_string + sqlite_has_more + ssl_set + stat + stmt + stmt_init + store_result + strchr + stream_register_wrapper + thread_safe + use_result + user_error + velocis_autocommit + velocis_close + velocis_commit + velocis_connect + velocis_exec + velocis_fetch + velocis_fieldname + velocis_fieldnum + velocis_freeresult + velocis_off_autocommit + velocis_result + velocis_rollback + virtual + + + + __CLASS__ + __FILE__ + __FUNCTION__ + __LINE__ + __METHOD__ + abstract + and + array + as + break + case + catch + cfunction + class + clone + const + continue + declare + default + die + do + echo + else + elseif + empty + enddeclare + endfor + endforeach + endif + endswitch + endwhile + eval + exception + exit + extends + false + final + for + foreach + function + global + if + implements + include + include_once + instanceof + interface + isset + list + new + null + old_function + or + php_user_filter + print + private + protected + public + require + require_once + return + static + switch + throw + true + try + unset + use + var + while + xor + + + + + + xdebug_break + xdebug_call_class + xdebug_call_file + xdebug_call_function + xdebug_call_line + xdebug_disable + xdebug_dump_function_profile + xdebug_dump_function_trace + xdebug_dump_superglobals + xdebug_enable + xdebug_get_code_coverage + xdebug_get_function_count + xdebug_get_function_profile + xdebug_get_function_stack + xdebug_get_function_trace + xdebug_get_stack_depth + xdebug_is_enabled + xdebug_memory_usage + xdebug_peak_memory_usage + xdebug_start_code_coverage + xdebug_start_profiling + xdebug_start_trace + xdebug_stop_code_coverage + xdebug_stop_profiling + xdebug_stop_trace + xdebug_time_index + xdebug_var_dump + + + + + assertCopy + assertEqual + assertError + assertErrorPattern + assertFalse + assertIdentical + assertIsA + assertNoErrors + assertNoUnwantedPattern + assertNotA + assertNotEqual + assertNotIdentical + assertNotNull + assertNull + assertReference + assertTrue + assertWantedPattern + + setReturnValue + setReturnValueAt + setReturnReference + setReturnReferenceAt + expectArguments + expectArgumentsAt + expectCallCount + expectMaximumCallCount + expectMinimumCallCount + expectNever + expectOnce + expectAtLeastOnce + tally + + dump + error + fail + pass + sendMessage + setUp + signal + swallowErrors + tearDown + + + + __autoload + __destruct + __get + __set + __sleep + __wakeup + + + parent + self + stdClass + + + + + + + private + protected + public + + + + + + + > + + + + + + + + + ' + ' + + + " + " + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <?php + ?> + + + + <? + ?> + + + + <%= + %> + + + + + + + | + + + + + + + + + + + + + + + + + + */ + + () + + + + + + + + + array + bool + boolean + callback + double + float + int + integer + mixed + number + NULL + object + real + resource + string + + + + + + + + + + + + + + + + () + + + + + + + + + + + + [ + ] + + ->\w+\s*(?=\() + ->\w+(?=(\[[\s\w'"]+\])?->) + ->\w* + + + + + + + + + \$\w+(?=(\[[\s\w'"]+\])?->) + + :: + + \$\w+(?=\s*=\s*(&\s*)?new) + + + $ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \*\s*$ + + @(global|param|return|staticvar|var) + + @(deprecated|see|uses) + + @access + + + @(abstract|author|category|const|constant|copyright|example|filesource|final|ignore|internal|license|link|name|package|since|static|subpackage|todo|tutorial|version) + + + + + + + + <!-- + --> + + + + {@internal + }} + + + + {@link + } + + + + << + <= + < + + + <code> + </code> + + + + + < + > + + + + + + + + + + + + < + + diff --git a/extra/xmode/modes/pike.xml b/extra/xmode/modes/pike.xml new file mode 100644 index 0000000000..fa50f3edee --- /dev/null +++ b/extra/xmode/modes/pike.xml @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + /* + */ + + */ + + + //! + + // + + + + " + " + + + #" + " + + + ' + ' + + + + #.*?(?=($|/\*|//)) + + + ({ + }) + ([ + ]) + (< + >) + = + ! + + + - + / + * + > + < + % + & + | + ^ + ~ + @ + ` + . + + + ( + ) + + + + constant + extern + final + inline + local + nomask + optional + private + protected + public + static + variant + + + array + class + float + function + int + mapping + mixed + multiset + object + program + string + void + + + break + case + catch + continue + default + do + else + for + foreach + gauge + if + lambda + return + sscanf + switch + while + + + import + inherit + + + + + + FIXME + XXX + + + + + + @decl + + + + @xml{ + @} + + + + @[ + ] + + + + @(b|i|u|tt|url|pre|ref|code|expr|image)?(\{.*@\}) + + + @decl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %([^ a-z]*[a-z]|\[[^\]]*\]) + DEBUG: + + \ No newline at end of file diff --git a/extra/xmode/modes/pl-sql.xml b/extra/xmode/modes/pl-sql.xml new file mode 100644 index 0000000000..b3e084d611 --- /dev/null +++ b/extra/xmode/modes/pl-sql.xml @@ -0,0 +1,502 @@ + + + + + + + + + + + + + + + + /*+ + */ + + + /* + */ + + + ' + ' + + + " + " + + + [ + ] + + --+ + -- + REM + REMARK + + + - + / + * + = + > + < + % + & + | + ^ + ~ + != + !> + !< + := + . + ( + ) + @@ + @ + ! + host + : + + + + ABORT + ACCESS + ACCEPT + ADD + ALTER + ARRAY + ARRAY_LEN + AS + ASC + ASSERT + ASSIGN + AT + AUDIT + AUTHORIZATION + AVG + BASE_TABLE + BEGIN + BINARY_INTEGER + BODY + BREAK + BREAKS + BTITLE + CASE + CALL + CENTER + CHAR + CHAR_BASE + CHECK + CLEAR + CLOSE + CLUSTER + CLUSTERS + CMPVAR + COL + COLAUTH + COLUMN + COLUMNS + COMMENT + COMMIT + COMPRESS + COMPUTE + CONSTANT + CONSTRAINT + CONTINUE + COUNT + CREATE + CURRENT + CURRVAL + CURSOR + DATABASE + DATA_BASE + DATE + DBA + DEBUGOFF + DEBUGON + DECLARE + DEFAULT + DEFINITION + DELAY + DELETE + DESC + EXPLAIN + DIGITS + DISPOSE + DISTINCT + DO + DROP + DUMP + ELSE + ELSIF + END + ENTRY> + ERRORS + EXCEPTION + EXCEPTION_INIT + EXCLUSIVE + EXECUTE + EXIT + EXTERNAL + FALSE + FETCH + FILE + FOR + FOREIGN + FORM + FORMAT + FROM + FUNCTION + GENERIC + GOTO + GRANT + GREATEST + GROUP + HAVING + HEADING + IDENTIFIED + IDENTITYCOL + IF + IMMEDIATE + INCREMENT + INDEX + INDEXES + INDICATOR + INITIAL + INSERT + INTERFACE + INTO + IS + KEY + LEAST + LEVEL + LIMITED + LOCK + LONG + LOOP + MATCHED + MAX + MAXEXTENTS + MERGE + MEMBER + MIN + MINUS + MLSLABEL + MOD + MODIFY + MORE + NATURAL + NATURALN + NEW + NEW_VALUE + NEXT + NEXTVAL + NOAUDIT + NOCOMPRESS + NOPRINT + NOWAIT + NULL + NUMBER + NUMBER_BASE + OF + OFFLINE + ON + OFF + ONLINE + OPEN + OPTION + ORDER + ORGANIZATION + OTHERS + OUT + PACKAGE + PAGE + PARTITION + PCTFREE + PCTINCREASE + PLAN + POSITIVE + POSITIVEN + PRAGMA + PRINT + PRIMARY + PRIOR + PRIVATE + PRIVILEGES + PROCEDURE + PROMPT + PUBLIC + QUOTED_IDENTIFIER + RAISE + RANGE + RAW + RECORD + REF + REFERENCES + RELEASE + REMR + RENAME + RESOURCE + RETURN + REVERSE + REVOKE + ROLLBACK + ROW + ROWID + ROWLABEL + ROWNUM + ROWS + ROWTYPE + RUN + SAVEPOINT + SCHEMA + SELECT + SEPERATE + SEQUENCE + SESSION + SET + SHARE + SHOW + SIGNTYPE + SKIP + SPACE + SPOOL + .SQL + SQL + SQLCODE + SQLERRM + SQLERROR + STATEMENT + STDDEV + STORAGE + SUBTYPE + SUCCESSFULL + SUM + SYNONYM + SYSDATE + TABAUTH + TABLE + TABLES + TABLESPACE + TASK + TERMINATE + THEN + TO + TRIGGER + TRUE + TRUNCATE + TTITLE + TYPE + UID + UNION + UNIQUE + UNDEFINE + UPDATE + UPDATETEXT + USE + USER + USING + VALIDATE + VALUES + VARIANCE + VIEW + VIEWS + WHEN + WHENEVER + WHERE + WHILE + WITH + WORK + WRITE + XOR + + + binary + bit + blob + boolean + char + character + datetime + decimal + float + image + int + integer + money + numeric + nchar + nvarchar + ntext + object + pls_integer + real + smalldatetime + smallint + smallmoney + text + timestamp + tinyint + uniqueidentifier + varbinary + varchar + varchar2 + varray + + + ABS + ACOS + ADD_MONTHS + ASCII + ASIN + ATAN + ATAN2 + BITAND + CEIL + CHARTOROWID + CHR + CONCAT + CONVERT + COS + COSH + DECODE + DEFINE + DUAL + FLOOR + HEXTORAW + INITCAP + INSTR + INSTRB + LAST_DAY + LENGTH + LENGTHB + LN + LOG + LOWER + LPAD + LTRIM + MOD + MONTHS_BETWEEN + NEW_TIME + NEXT_DAY + NLSSORT + NSL_INITCAP + NLS_LOWER + NLS_UPPER + NVL + POWER + RAWTOHEX + REPLACE + ROUND + ROWIDTOCHAR + RPAD + RTRIM + SIGN + SOUNDEX + SIN + SINH + SQRT + SUBSTR + SUBSTRB + TAN + TANH + TO_CHAR + TO_DATE + TO_MULTIBYTE + TO_NUMBER + TO_SINGLE_BYTE + TRANSLATE + TRUNC + UPPER + + + ALL + AND + ANY + BETWEEN + BY + CONNECT + EXISTS + IN + INTERSECT + LIKE + NOT + NULL + OR + START + UNION + WITH + NOTFOUND + ISOPEN + JOIN + LEFT + RIGHT + FULL + OUTER + CROSS + + + DBMS_SQL + OPEN_CURSOR + PARSE + BIND_VARIABLE + BIND_ARRAY + DEFINE_COLUMN + DEFINE_COLUMN_LONG + DEFINE_ARRAY + EXECUTE + FETCH_ROWS + EXECUTE_AND_FETCH + VARIABLE_VALUE + COLUMN_VALUE + COLUMN_VALUE_LONG + CLOSE_CURSOR + DEFINE_COLUMN_CHAR + COLUMN_VALUE_CHAR + + DBMS_PROFILER + START_PROFILER + STOP_PROFILER + ROLLUP_RUN + + + _EDITOR + ARRAYSIZE + AUTOTRACE + DBMS_OUTPUT + ECHO + ENABLE + FCLOSE + FCLOSE_ALL + FEED + FEEDBACK + FILE_TYPE + FOPEN + HEAD + INVALID_OPERATION + INVALID_PATH + LINESIZE + PAGESIZE + PAGES + PAUSE + DOC + PUTF + PUT_LINE + SERVEROUTPUT + SQL.PNO + UTL_FILE + VER + VERIFY + WRITE_ERROR + + + + + diff --git a/extra/xmode/modes/pl1.xml b/extra/xmode/modes/pl1.xml new file mode 100644 index 0000000000..ae4f609b74 --- /dev/null +++ b/extra/xmode/modes/pl1.xml @@ -0,0 +1,597 @@ + + + + + + + + + + + + + + + + + + /* + */ + + + + ' + ' + + + + " + " + + + + \* *process + + = + + + - + * + / + > + < + ^ + ¬ + & + | + . + , + ; + : + + + ( + ) + + + + alias + alloc + allocate + attach + begin + by + byname + call + close + copy + dcl + declare + default + define + delay + delete + detach + dft + display + do + downthru + else + end + entry + exit + fetch + flush + format + free + from + get + go + goto + if + ignore + %include + into + iterate + key + keyfrom + keyto + leave + line + locate + loop + name + on + open + ordinal + other + otherwise + package + page + proc + procedure + put + read + release + repeat + reply + resignal + return + revert + rewrite + select + set + signal + skip + snap + stop + string + structure + then + thread + to + tstack + unlock + until + upthru + wait + when + while + write + + + A + abnormal + aligned + anycond + anycondition + area + asgn + asm + assembler + assignable + attn + attention + auto + automatic + b + b3 + b4 + based + bigendian + bin + binary + bit + buf + buffered + builtin + bx + byaddr + byvalue + C + cdecl + cell + char + character + charg + chargraphic + cobol + column + complex + cond + condition + conn + connected + controlled + conv + conversion + cplx + ctl + data + date + dec + decimal + def + defined + descriptor + descriptors + dim + dimension + direct + E + edit + endfile + endpage + env + environment + error + exclusive + exports + ext + external + F + fetchable + file + finish + fixed + fixedoverflow + float + fofl + format + fortran + fromalien + g + generic + graphic + gx + handle + hexadec + ieee + imported + init + initial + inline + input + inter + internal + invalidop + irred + irreducible + keyed + L + label + like + limited + linesize + linkage + list + littleendian + m + main + native + nonasgn + nocharg + nochargraphic + nodescriptor + noexecops + nomap + nomapin + nomapout + nonasgn + nonassignable + nonconn + nonconnected + nonnative + nonvar + nonvarying + normal + offset + ofl + optional + options + optlink + order + output + overflow + P + pagesize + parameter + pic + picture + pointer + pos + position + prec + precision + print + ptr + R + range + real + record + recursive + red + reducible + reentrant + refer + reorder + reserved + reserves + retcode + returns + seql + sequential + signed + size + static + stdcall + storage + stream + strg + stringrange + strz + stringsize + subrg + subscriptrange + system + task + title + transmit + type + ufl + unal + unaligned + unbuf + unbuffered + undefinedfile + underflow + undf + union + unsigned + update + value + var + variable + varying + varyingz + varz + wchar + widechar + winmain + wx + x + xn + xu + zdiv + zerodivide + + + abs + acos + acosf + add + addr + address + addrdata + all + allocation + allocn + allocsize + any + asin + asinf + atan + atand + atanf + atanh + availablearea + binaryvalue + bind + binvalue + bitlocation + bitloc + bool + byte + cast + cds + ceil + center + centre + centreleft + centreleft + centreright + centerright + charg + chargraphic + chargval + checkstg + collate + compare + conjg + cos + cosd + cosf + cosh + count + cs + cstg + currentsize + currentstorage + datafield + date + datetime + days + daystodate + daystosecs + divide + empty + entryaddr + epsilon + erfc + exp + expf + exponent + fileddint + fileddtest + fileddword + fileid + fileopen + fileread + fileseek + filetell + filewrite + first + floor + gamma + getenv + hbound + hex + heximage + high + huge + iand + ieor + imag + index + inot + ior + isigned + isll + ismain + isrl + iunsigned + last + lbound + left + length + lineno + loc + location + log + logf + loggamma + log2 + log10 + log10f + low + lowercase + lower2 + max + maxexp + maxlength + min + minexp + mod + mpstr + multiply + new + null + offestadd + offestdiff + offestsubtract + offestvalue + omitted + onchar + oncode + oncondond + oncondid + oncount + onfile + ongsource + onkey + onloc + onsource + onsubcode + onwchar + onwsource + ordinalname + ordinalpred + ordinalsucc + packagename + pageno + places + pliascii + plianc + plickpt + plidelete + plidump + pliebcdic + plifill + plifree + plimove + pliover + plirest + pliretc + pliretv + plisaxa + plisaxb + plisrta + plisrtb + plisrtc + plisrtd + pointeradd + ptradd + pointerdiff + ptrdiff + pointersubtract + ptrsubtract + pointervalue + ptrvalue + poly + pred + present + procname + procedurename + prod + putenv + radix + raise + random + rank + rem + repattern + respec + reverse + right + round + samekey + scale + search + searchr + secs + secstodate + secstodays + sign + signed + sin + sind + sinf + sinh + size + sourcefile + sourceline + sqrt + sqrtf + stg + storage + string + substr + subtract + succ + sum + sysnull + tally + tan + tand + tanf + tanh + threadid + time + tiny + translate + trim + trunc + type + unallocated + unspec + uppercase + valid + validdate + varglist + vargsizer + verify + verifyr + wcharval + weekday + whigh + wlow + y4date + y4julian + y4year + + + + diff --git a/extra/xmode/modes/pop11.xml b/extra/xmode/modes/pop11.xml new file mode 100644 index 0000000000..47685dd8dc --- /dev/null +++ b/extra/xmode/modes/pop11.xml @@ -0,0 +1,262 @@ + + + + + + + + + + + + + + + + /* + */ + + + ;;; + + + ' + ' + + + + " + " + + + + ` + ` + + + + [ + ] + + + + { + } + + + + ![ + ] + + + + ( + ) + + : + + + #_< + >_# + + + #_ + + ) + ( + . + , + ; + ^ + @ + : + | + = + >= + <= + <> + > + < + + + / + - + * + + + false + true + database + it + undef + + + define + class + enddefine + dlocal + lvars + vars + slot + instance + endinstance + method + syntax + biginteger + boolean + complex + ddecimal + decimal + device + ident + integer + intvec + key + nil + pair + procedure + process + prologterm + prologvar + ratio + ref + section + string + termin + vector + word + + + if + forevery + endforevery + then + switchon + endswitchon + case + elseif + else + endif + for + repeat + from + till + step + while + endfor + endrepeat + endwhile + times + to + do + by + in + return + + + and + or + matches + quitloop + goto + uses + trace + cons_with + consstring + + + interrupt + partapply + consclosure + max + add + remove + alladd + quitif + copydata + copytree + copylist + length + hd + tl + rev + shuffle + oneof + sort + syssort + random + readline + not + pr + nl + present + subword + member + length + listlength + datalength + mishap + last + delete + valof + dataword + + + isnumber + isinteger + islist + isboolean + + + + + + [ + ] + + + + { + } + + + + ![ + ] + + + + ' + ' + + + + " + " + + + + % + % + + + + /* + */ + + + ;;; + = + == + + ^ + ? + + + + + + + : + * + + diff --git a/extra/xmode/modes/postscript.xml b/extra/xmode/modes/postscript.xml new file mode 100644 index 0000000000..1588b6272e --- /dev/null +++ b/extra/xmode/modes/postscript.xml @@ -0,0 +1,97 @@ + + + + + + + + + + + + %! + %? + %% + % + + + + ( + ) + + + + < + > + + + / + + } + { + ] + [ + + + pop + exch + dup + copy + roll + clear + count + mark + cleartomark + counttomark + + exec + if + ifelse + for + repeat + loop + exit + stop + stopped + countexecstack + execstack + quit + start + + add + div + idiv + mod + mul + sub + abs + ned + ceiling + floor + round + truncate + sqrt + atan + cos + sin + exp + ln + log + rand + srand + rrand + + true + false + NULL + + + + + + ( + ) + + + diff --git a/extra/xmode/modes/povray.xml b/extra/xmode/modes/povray.xml new file mode 100644 index 0000000000..b76ba9ece8 --- /dev/null +++ b/extra/xmode/modes/povray.xml @@ -0,0 +1,518 @@ + + + + + + + + + + + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + // + = + ! + >= + <= + + + - + / + * + > + < + % + & + | + ^ + ~ + } + { + : + + + ( + ) + + + aa_level + aa_threshold + abs + absorption + accuracy + acos + acosh + adaptive + adc_bailout + agate + agate_turb + all + all_intersections + alpha + altitude + always_sample + ambient + ambient_light + angle + aperture + append + arc_angle + area_light + array + asc + ascii + asin + asinh + assumed_gamma + atan + atan2 + atanh + autostop + average + b_spline + background + bezier_spline + bicubic_patch + black_hole + blob + blue + blur_samples + bounded_by + box + boxed + bozo + #break + brick + brick_size + brightness + brilliance + bump_map + bump_size + bumps + camera + #case + caustics + ceil + cells + charset + checker + chr + circular + clipped_by + clock + clock_delta + clock_on + collect + color + color_map + colour + colour_map + component + composite + concat + cone + confidence + conic_sweep + conserve_energy + contained_by + control0 + control1 + coords + cos + cosh + count + crackle + crand + cube + cubic + cubic_spline + cubic_wave + cutaway_textures + cylinder + cylindrical + #debug + #declare + #default + defined + degrees + density + density_file + density_map + dents + df3 + difference + diffuse + dimension_size + dimensions + direction + disc + dispersion + dispersion_samples + dist_exp + distance + div + double_illuminate + eccentricity + #else + emission + #end + #error + error_bound + evaluate + exp + expand_thresholds + exponent + exterior + extinction + face_indices + facets + fade_color + fade_colour + fade_distance + fade_power + falloff + falloff_angle + false + #fclose + file_exists + filter + final_clock + final_frame + finish + fisheye + flatness + flip + floor + focal_point + fog + fog_alt + fog_offset + fog_type + #fopen + form + frame_number + frequency + fresnel + function + gather + gif + global_lights + global_settings + gradient + granite + gray + gray_threshold + green + h_angle + height_field + hexagon + hf_gray_16 + hierarchy + hollow + hypercomplex + #if + #ifdef + iff + #ifndef + image_height + image_map + image_pattern + image_width + #include + initial_clock + initial_frame + inside + int + interior + interior_texture + internal + interpolate + intersection + intervals + inverse + ior + irid + irid_wavelength + isosurface + jitter + jpeg + julia + julia_fractal + lathe + lambda + leopard + light_group + light_source + linear_spline + linear_sweep + ln + load_file + #local + location + log + look_at + looks_like + low_error_factor + #macro + magnet + major_radius + mandel + map_type + marble + material + material_map + matrix + max + max_extent + max_gradient + max_intersections + max_iteration + max_sample + max_trace + max_trace_level + media + media_attenuation + media_interaction + merge + mesh + mesh2 + metallic + method + metric + min + min_extent + minimum_reuse + mod + mortar + natural_spline + nearest_count + no + no_bump_scale + no_image + no_reflection + no_shadow + noise_generator + normal + normal_indices + normal_map + normal_vectors + number_of_waves + object + octaves + off + offset + omega + omnimax + on + once + onion + open + orient + orientation + orthographic + panoramic + parallel + parametric + pass_through + pattern + perspective + pgm + phase + phong + phong_size + photons + pi + pigment + pigment_map + pigment_pattern + planar + plane + png + point_at + poly + poly_wave + polygon + pot + pow + ppm + precision + precompute + pretrace_end + pretrace_start + prism + projected_through + pwr + quadratic_spline + quadric + quartic + quaternion + quick_color + quick_colour + quilted + radial + radians + radiosity + radius + rainbow + ramp_wave + rand + #range + range_divider + ratio + #read + reciprocal + recursion_limit + red + reflection + reflection_exponent + refraction + #render + repeat + rgb + rgbf + rgbft + rgbt + right + ripples + rotate + roughness + samples + save_file + scale + scallop_wave + scattering + seed + select + shadowless + sin + sine_wave + sinh + size + sky + sky_sphere + slice + slope + slope_map + smooth + smooth_triangle + solid + sor + spacing + specular + sphere + sphere_sweep + spherical + spiral1 + spiral2 + spline + split_union + spotlight + spotted + sqr + sqrt + #statistics + str + strcmp + strength + strlen + strlwr + strupr + sturm + substr + superellipsoid + #switch + sys + t + tan + tanh + target + text + texture + texture_list + texture_map + tga + thickness + threshold + tiff + tightness + tile2 + tiles + tolerance + toroidal + torus + trace + transform + translate + transmit + triangle + triangle_wave + true + ttf + turb_depth + turbulence + type + u + u_steps + ultra_wide_angle + #undef + union + up + use_alpha + use_color + use_colour + use_index + utf8 + uv_indices + uv_mapping + uv_vectors + v + v_angle + v_steps + val + variance + vaxis_rotate + vcross + vdot + #version + vertex_vectors + vlength + vnormalize + vrotate + vstr + vturbulence + #warning + warp + water_level + waves + #while + width + wood + wrinkles + #write + x + y + yes + z + + + diff --git a/extra/xmode/modes/powerdynamo.xml b/extra/xmode/modes/powerdynamo.xml new file mode 100644 index 0000000000..7babf3dc74 --- /dev/null +++ b/extra/xmode/modes/powerdynamo.xml @@ -0,0 +1,464 @@ + + + + + + + + + + + + + + + + <!--script + --> + + + + + <!--data + --> + + + + <!--document + --> + + + + <!--evaluate + --> + + + + <!--execute + --> + + + + <!--formatting + --> + + + + <!--/formatting + --> + + + + <!--include + --> + + + + <!--label + --> + + + + <!--sql + --> + + + + <!--sql_error_code + --> + + + + <!--sql_error_info + --> + + + + <!--sql_state + --> + + + + <!--sql_on_no_error + --> + + + <!--/sql_on_no_error + --> + + + + <!--sql_on_error + --> + + + <!--/sql_on_error + --> + + + + <!--sql_on_no_rows + --> + + + <!--/sql_on_no_rows + --> + + + + <!--sql_on_rows + --> + + + <!--/sql_on_rows + --> + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + + + + <!--script + --?> + + + + " + " + + + + ' + ' + + + = + + + + + <!--script + ?--> + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + // + + = + ! + >= + <= + = + + + - + / + * + > + < + % + & + | + ^ + ~ + . + } + { + , + ; + ] + [ + ? + @ + : + + ( + ) + + + + abstract + break + byte + boolean + catch + case + class + char + continue + default + double + do + else + exists + extends + false + file + final + float + for + finally + function + if + import + implements + int + interface + instanceof + long + length + native + new + null + package + private + protected + public + return + switch + synchronized + short + static + super + try + true + this + throw + throws + threadsafe + transient + var + void + while + + + + document + connection + file + query + session + site + system + typeof + + + AskQuestion + autoCommit + Close + Commit + Connect + CreateConnection + CreateDocument + CreatePropertySheet + CreateQuery + CreateWizard + cachedOutputTimeOut + charAt + connected + connection + connectionId + connectionName + connectionType + connectParameters + contentType + DeleteConnection + DeleteDocument + Disconnect + database + dataSource + dataSourceList + description + Exec + Execute + ExportTo + eof + errorNumber + errorString + GetColumnCount + GetColumnIndex + GetColumnLabel + GetConnection + GetConnectionIdList + GetConnectionNameList + GetCWD + GetDirectory + GetDocument + GetEmpty + GetEnv + GetErrorCode + GetErrorInfo + GetEventList + GetFilePtr + GetGenerated + GetRootDocument + GetRowCount + GetServerVariable + GetState + GetSupportedMoves + GetValue + ImportFrom + Include + id + indexOf + lastIndexOf + lastModified + length + location + Move + MoveFirst + MoveLast + MoveNext + MovePrevious + MoveRelative + mode + name + OnEvent + Open + Opened + parent + password + ReadChar + ReadLine + Refresh + Rollback + redirect + Seek + SetEnv + SetSQL + ShowMessage + substring + server + simulateCursors + size + source + status + timeOut + toLowerCase + toUpperCase + type + userId + value + WriteLine + Write + write + writeln + + + + + + " + " + + + ' + ' + + + + NAME + + + + + + " + " + + + ' + ' + + + + NAME + QUERY + + + + + + " + " + + + ' + ' + + + + CONTENT_TYPE + REDIRECT + STATUS + CACHED_OUTPUT_TIMEOUT + + + + diff --git a/extra/xmode/modes/progress.xml b/extra/xmode/modes/progress.xml new file mode 100644 index 0000000000..480bdef76f --- /dev/null +++ b/extra/xmode/modes/progress.xml @@ -0,0 +1,3748 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /* */ + + + + + + + + + + + + + + + + + /* + */ + + + + ' + ' + + + + " + " + + + + {& + + + * + + + , + . + / + = + ? + @ + [ + ] + ^ + ( + ) + + >= + <= + <> + + + + + + : + + + :accelerator + :accept-changes + :accept-row-changes + :add-buffer + :add-calc-column + :add-columns-from + :add-events-procedure + :add-fields-from + :add-first + :add-index-field + :add-last + :add-like-column + :add-like-field + :add-like-index + :add-new-field + :add-new-index + :add-super-procedure + :adm-data + :after-buffer + :after-rowid + :after-table + :allow-column-searching + :always-on-top + :ambiguous + :append-child + :appl-alert-boxes + :apply-callback + :appserver-info + :appserver-password + :appserver-userid + :async-request-count + :async-request-handle + :asynchronous + :attach-data-source + :attr-space + :attribute-names + :auto-completion + :auto-delete + :auto-delete-xml + :auto-end-key + :auto-go + :auto-indent + :auto-resize + :auto-return + :auto-validate + :auto-zap + :available + :available-formats + :background + :base-ade + :basic-logging + :batch-mode + :before-buffer + :before-rowid + :before-table + :bgcolor + :blank + :block-iteration-display + :border-bottom-chars + :border-bottom-pixels + :border-left-chars + :border-left-pixels + :border-right-chars + :border-right-pixels + :border-top-chars + :border-top-pixels + :box + :box-selectable + :browse-column-data-types + :browse-column-formats + :browse-column-labels + :buffer-chars + :buffer-compare + :buffer-copy + :buffer-create + :buffer-delete + :buffer-field + :buffer-handle + :buffer-lines + :buffer-name + :buffer-release + :buffer-validate + :buffer-value + :bytes-read + :bytes-written + :cache + :call-name + :call-type + :can-create + :can-delete + :can-read + :can-write + :cancel-break + :cancel-button + :cancel-requests + :cancelled + :careful-paint + :case-sensitive + :centered + :character_length + :charset + :checked + :child-num + :clear + :clear-selection + :client-connection-id + :client-type + :clone-node + :code + :codepage + :column-bgcolor + :column-dcolor + :column-fgcolor + :column-font + :column-label + :column-movable + :column-pfcolor + :column-read-only + :column-resizable + :column-scrolling + :columns + :com-handle + :complete + :config-name + :connect + :connected + :context-help + :context-help-file + :context-help-id + :control-box + :convert-3d-colors + :convert-to-offset + :coverage + :cpcase + :cpcoll + :cplog + :cpprint + :cprcodein + :cprcodeout + :cpstream + :cpterm + :crc-value + :create-like + :create-node + :create-node-namespace + :create-on-add + :create-result-list-entry + :current-changed + :current-column + :current-environment + :current-iteration + :current-result-row + :current-row-modified + :current-window + :cursor-char + :cursor-line + :cursor-offset + :data-entry-return + :data-source + :data-type + :dataset + :date-format + :db-references + :dbname + :dcolor + :dde-error + :dde-id + :dde-item + :dde-name + :dde-topic + :deblank + :debug + :debug-alert + :decimals + :default + :default-buffer-handle + :default-button + :default-commit + :default-string + :delete + :delete-current-row + :delete-line + :delete-node + :delete-result-list-entry + :delete-selected-row + :delete-selected-rows + :delimiter + :description + :deselect-focused-row + :deselect-rows + :deselect-selected-row + :detach-data-source + :directory + :disable + :disable-auto-zap + :disable-connections + :disable-dump-triggers + :disable-load-triggers + :disconnect + :display-message + :display-timezone + :display-type + :down + :drag-enabled + :drop-target + :dump-logging-now + :dynamic + :edge-chars + :edge-pixels + :edit-can-paste + :edit-can-undo + :edit-clear + :edit-copy + :edit-cut + :edit-paste + :edit-undo + :empty + :empty-temp-table + :enable + :enable-connections + :enabled + :encoding + :end-file-drop + :end-user-prompt + :error-column + :error-object-detail + :error-row + :error-string + :event-procedure + :event-procedure-context + :event-type + :exclusive-id + :execution-log + :expand + :expandable + :export + :extent + :fetch-selected-row + :fgcolor + :file-create-date + :file-create-time + :file-mod-date + :file-mod-time + :file-name + :file-offset + :file-size + :file-type + :fill + :fill-mode + :filled + :find-by-rowid + :find-current + :find-first + :find-last + :find-unique + :first-async-request + :first-buffer + :first-child + :first-column + :first-data-source + :first-dataset + :first-procedure + :first-query + :first-server + :first-server-socket + :first-socket + :first-tab-item + :fit-last-column + :flat-button + :focused-row + :focused-row-selected + :font + :font-based-layout + :foreground + :form-input + :format + :forward-only + :frame + :frame-col + :frame-name + :frame-row + :frame-spacing + :frame-x + :frame-y + :frequency + :full-height-chars + :full-height-pixels + :full-pathname + :full-width-chars + :full-width-pixels + :function + :get-attribute + :get-attribute-node + :get-blue-value + :get-browse-column + :get-buffer-handle + :get-bytes-available + :get-cgi-list + :get-cgi-value + :get-changes + :get-child + :get-child-relation + :get-config-value + :get-current + :get-document-element + :get-dropped-file + :get-dynamic + :get-first + :get-green-value + :get-iteration + :get-last + :get-message + :get-next + :get-number + :get-parent + :get-prev + :get-printers + :get-red-value + :get-repositioned-row + :get-rgb-value + :get-selected-widget + :get-signature + :get-socket-option + :get-tab-item + :get-text-height-chars + :get-text-height-pixels + :get-text-width-chars + :get-text-width-pixels + :get-wait-state + :graphic-edge + :grid-factor-horizontal + :grid-factor-vertical + :grid-snap + :grid-unit-height-chars + :grid-unit-height-pixels + :grid-unit-width-chars + :grid-unit-width-pixels + :grid-visible + :handle + :handler + :has-lobs + :has-records + :height-chars + :height-pixels + :hidden + :horizontal + :html-charset + :html-end-of-line + :html-end-of-page + :html-frame-begin + :html-frame-end + :html-header-begin + :html-header-end + :html-title-begin + :html-title-end + :hwnd + :icfparameter + :icon + :image + :image-down + :image-insensitive + :image-up + :immediate-display + :import-node + :in-handle + :increment-exclusive-id + :index + :index-information + :initial + :initialize-document-type + :initiate + :inner-chars + :inner-lines + :input-value + :insert + :insert-backtab + :insert-before + :insert-file + :insert-row + :insert-string + :insert-tab + :instantiating-procedure + :internal-entries + :invoke + :is-open + :is-parameter-set + :is-row-selected + :is-selected + :is-xml + :items-per-row + :keep-connection-open + :keep-frame-z-order + :keep-security-cache + :key + :label + :label-bgcolor + :label-dcolor + :label-fgcolor + :label-font + :labels + :languages + :large + :large-to-small + :last-async-request + :last-child + :last-procedure + :last-server + :last-server-socket + :last-socket + :last-tab-item + :line + :list-item-pairs + :list-items + :listings + :literal-question + :load + :load-icon + :load-image + :load-image-down + :load-image-insensitive + :load-image-up + :load-mouse-pointer + :load-small-icon + :local-host + :local-name + :local-port + :locator-column-number + :locator-line-number + :locator-public-id + :locator-system-id + :locator-type + :locked + :log-id + :longchar-to-node-value + :lookup + :mandatory + :manual-highlight + :margin-height-chars + :margin-height-pixels + :margin-width-chars + :margin-width-pixels + :max-button + :max-chars + :max-data-guess + :max-height-chars + :max-height-pixels + :max-value + :max-width-chars + :max-width-pixels + :md5-value + :memptr-to-node-value + :menu-bar + :menu-key + :menu-mouse + :merge-changes + :merge-row-changes + :message-area + :message-area-font + :min-button + :min-column-width-chars + :min-column-width-pixels + :min-height-chars + :min-height-pixels + :min-schema-marshall + :min-value + :min-width-chars + :min-width-pixels + :modified + :mouse-pointer + :movable + :move-after-tab-item + :move-before-tab-item + :move-column + :move-to-bottom + :move-to-eof + :move-to-top + :multiple + :multitasking-interval + :name + :namespace-prefix + :namespace-uri + :needs-appserver-prompt + :needs-prompt + :new + :new-row + :next-column + :next-sibling + :next-tab-item + :no-current-value + :no-empty-space + :no-focus + :no-schema-marshall + :no-validate + :node-type + :node-value + :node-value-to-longchar + :node-value-to-memptr + :normalize + :num-buffers + :num-buttons + :num-child-relations + :num-children + :num-columns + :num-dropped-files + :num-entries + :num-fields + :num-formats + :num-items + :num-iterations + :num-lines + :num-locked-columns + :num-messages + :num-parameters + :num-replaced + :num-results + :num-selected-rows + :num-selected-widgets + :num-tabs + :num-to-retain + :num-visible-columns + :numeric-decimal-point + :numeric-format + :numeric-separator + :ole-invoke-locale + :ole-names-locale + :on-frame-border + :origin-handle + :origin-rowid + :overlay + :owner + :owner-document + :page-bottom + :page-top + :parameter + :parent + :parent-relation + :parse-status + :password-field + :pathname + :persistent + :persistent-cache-disabled + :persistent-procedure + :pfcolor + :pixels-per-column + :pixels-per-row + :popup-menu + :popup-only + :position + :prepare-string + :prepared + :prev-column + :prev-sibling + :prev-tab-item + :primary + :printer-control-handle + :printer-hdc + :printer-name + :printer-port + :private-data + :procedure-name + :profiling + :progress-source + :proxy + :proxy-password + :proxy-userid + :public-id + :published-events + :query + :query-close + :query-off-end + :query-open + :query-prepare + :quit + :radio-buttons + :raw-transfer + :read + :read-file + :read-only + :recid + :record-length + :refresh + :refreshable + :reject-changes + :reject-row-changes + :rejected + :remote + :remote-host + :remote-port + :remove-attribute + :remove-child + :remove-events-procedure + :remove-super-procedure + :replace + :replace-child + :replace-selection-text + :reposition-backwards + :reposition-forwards + :reposition-parent-relation + :reposition-to-row + :reposition-to-rowid + :resizable + :resize + :retain-shape + :return-inserted + :return-value + :return-value-data-type + :row + :row-height-chars + :row-height-pixels + :row-markers + :row-resizable + :row-state + :rowid + :rule-row + :rule-y + :save + :save-file + :save-row-changes + :sax-parse + :sax-parse-first + :sax-parse-next + :sax-xml + :schema-change + :schema-path + :screen-lines + :screen-value + :scroll-bars + :scroll-delta + :scroll-offset + :scroll-to-current-row + :scroll-to-item + :scroll-to-selected-row + :scrollable + :scrollbar-horizontal + :scrollbar-vertical + :search + :select-all + :select-focused-row + :select-next-row + :select-prev-row + :select-row + :selectable + :selected + :selection-end + :selection-start + :selection-text + :sensitive + :separator-fgcolor + :separators + :server + :server-connection-bound + :server-connection-bound-request + :server-connection-context + :server-connection-id + :server-operating-mode + :session-end + :set-attribute + :set-attribute-node + :set-blue-value + :set-break + :set-buffers + :set-callback-procedure + :set-commit + :set-connect-procedure + :set-dynamic + :set-green-value + :set-input-source + :set-numeric-format + :set-parameter + :set-read-response-procedure + :set-red-value + :set-repositioned-row + :set-rgb-value + :set-rollback + :set-selection + :set-socket-option + :set-wait-state + :show-in-taskbar + :side-label-handle + :side-labels + :skip-deleted-record + :small-icon + :small-title + :sort + :startup-parameters + :status-area + :status-area-font + :stop + :stop-parsing + :stopped + :stretch-to-fit + :string-value + :sub-menu-help + :subtype + :super-procedures + :suppress-namespace-processing + :suppress-warnings + :synchronize + :system-alert-boxes + :system-id + :tab-position + :tab-stop + :table + :table-crc-list + :table-handle + :table-list + :table-number + :temp-directory + :temp-table-prepare + :text-selected + :three-d + :tic-marks + :time-source + :title + :title-bgcolor + :title-dcolor + :title-fgcolor + :title-font + :toggle-box + :tooltip + :tooltips + :top-only + :trace-filter + :tracing + :tracking-changes + :trans-init-procedure + :transaction + :transparent + :type + :undo + :unique-id + :unique-match + :url + :url-decode + :url-encode + :url-password + :url-userid + :user-data + :v6display + :validate + :validate-expression + :validate-message + :validate-xml + :validation-enabled + :value + :view-first-column-on-reopen + :virtual-height-chars + :virtual-height-pixels + :virtual-width-chars + :virtual-width-pixels + :visible + :warning + :widget-enter + :widget-leave + :width-chars + :width-pixels + :window + :window-state + :window-system + :word-wrap + :work-area-height-pixels + :work-area-width-pixels + :work-area-x + :work-area-y + :write + :write-data + :x + :x-document + :xml-schema-path + :xml-suppress-namespace-processing + :y + :year-offset + :_dcm + + + put\s+screen + :WHERE-STRING + :REPOSITION-PARENT-RELATION + + + choose\s+of + + + + + + + + + + + + + + any-key + any-printable + back-tab + backspace + bell + choose + container-event + dde-notify + default-action + del + delete-char + delete-character + deselect + deselection + drop-file-notify + empty-selection + end + end-box-selection + end-error + end-move + end-resize + end-search + endkey + entry + error + go + help + home + leave + menu-drop + off-end + off-home + parent-window-close + procedure-complete + read-response + recall + return + row-display + row-entry + row-leave + scroll-notify + select + selection + start-box-selection + start-move + start-resize + start-search + tab + value-changed + window-close + window-maximized + window-minimized + window-resized + window-restored + + + + abort + absolute + accelerator + accept-changes + accept-row-changes + accumulate + across + active + active-window + actor + add + add-buffer + add-calc-column + add-columns-from + add-events-procedure + add-fields-from + add-first + add-header-entry + add-index-field + add-interval + add-last + add-like-column + add-like-field + add-like-index + add-new-field + add-new-index + add-relation + add-source-buffer + add-super-procedure + adm-data + advise + after-buffer + after-rowid + after-table + alert-box + alias + all + allow-column-searching + allow-replication + alter + alternate-key + always-on-top + ambiguous + and + ansi-only + any + anywhere + append + append-child + append-line + appl-alert-boxes + application + apply + apply-callback + appserver-info + appserver-password + appserver-userid + array-message + as + as-cursor + ascending + ask-overwrite + assign + async-request-count + async-request-handle + asynchronous + at + attach + attach-data-source + attachment + attr-space + attribute-names + attribute-type + authorization + auto-completion + auto-delete + auto-delete-xml + auto-end-key + auto-endkey + auto-go + auto-indent + auto-resize + auto-return + auto-validate + auto-zap + automatic + available + available-formats + average + avg + background + backwards + base-ade + base-key + base64 + basic-logging + batch-mode + before-buffer + before-hide + before-rowid + before-table + begins + between + bgcolor + big-endian + binary + bind-where + blank + blob + block + block-iteration-display + border-bottom + border-bottom-chars + border-bottom-pixels + border-left + border-left-chars + border-left-pixels + border-right + border-right-chars + border-right-pixels + border-top + border-top-chars + border-top-pixels + both + bottom + bottom-column + box + box-selectable + break + break-line + browse + browse-column-data-types + browse-column-formats + browse-column-labels + browse-header + btos + buffer + buffer-chars + buffer-compare + buffer-copy + buffer-create + buffer-delete + buffer-field + buffer-handle + buffer-lines + buffer-name + buffer-release + buffer-validate + buffer-value + buttons + by + by-pointer + by-reference + by-value + by-variant-pointer + byte + bytes-read + bytes-written + cache + cache-size + call + call-name + call-type + can-create + can-delete + can-do + can-find + can-query + can-read + can-set + can-write + cancel-break + cancel-button + cancel-pick + cancel-requests + cancelled + caps + careful-paint + case + case-sensitive + cdecl + centered + chained + character + character_length + charset + check + checked + child-buffer + child-num + choices + chr + clear + clear-selection + client-connection-id + client-type + clipboard + clob + clone-node + close + code + codebase-locator + codepage + codepage-convert + col + col-of + collate + colon + colon-aligned + color + color-table + column-bgcolor + column-codepage + column-dcolor + column-fgcolor + column-font + column-label + column-label-bgcolor + column-label-dcolor + column-label-fgcolor + column-label-font + column-label-height-chars + column-label-height-pixels + column-movable + column-of + column-pfcolor + column-read-only + column-resizable + column-scrolling + columns + com-handle + com-self + combo-box + command + compares + compile + compiler + complete + component-handle + component-self + config-name + connect + connected + constrained + contains + contents + context + context-help + context-help-file + context-help-id + context-popup + control + control-box + control-container + control-frame + convert + convert-3d-colors + convert-to-offset + copy + copy-lob + count + count-of + coverage + cpcase + cpcoll + cpinternal + cplog + cpprint + cprcodein + cprcodeout + cpstream + cpterm + crc-value + create + create-like + create-node + create-node-namespace + create-on-add + create-result-list-entry + create-test-file + ctos + current + current-changed + current-column + current-environment + current-iteration + current-language + current-result-row + current-row-modified + current-value + current-window + current_date + cursor + cursor-char + cursor-down + cursor-left + cursor-line + cursor-offset + cursor-right + cursor-up + cut + data-bind + data-entry-return + data-refresh-line + data-refresh-page + data-relation + data-source + data-type + database + dataservers + dataset + dataset-handle + date + date-format + datetime + datetime-tz + day + db-references + dbcodepage + dbcollation + dbname + dbparam + dbrestrictions + dbtaskid + dbtype + dbversion + dcolor + dde + dde-error + dde-id + dde-item + dde-name + dde-topic + deblank + debug + debug-alert + debug-list + debugger + decimal + decimals + declare + default + default-buffer-handle + default-button + default-commit + default-extension + default-noxlate + default-pop-up + default-string + default-window + defer-lob-fetch + define + defined + delete + delete-column + delete-current-row + delete-end-line + delete-field + delete-header-entry + delete-line + delete-node + delete-result-list-entry + delete-selected-row + delete-selected-rows + delete-word + delimiter + descending + description + deselect-extend + deselect-focused-row + deselect-rows + deselect-selected-row + deselection-extend + detach + detach-data-source + dialog-box + dialog-help + dictionary + dir + directory + disable + disable-auto-zap + disable-connections + disable-dump-triggers + disable-load-triggers + disabled + disconnect + dismiss-menu + display + display-message + display-timezone + display-type + distinct + do + dos + dos-end + double + down + drag-enabled + drop + drop-down + drop-down-list + drop-target + dump + dump-logging-now + dynamic + dynamic-current-value + dynamic-function + dynamic-next-value + each + echo + edge + edge-chars + edge-pixels + edit-can-paste + edit-can-undo + edit-clear + edit-copy + edit-cut + edit-paste + edit-undo + editing + editor + editor-backtab + editor-tab + else + empty + empty-dataset + empty-temp-table + enable + enable-connections + enabled + encode + encoding + end-file-drop + end-key + end-row-resize + end-user-prompt + enter-menubar + entered + entry-types-list + eq + error-column + error-object-detail + error-row + error-status + error-string + escape + etime + event-procedure + event-procedure-context + event-type + events + except + exclusive + exclusive-id + exclusive-lock + exclusive-web-user + execute + execution-log + exists + exit + exp + expand + expandable + explicit + export + extended + extent + external + extract + false + fetch + fetch-selected-row + fgcolor + fields + file + file-access-date + file-access-time + file-create-date + file-create-time + file-information + file-mod-date + file-mod-time + file-name + file-offset + file-size + file-type + filename + fill + fill-in + fill-mode + fill-where-string + filled + filters + find + find-by-rowid + find-case-sensitive + find-current + find-first + find-global + find-last + find-next + find-next-occurrence + find-prev-occurrence + find-previous + find-select + find-unique + find-wrap-around + finder + first + first-async-request + first-buffer + first-child + first-column + first-data-source + first-dataset + first-of + first-procedure + first-query + first-server + first-server-socket + first-socket + first-tab-item + fit-last-column + fix-codepage + fixed-only + flat-button + float + focus + focus-in + focused-row + focused-row-selected + font + font-based-layout + font-table + for + force-file + foreground + form-input + format + forward-only + forwards + frame + frame-col + frame-db + frame-down + frame-field + frame-file + frame-index + frame-line + frame-name + frame-row + frame-spacing + frame-value + frame-x + frame-y + frequency + from + from-chars + from-current + from-pixels + fromnoreorder + full-height + full-height-chars + full-height-pixels + full-pathname + full-width-chars + full-width-pixels + function + function-call-type + gateways + ge + generate-md5 + get + get-attr-call-type + get-attribute + get-attribute-node + get-bits + get-blue-value + get-browse-column + get-buffer-handle + get-byte + get-byte-order + get-bytes + get-bytes-available + get-cgi-list + get-cgi-value + get-changes + get-child + get-child-relation + get-codepages + get-collations + get-config-value + get-current + get-dataset-buffer + get-dir + get-document-element + get-double + get-dropped-file + get-dynamic + get-file + get-first + get-float + get-green-value + get-header-entry + get-index-by-namespace-name + get-index-by-qname + get-iteration + get-key-value + get-last + get-localname-by-index + get-long + get-message + get-next + get-node + get-number + get-parent + get-pointer-value + get-prev + get-printers + get-qname-by-index + get-red-value + get-relation + get-repositioned-row + get-rgb-value + get-selected-widget + get-serialized + get-short + get-signature + get-size + get-socket-option + get-source-buffer + get-string + get-tab-item + get-text-height + get-text-height-chars + get-text-height-pixels + get-text-width + get-text-width-chars + get-text-width-pixels + get-top-buffer + get-type-by-index + get-type-by-namespace-name + get-type-by-qname + get-unsigned-short + get-uri-by-index + get-value-by-index + get-value-by-namespace-name + get-value-by-qname + get-wait-state + getbyte + global + go-on + go-pending + goto + grant + graphic-edge + grayed + grid-factor-horizontal + grid-factor-vertical + grid-set + grid-snap + grid-unit-height + grid-unit-height-chars + grid-unit-height-pixels + grid-unit-width + grid-unit-width-chars + grid-unit-width-pixels + grid-visible + group + gt + handle + handler + has-lobs + has-records + having + header + height + height-chars + height-pixels + help-context + help-topic + helpfile-name + hidden + hide + hint + horiz-end + horiz-home + horiz-scroll-drag + horizontal + host-byte-order + html-charset + html-end-of-line + html-end-of-page + html-frame-begin + html-frame-end + html-header-begin + html-header-end + html-title-begin + html-title-end + hwnd + icfparameter + icon + if + ignore-current-modified + image + image-down + image-insensitive + image-size + image-size-chars + image-size-pixels + image-up + immediate-display + import + import-node + in + in-handle + increment-exclusive-id + index + index-hint + index-information + indexed-reposition + indicator + information + init + initial + initial-dir + initial-filter + initialize-document-type + initiate + inner + inner-chars + inner-lines + input + input-output + input-value + insert + insert-backtab + insert-before + insert-column + insert-field + insert-field-data + insert-field-label + insert-file + insert-mode + insert-row + insert-string + insert-tab + instantiating-procedure + integer + internal-entries + interval + into + invoke + is + is-attr-space + is-codepage-fixed + is-column-codepage + is-lead-byte + is-open + is-parameter-set + is-row-selected + is-selected + is-xml + iso-date + item + items-per-row + iteration-changed + join + join-by-sqldb + kblabel + keep-connection-open + keep-frame-z-order + keep-messages + keep-security-cache + keep-tab-order + key + key-code + key-function + key-label + keycode + keyfunction + keylabel + keys + keyword + keyword-all + label + label-bgcolor + label-dcolor + label-fgcolor + label-font + label-pfcolor + labels + landscape + languages + large + large-to-small + last + last-async-request + last-child + last-event + last-key + last-of + last-procedure + last-server + last-server-socket + last-socket + last-tab-item + lastkey + lc + ldbname + le + leading + left + left-aligned + left-end + left-trim + length + library + like + line + line-counter + line-down + line-left + line-right + line-up + list-events + list-item-pairs + list-items + list-query-attrs + list-set-attrs + list-widgets + listing + listings + literal-question + little-endian + load + load-from + load-icon + load-image + load-image-down + load-image-insensitive + load-image-up + load-mouse-pointer + load-picture + load-small-icon + lob-dir + local-host + local-name + local-port + locator-column-number + locator-line-number + locator-public-id + locator-system-id + locator-type + locked + log + log-entry-types + log-id + log-manager + log-threshold + logfile-name + logging-level + logical + long + longchar + longchar-to-node-value + lookahead + lookup + lower + lt + machine-class + main-menu + mandatory + manual-highlight + map + margin-extra + margin-height + margin-height-chars + margin-height-pixels + margin-width + margin-width-chars + margin-width-pixels + matches + max + max-button + max-chars + max-data-guess + max-height + max-height-chars + max-height-pixels + max-rows + max-size + max-value + max-width + max-width-chars + max-width-pixels + maximize + maximum + md5-value + member + memptr + memptr-to-node-value + menu + menu-bar + menu-item + menu-key + menu-mouse + menubar + merge-changes + merge-row-changes + message + message-area + message-area-font + message-line + message-lines + min-button + min-column-width-chars + min-column-width-pixels + min-height + min-height-chars + min-height-pixels + min-row-height + min-row-height-chars + min-row-height-pixels + min-schema-marshall + min-size + min-value + min-width + min-width-chars + min-width-pixels + minimum + mod + modified + modulo + month + mouse + mouse-pointer + movable + move + move-after-tab-item + move-before-tab-item + move-column + move-to-bottom + move-to-eof + move-to-top + mpe + mtime + multiple + multiple-key + multitasking-interval + must-exist + must-understand + name + namespace-prefix + namespace-uri + native + ne + needs-appserver-prompt + needs-prompt + nested + new + new-line + new-row + next + next-column + next-error + next-frame + next-prompt + next-sibling + next-tab-item + next-value + next-word + no + no-apply + no-array-message + no-assign + no-attr + no-attr-list + no-attr-space + no-auto-validate + no-bind-where + no-box + no-column-scrolling + no-console + no-convert + no-convert-3d-colors + no-current-value + no-debug + no-drag + no-echo + no-empty-space + no-error + no-fill + no-focus + no-help + no-hide + no-index-hint + no-join-by-sqldb + no-labels + no-lobs + no-lock + no-lookahead + no-map + no-message + no-pause + no-prefetch + no-return-value + no-row-markers + no-schema-marshall + no-scrollbar-vertical + no-scrolling + no-separate-connection + no-separators + no-tab-stop + no-underline + no-undo + no-validate + no-wait + no-word-wrap + node-type + node-value + node-value-to-longchar + node-value-to-memptr + none + normalize + not + now + null + num-aliases + num-buffers + num-buttons + num-child-relations + num-children + num-columns + num-copies + num-dbs + num-dropped-files + num-entries + num-fields + num-formats + num-header-entries + num-items + num-iterations + num-lines + num-locked-columns + num-log-files + num-messages + num-parameters + num-relations + num-replaced + num-results + num-selected + num-selected-rows + num-selected-widgets + num-source-buffers + num-tabs + num-to-retain + num-top-buffers + num-visible-columns + numeric + numeric-decimal-point + numeric-format + numeric-separator + object + octet_length + of + off + ok + ok-cancel + old + ole-invoke-locale + ole-names-locale + on + on-frame-border + open + open-line-above + opsys + option + options + or + ordered-join + ordinal + orientation + origin-handle + origin-rowid + os-append + os-command + os-copy + os-create-dir + os-delete + os-dir + os-drives + os-error + os-getenv + os-rename + os2 + os400 + otherwise + out-of-data + outer + outer-join + output + overlay + override + owner + owner-document + page + page-bottom + page-down + page-left + page-number + page-right + page-right-text + page-size + page-top + page-up + page-width + paged + parameter + parent + parent-buffer + parent-relation + parse-status + partial-key + pascal + password-field + paste + pathname + pause + pdbname + performance + persistent + persistent-cache-disabled + persistent-procedure + pfcolor + pick + pick-area + pick-both + pixels + pixels-per-column + pixels-per-row + popup-menu + popup-only + portrait + position + precision + prepare-string + prepared + preprocess + preselect + prev + prev-column + prev-frame + prev-sibling + prev-tab-item + prev-word + primary + printer + printer-control-handle + printer-hdc + printer-name + printer-port + printer-setup + private + private-data + privileges + proc-handle + proc-status + procedure + procedure-call-type + procedure-name + process + profile-file + profiler + profiling + program-name + progress + progress-source + prompt + prompt-for + promsgs + propath + proversion + proxy + proxy-password + proxy-userid + public-id + publish + published-events + put + put-bits + put-byte + put-bytes + put-double + put-float + put-key-value + put-long + put-short + put-string + put-unsigned-short + putbyte + query + query-close + query-off-end + query-open + query-prepare + query-tuning + question + quit + quoter + r-index + radio-buttons + radio-set + random + raw + raw-transfer + rcode-information + read + read-available + read-exact-num + read-file + read-only + readkey + real + recid + record-length + rectangle + recursive + refresh + refreshable + reject-changes + reject-row-changes + rejected + relation-fields + relations-active + release + remote + remote-host + remote-port + remove-attribute + remove-child + remove-events-procedure + remove-super-procedure + repeat + replace + replace-child + replace-selection-text + replication-create + replication-delete + replication-write + reports + reposition + reposition-backwards + reposition-forwards + reposition-mode + reposition-parent-relation + reposition-to-row + reposition-to-rowid + request + resizable + resize + result + resume-display + retain + retain-shape + retry + retry-cancel + return-inserted + return-to-start-dir + return-value + return-value-data-type + returns + reverse-from + revert + revoke + rgb-value + right + right-aligned + right-end + right-trim + round + row + row-created + row-deleted + row-height + row-height-chars + row-height-pixels + row-markers + row-modified + row-of + row-resizable + row-state + row-unmodified + rowid + rule + rule-row + rule-y + run + run-procedure + save + save-as + save-file + save-row-changes + save-where-string + sax-attributes + sax-complete + sax-parse + sax-parse-first + sax-parse-next + sax-parser-error + sax-reader + sax-running + sax-uninitialized + sax-xml + schema + schema-change + schema-path + screen + screen-io + screen-lines + screen-value + scroll + scroll-bars + scroll-delta + scroll-left + scroll-mode + scroll-offset + scroll-right + scroll-to-current-row + scroll-to-item + scroll-to-selected-row + scrollable + scrollbar-drag + scrollbar-horizontal + scrollbar-vertical + scrolled-row-position + scrolling + sdbname + search + search-self + search-target + section + seek + select-all + select-extend + select-focused-row + select-next-row + select-prev-row + select-repositioned-row + select-row + selectable + selected + selected-items + selection-end + selection-extend + selection-list + selection-start + selection-text + self + send + sensitive + separate-connection + separator-fgcolor + separators + server + server-connection-bound + server-connection-bound-request + server-connection-context + server-connection-id + server-operating-mode + server-socket + session + session-end + set + set-actor + set-attr-call-type + set-attribute + set-attribute-node + set-blue-value + set-break + set-buffers + set-byte-order + set-callback-procedure + set-cell-focus + set-commit + set-connect-procedure + set-contents + set-dynamic + set-green-value + set-input-source + set-must-understand + set-node + set-numeric-format + set-parameter + set-pointer-value + set-read-response-procedure + set-red-value + set-repositioned-row + set-rgb-value + set-rollback + set-selection + set-serialized + set-size + set-socket-option + set-wait-state + settings + setuserid + share-lock + shared + short + show-in-taskbar + show-stats + side-label + side-label-handle + side-labels + silent + simple + single + size + size-chars + size-pixels + skip + skip-deleted-record + skip-schema-check + slider + small-icon + small-title + smallint + soap-fault + soap-fault-actor + soap-fault-code + soap-fault-detail + soap-fault-string + soap-header + soap-header-entryref + socket + some + sort + source + source-procedure + space + sql + sqrt + start + start-extend-box-selection + start-row-resize + starting + startup-parameters + status + status-area + status-area-font + stdcall + stop + stop-display + stop-parsing + stopped + stored-procedure + stream + stream-io + stretch-to-fit + string + string-value + string-xref + sub-average + sub-count + sub-maximum + sub-menu + sub-menu-help + sub-minimum + sub-total + subscribe + substitute + substring + subtype + sum + summary + super + super-procedures + suppress-namespace-processing + suppress-warnings + synchronize + system-alert-boxes + system-dialog + system-help + system-id + tab-position + tab-stop + table + table-crc-list + table-handle + table-list + table-number + target + target-procedure + temp-directory + temp-table + temp-table-prepare + term + terminal + terminate + text + text-cursor + text-seg-growth + text-selected + then + this-procedure + three-d + through + thru + tic-marks + time + time-source + timezone + title + title-bgcolor + title-dcolor + title-fgcolor + title-font + to + to-rowid + today + toggle-box + tooltip + tooltips + top + top-column + top-only + topic + total + trace-filter + tracing + tracking-changes + trailing + trans + trans-init-procedure + transaction + transaction-mode + transparent + trigger + triggers + trim + true + truncate + ttcodepage + type + unbuffered + underline + undo + unformatted + union + unique + unique-id + unique-match + unix + unix-end + unless-hidden + unload + unsigned-short + unsubscribe + up + update + upper + url + url-decode + url-encode + url-password + url-userid + use + use-dict-exps + use-filename + use-index + use-revvideo + use-text + use-underline + user + user-data + userid + using + utc-offset + v6display + v6frame + valid-event + valid-handle + validate + validate-expression + validate-message + validate-xml + validation-enabled + value + values + variable + verbose + vertical + view + view-as + view-first-column-on-reopen + virtual-height + virtual-height-chars + virtual-height-pixels + virtual-width + virtual-width-chars + virtual-width-pixels + visible + vms + wait + wait-for + warning + web-context + web-notify + weekday + when + where + where-string + while + widget + widget-enter + widget-handle + widget-leave + widget-pool + width + width-chars + width-pixels + window + window-delayed-minimize + window-name + window-normal + window-state + window-system + with + word-index + word-wrap + work-area-height-pixels + work-area-width-pixels + work-area-x + work-area-y + work-table + workfile + write + write-data + x + x-document + x-noderef + x-of + xcode + xml-schema-path + xml-suppress-namespace-processing + xref + y + y-of + year + year-offset + yes + yes-no + yes-no-cancel + _dcm + + + + accum + asc + avail + button + char + column + dec + def + disp + dict + dyn-function + excl + field + field-group + file-info + form + forward + funct + int + info + index-field + log + literal + load-control + no-label + prim + rcode-info + share + substr + var + + + + _abbreviate + _account_expires + _actailog + _actbilog + _actbuffer + _actindex + _actiofile + _actiotype + _active + _actlock + _actother + _actpws + _actrecord + _actserver + _actspace + _actsummary + _admin + _ailog-aiwwrites + _ailog-bbuffwaits + _ailog-byteswritn + _ailog-forcewaits + _ailog-id + _ailog-misc + _ailog-nobufavail + _ailog-partialwrt + _ailog-recwriten + _ailog-totwrites + _ailog-trans + _ailog-uptime + _alt + _area + _area-attrib + _area-block + _area-blocksize + _area-clustersize + _area-extents + _area-misc + _area-name + _area-number + _area-recbits + _area-recid + _area-type + _area-version + _areaextent + _areastatus + _areastatus-areaname + _areastatus-areanum + _areastatus-extents + _areastatus-freenum + _areastatus-hiwater + _areastatus-id + _areastatus-lastextent + _areastatus-rmnum + _areastatus-totblocks + _argtype + _ascending + _attribute + _attributes1 + _auth-id + _autoincr + _base-col + _base-tables + _bfstatus-apwq + _bfstatus-ckpmarked + _bfstatus-ckpq + _bfstatus-hashsize + _bfstatus-id + _bfstatus-lastckpnum + _bfstatus-lru + _bfstatus-misc + _bfstatus-modbuffs + _bfstatus-totbufs + _bfstatus-usedbuffs + _bilog-bbuffwaits + _bilog-biwwrites + _bilog-bytesread + _bilog-byteswrtn + _bilog-clstrclose + _bilog-ebuffwaits + _bilog-forcewaits + _bilog-forcewrts + _bilog-id + _bilog-misc + _bilog-partialwrts + _bilog-recread + _bilog-recwriten + _bilog-totalwrts + _bilog-totreads + _bilog-trans + _bilog-uptime + _block + _block-area + _block-bkupctr + _block-block + _block-chaintype + _block-dbkey + _block-id + _block-misc + _block-nextdbkey + _block-type + _block-update + _buffer-apwenq + _buffer-chkpts + _buffer-deferred + _buffer-flushed + _buffer-id + _buffer-logicrds + _buffer-logicwrts + _buffer-lruskips + _buffer-lruwrts + _buffer-marked + _buffer-misc + _buffer-osrds + _buffer-oswrts + _buffer-trans + _buffer-uptime + _buffstatus + _cache + _can-create + _can-delete + _can-dump + _can-load + _can-read + _can-write + _casesensitive + _charset + _checkpoint + _checkpoint-apwq + _checkpoint-cptq + _checkpoint-dirty + _checkpoint-flush + _checkpoint-id + _checkpoint-len + _checkpoint-misc + _checkpoint-scan + _checkpoint-time + _chkclause + _chkseq + _cnstrname + _cnstrtype + _code-feature + _codefeature-id + _codefeature-res01 + _codefeature-res02 + _codefeature_name + _codefeature_required + _codefeature_supported + _codepage + _col + _col-label + _col-label-sa + _col-name + _colid + _coll-cp + _coll-data + _coll-name + _coll-segment + _coll-sequence + _coll-strength + _coll-tran-subtype + _coll-tran-version + _collation + _colname + _colposition + _connect + _connect-2phase + _connect-batch + _connect-device + _connect-disconnect + _connect-id + _connect-interrupt + _connect-misc + _connect-name + _connect-pid + _connect-resync + _connect-semid + _connect-semnum + _connect-server + _connect-time + _connect-transid + _connect-type + _connect-usr + _connect-wait + _connect-wait1 + _cp-attr + _cp-dbrecid + _cp-name + _cp-sequence + _crc + _create-limit + _createparams + _create_date + _creator + _cycle-ok + _data-type + _database-feature + _datatype + _db + _db-addr + _db-coll-name + _db-collate + _db-comm + _db-lang + _db-local + _db-misc1 + _db-misc2 + _db-name + _db-recid + _db-res1 + _db-res2 + _db-revision + _db-slave + _db-type + _db-xl-name + _db-xlate + _dbaacc + _dbfeature-id + _dbfeature-res01 + _dbfeature-res02 + _dbfeature_active + _dbfeature_enabled + _dbfeature_name + _dblink + _dbstatus + _dbstatus-aiblksize + _dbstatus-biblksize + _dbstatus-biclsize + _dbstatus-biopen + _dbstatus-bisize + _dbstatus-bitrunc + _dbstatus-cachestamp + _dbstatus-changed + _dbstatus-clversminor + _dbstatus-codepage + _dbstatus-collation + _dbstatus-createdate + _dbstatus-dbblksize + _dbstatus-dbvers + _dbstatus-dbversminor + _dbstatus-emptyblks + _dbstatus-fbdate + _dbstatus-freeblks + _dbstatus-hiwater + _dbstatus-ibdate + _dbstatus-ibseq + _dbstatus-id + _dbstatus-integrity + _dbstatus-intflags + _dbstatus-lastopen + _dbstatus-lasttable + _dbstatus-lasttran + _dbstatus-misc + _dbstatus-mostlocks + _dbstatus-numareas + _dbstatus-numlocks + _dbstatus-numsems + _dbstatus-prevopen + _dbstatus-rmfreeblks + _dbstatus-sharedmemver + _dbstatus-shmvers + _dbstatus-starttime + _dbstatus-state + _dbstatus-tainted + _dbstatus-totalblks + _decimals + _del + _deleterule + _desc + _description + _dfltvalue + _dft-pk + _dhtypename + _disabled + _dtype + _dump-name + _email + _event + _exe + _extent + _extent-attrib + _extent-misc + _extent-number + _extent-path + _extent-size + _extent-system + _extent-type + _extent-version + _fetch-type + _field + _field-map + _field-name + _field-physpos + _field-recid + _field-rpos + _field-trig + _fil-misc1 + _fil-misc2 + _fil-res1 + _fil-res2 + _file + _file-label + _file-label-sa + _file-name + _file-number + _file-recid + _file-trig + _filelist + _filelist-blksize + _filelist-extend + _filelist-id + _filelist-logicalsz + _filelist-misc + _filelist-name + _filelist-openmode + _filelist-size + _fire_4gl + _fld + _fld-case + _fld-misc1 + _fld-misc2 + _fld-res1 + _fld-res2 + _fld-stdtype + _fld-stlen + _fld-stoff + _for-allocated + _for-cnt1 + _for-cnt2 + _for-flag + _for-format + _for-id + _for-info + _for-itype + _for-maxsize + _for-name + _for-number + _for-owner + _for-primary + _for-retrieve + _for-scale + _for-separator + _for-size + _for-spacing + _for-type + _for-xpos + _format + _format-sa + _frozen + _given_name + _grantee + _grantor + _group-by + _group_number + _has-ccnstrs + _has-fcnstrs + _has-pcnstrs + _has-ucnstrs + _hasresultset + _hasreturnval + _help + _help-sa + _hidden + _host + _i-misc1 + _i-misc2 + _i-res1 + _i-res2 + _ianum + _id + _idx-crc + _idx-num + _idxid + _idxmethod + _idxname + _idxowner + _if-misc1 + _if-misc2 + _if-res1 + _if-res2 + _index + _index-create + _index-delete + _index-field + _index-find + _index-free + _index-id + _index-misc + _index-name + _index-recid + _index-remove + _index-seq + _index-splits + _index-trans + _index-uptime + _indexbase + _indexstat + _indexstat-blockdelete + _indexstat-create + _indexstat-delete + _indexstat-id + _indexstat-read + _indexstat-split + _initial + _initial-sa + _ins + _iofile-bufreads + _iofile-bufwrites + _iofile-extends + _iofile-filename + _iofile-id + _iofile-misc + _iofile-reads + _iofile-trans + _iofile-ubufreads + _iofile-ubufwrites + _iofile-uptime + _iofile-writes + _iotype-airds + _iotype-aiwrts + _iotype-birds + _iotype-biwrts + _iotype-datareads + _iotype-datawrts + _iotype-id + _iotype-idxrds + _iotype-idxwrts + _iotype-misc + _iotype-trans + _iotype-uptime + _ispublic + _keyvalue-expr + _label + _label-sa + _lang + _last-change + _last-modified + _last_login + _latch + _latch-busy + _latch-hold + _latch-id + _latch-lock + _latch-lockedt + _latch-lockt + _latch-name + _latch-qhold + _latch-spin + _latch-type + _latch-wait + _latch-waitt + _lic-activeconns + _lic-batchconns + _lic-currconns + _lic-id + _lic-maxactive + _lic-maxbatch + _lic-maxcurrent + _lic-minactive + _lic-minbatch + _lic-mincurrent + _lic-validusers + _license + _linkowner + _literalprefix + _literalsuffix + _localtypename + _lock + _lock-canclreq + _lock-chain + _lock-downgrade + _lock-exclfind + _lock-excllock + _lock-exclreq + _lock-exclwait + _lock-flags + _lock-id + _lock-misc + _lock-name + _lock-recgetlock + _lock-recgetreq + _lock-recgetwait + _lock-recid + _lock-redreq + _lock-shrfind + _lock-shrlock + _lock-shrreq + _lock-shrwait + _lock-table + _lock-trans + _lock-type + _lock-upglock + _lock-upgreq + _lock-upgwait + _lock-uptime + _lock-usr + _lockreq + _lockreq-exclfind + _lockreq-id + _lockreq-misc + _lockreq-name + _lockreq-num + _lockreq-reclock + _lockreq-recwait + _lockreq-schlock + _lockreq-schwait + _lockreq-shrfind + _lockreq-trnlock + _lockreq-trnwait + _logging + _logging-2pc + _logging-2pcnickname + _logging-2pcpriority + _logging-aibegin + _logging-aiblksize + _logging-aibuffs + _logging-aicurrext + _logging-aiextents + _logging-aigennum + _logging-aiio + _logging-aijournal + _logging-ailogsize + _logging-ainew + _logging-aiopen + _logging-biblksize + _logging-bibuffs + _logging-bibytesfree + _logging-biclage + _logging-biclsize + _logging-biextents + _logging-bifullbuffs + _logging-biio + _logging-bilogsize + _logging-commitdelay + _logging-crashprot + _logging-id + _logging-lastckp + _logging-misc + _logins + _login_failures + _mandatory + _max_logins + _max_tries + _middle_initial + _mod-sequence + _mode + _mstrblk + _mstrblk-aiblksize + _mstrblk-biblksize + _mstrblk-biopen + _mstrblk-biprev + _mstrblk-bistate + _mstrblk-cfilnum + _mstrblk-crdate + _mstrblk-dbstate + _mstrblk-dbvers + _mstrblk-fbdate + _mstrblk-hiwater + _mstrblk-ibdate + _mstrblk-ibseq + _mstrblk-id + _mstrblk-integrity + _mstrblk-lasttask + _mstrblk-misc + _mstrblk-oppdate + _mstrblk-oprdate + _mstrblk-rlclsize + _mstrblk-rltime + _mstrblk-tainted + _mstrblk-timestamp + _mstrblk-totblks + _myconn-id + _myconn-numseqbuffers + _myconn-pid + _myconn-usedseqbuffers + _myconn-userid + _myconnection + _name_loc + _ndx + _nullable + _nullflag + _num-comp + _numfld + _numkcomp + _numkey + _numkfld + _object-associate + _object-associate-type + _object-attrib + _object-block + _object-misc + _object-number + _object-root + _object-system + _object-type + _odbcmoney + _order + _other-commit + _other-flushmblk + _other-id + _other-misc + _other-trans + _other-undo + _other-uptime + _other-wait + _override + _owner + _password + _prime-index + _proc-name + _procbin + _procid + _procname + _proctext + _proctype + _property + _pw-apwqwrites + _pw-buffsscaned + _pw-bufsckp + _pw-checkpoints + _pw-ckpqwrites + _pw-dbwrites + _pw-flushed + _pw-id + _pw-marked + _pw-misc + _pw-scancycles + _pw-scanwrites + _pw-totdbwrites + _pw-trans + _pw-uptime + _pwd + _pwd_duration + _pwd_expires + _record-bytescreat + _record-bytesdel + _record-bytesread + _record-bytesupd + _record-fragcreat + _record-fragdel + _record-fragread + _record-fragupd + _record-id + _record-misc + _record-reccreat + _record-recdel + _record-recread + _record-recupd + _record-trans + _record-uptime + _ref + _ref-table + _refcnstrname + _referstonew + _referstoold + _refowner + _reftblname + _remowner + _remtbl + _repl-agent + _repl-agentcontrol + _repl-server + _replagt-agentid + _replagt-agentname + _replagt-blocksack + _replagt-blocksprocessed + _replagt-blocksreceived + _replagt-commstatus + _replagt-connecttime + _replagt-dbname + _replagt-lasttrid + _replagt-method + _replagt-notesprocessed + _replagt-port + _replagt-reservedchar + _replagt-reservedint + _replagt-serverhost + _replagt-status + _replagtctl-agentid + _replagtctl-agentname + _replagtctl-blocksack + _replagtctl-blockssent + _replagtctl-commstatus + _replagtctl-connecttime + _replagtctl-lastblocksentat + _replagtctl-method + _replagtctl-port + _replagtctl-remotedbname + _replagtctl-remotehost + _replagtctl-reservedchar + _replagtctl-reservedint + _replagtctl-status + _replsrv-agentcount + _replsrv-blockssent + _replsrv-id + _replsrv-lastblocksentat + _replsrv-reservedchar + _replsrv-reservedint + _replsrv-starttime + _resacc + _resrc + _resrc-id + _resrc-lock + _resrc-name + _resrc-time + _resrc-wait + _rolename + _rssid + _scale + _schemaname + _screator + _searchable + _segment-bytefree + _segment-bytesused + _segment-id + _segment-misc + _segment-segid + _segment-segsize + _segments + _sel + _seq + _seq-incr + _seq-init + _seq-max + _seq-min + _seq-misc + _seq-name + _seq-num + _seq-owner + _sequence + _server-byterec + _server-bytesent + _server-currusers + _server-id + _server-logins + _server-maxusers + _server-misc + _server-msgrec + _server-msgsent + _server-num + _server-pendconn + _server-pid + _server-portnum + _server-protocol + _server-qryrec + _server-recrec + _server-recsent + _server-timeslice + _server-trans + _server-type + _server-uptime + _servers + _sname + _sowner + _space-allocnewrm + _space-backadd + _space-bytesalloc + _space-dbexd + _space-examined + _space-fromfree + _space-fromrm + _space-front2back + _space-frontadd + _space-id + _space-locked + _space-misc + _space-removed + _space-retfree + _space-takefree + _space-trans + _space-uptime + _spare1 + _spare2 + _spare3 + _spare4 + _sql_properties + _sremdb + _startup + _startup-aibuffs + _startup-ainame + _startup-apwbuffs + _startup-apwmaxwrites + _startup-apwqtime + _startup-apwstime + _startup-bibuffs + _startup-bidelay + _startup-biio + _startup-biname + _startup-bitrunc + _startup-buffs + _startup-crashprot + _startup-directio + _startup-id + _startup-locktable + _startup-maxclients + _startup-maxservers + _startup-maxusers + _startup-misc + _startup-spin + _statbase + _statbase-id + _statementorrow + _stbl + _stblowner + _storageobject + _summary-aiwrites + _summary-bireads + _summary-biwrites + _summary-chkpts + _summary-commits + _summary-dbaccesses + _summary-dbreads + _summary-dbwrites + _summary-flushed + _summary-id + _summary-misc + _summary-reccreat + _summary-recdel + _summary-reclock + _summary-recreads + _summary-recupd + _summary-recwait + _summary-transcomm + _summary-undos + _summary-uptime + _surname + _sys-field + _sysattachtbls + _sysbigintstat + _syscalctable + _syscharstat + _syschkcolusage + _syschkconstrs + _syschkconstr_name_map + _syscolauth + _syscolstat + _sysdatatypes + _sysdatestat + _sysdbauth + _sysdblinks + _sysfloatstat + _sysidxstat + _sysintstat + _syskeycolusage + _sysncharstat + _sysnumstat + _sysnvarcharstat + _sysprocbin + _sysproccolumns + _sysprocedures + _sysproctext + _sysrealstat + _sysrefconstrs + _sysroles + _sysschemas + _sysseqauth + _syssmintstat + _syssynonyms + _systabauth + _systblconstrs + _systblstat + _systimestat + _systinyintstat + _systrigcols + _systrigger + _systsstat + _syststzstat + _sysvarcharstat + _sysviews + _sysviews_name_map + _tablebase + _tablestat + _tablestat-create + _tablestat-delete + _tablestat-id + _tablestat-read + _tablestat-update + _tbl + _tbl-status + _tbl-type + _tblid + _tblname + _tblowner + _telephone + _template + _toss-limit + _trans + _trans-coord + _trans-coordtx + _trans-counter + _trans-duration + _trans-flags + _trans-id + _trans-misc + _trans-num + _trans-state + _trans-txtime + _trans-usrnum + _trig-crc + _triggerevent + _triggerid + _triggername + _triggertime + _txe-id + _txe-locks + _txe-lockss + _txe-time + _txe-type + _txe-wait-time + _txe-waits + _txe-waitss + _txelock + _typeprecision + _u-misc1 + _u-misc2 + _unique + _unsignedattr + _unsorted + _upd + _updatable + _user + _user-misc + _user-name + _userid + _userio + _userio-airead + _userio-aiwrite + _userio-biread + _userio-biwrite + _userio-dbaccess + _userio-dbread + _userio-dbwrite + _userio-id + _userio-misc + _userio-name + _userio-usr + _userlock + _userlock-chain + _userlock-flags + _userlock-id + _userlock-misc + _userlock-name + _userlock-recid + _userlock-type + _userlock-usr + _username + _userstatus + _userstatus-counter + _userstatus-objectid + _userstatus-objecttype + _userstatus-operation + _userstatus-state + _userstatus-target + _userstatus-userid + _user_number + _valexp + _valmsg + _valmsg-sa + _value + _value_ch + _value_n + _val_ts + _vcol-order + _version + _view + _view-as + _view-col + _view-def + _view-name + _view-ref + _viewname + _viewtext + _where-cls + _width + _word-rule + _word-rules + _wordidx + _wr-attr + _wr-cp + _wr-name + _wr-number + _wr-segment + _wr-type + _wr-version + + + + + + + + USE-INDEX + UNIX + DOS + VMS + BTOS + CTOS + OS2 + OS400 + EDITING + CHOOSE + PROMPT-FOR + SHARE-LOCK + READKEY + GO-PENDING + VALIDATE + IS-ATTR-SPACE + GATEWAYS + SCROLL + + + ITERATION-CHANGED + BEFORE-RECORD-FILL + AFTER-RECORD-FILL + REPOSITION-MODE + + + + + &ADM-CONTAINER + &ADM-SUPPORTED-LINKS + &ANALYZE-RESUME + &ANALYZE-SUSPEND + &BATCH-MODE + &BROWSE-NAME + &DEFINED + &DISPLAYED-FIELDS + &DISPLAYED-OBJECTS + &ELSE + &ELSEIF + &ENABLED-FIELDS-IN-QUERY + &ENABLED-FIELDS + &ENABLED-OBJECTS + &ENABLED-TABLES-IN-QUERY + &ENABLED-TABLES + &ENDIF + &EXTERNAL-TABLES + &FIELD-PAIRS-IN-QUERY + &FIELD-PAIRS + &FIELDS-IN-QUERY + &FILE-NAME + &FIRST-EXTERNAL-TABLE + &FIRST-TABLE-IN-QUERY + &FRAME-NAME + &GLOB + &GLOBAL-DEFINE + &IF + &INCLUDE + &INTERNAL-TABLES + &LAYOUT-VARIABLE + &LINE-NUMBER + &LIST-1 + &LIST-2 + &LIST-3 + &LIST-4 + &LIST-5 + &LIST-6 + &MESSAGE + &NEW + &OPEN-BROWSERS-IN-QUERY + &OPEN-QUERY + &OPSYS + &PROCEDURE-TYPE + &QUERY-NAME + &SCOP + &SCOPED-DEFINE + &SELF-NAME + &SEQUENCE + &TABLES-IN-QUERY + &THEN + &UIB_is_Running + &UNDEFINE + &WINDOW-NAME + &WINDOW-SYSTEM + DEFINED + PROCEDURE-TYPE + _CREATE-WINDOW + _CUSTOM _DEFINITIONS + _CUSTOM _MAIN-BLOCK + _CUSTOM + _DEFINITIONS + _END-PROCEDURE-SETTINGS + _FUNCTION-FORWARD + _FUNCTION + _INCLUDED-LIB + _INLINE + _MAIN-BLOCK + _PROCEDURE-SETTINGS + _PROCEDURE + _UIB-CODE-BLOCK + _UIB-PREPROCESSOR-BLOCK + _VERSION-NUMBER + _XFTR + + + + + + + diff --git a/extra/xmode/modes/prolog.xml b/extra/xmode/modes/prolog.xml new file mode 100644 index 0000000000..bd5adbd9a8 --- /dev/null +++ b/extra/xmode/modes/prolog.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + + % + + + /* + */ + + + + + ' + ' + + + " + " + + + + + [ + ] + + + + --> + :- + ?- + ; + -> + , + \+ + == + \== + \= + @< + @=< + @>= + @> + =.. + =:= + =\= + =< + >= + + + - + /\ + \/ + // + << + < + >> + > + ** + ^ + \ + / + = + * + + + . + + + ( + ) + { + } + + + + + true + fail + ! + at_end_of_stream + nl + repeat + halt + + + call + catch + throw + unify_with_occurs_check + var + atom + integer + float + atomic + compound + nonvar + number + functor + arg + copy_term + clause + current_predicate + asserta + assertz + retract + abolish + findall + bagof + setof + current_input + current_output + set_input + set_output + open + close + stream_property + at_end_of_stream + set_stream_position + get_char + get_code + peek_char + peek_code + put_char + put_code + nl + get_byte + peek_byte + put_byte + read_term + read + write_term + write + writeq + write_canonical + op + current_op + char_conversion + current_char_conversion + once + atom_length + atom_concat + sub_atom + atom_chars + atom_codes + char_code + number_chars + number_codes + set_prolog_flag + current_prolog_flag + halt + + + sin + cos + atan + exp + log + sqrt + + + is + rem + mod + + + _ + + + + + + + + [ + ] + + + diff --git a/extra/xmode/modes/props.xml b/extra/xmode/modes/props.xml new file mode 100644 index 0000000000..f3d0511026 --- /dev/null +++ b/extra/xmode/modes/props.xml @@ -0,0 +1,27 @@ + + + + + + + + + + # + = + : + + + + + + + { + } + + + # + + diff --git a/extra/xmode/modes/psp.xml b/extra/xmode/modes/psp.xml new file mode 100644 index 0000000000..2adc5a1a2e --- /dev/null +++ b/extra/xmode/modes/psp.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + <%@ + %> + + + + + <%-- + --%> + + + + + <% + %> + + + + + <script language="jscript"> + </script> + + + + <script language="javascript"> + </script> + + + + <script> + </script> + + + + + <!--# + --> + + + + + <!-- + --> + + + + + <STYLE> + </STYLE> + + + + + < + > + + + + + & + ; + + + + + + + + " + " + + + + ' + ' + + + = + + + + <%-- + --%> + + + + <% + %> + + + + + + + " + " + + + + ' + ' + + + = + + + include + + file + + + diff --git a/extra/xmode/modes/ptl.xml b/extra/xmode/modes/ptl.xml new file mode 100644 index 0000000000..b47f9a9d50 --- /dev/null +++ b/extra/xmode/modes/ptl.xml @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + [html] + [plain] + + + _q_access + _q_exports + _q_index + _q_lookup + _q_resolve + _q_exception_handler + + + + diff --git a/extra/xmode/modes/pvwave.xml b/extra/xmode/modes/pvwave.xml new file mode 100644 index 0000000000..8a74b4a74b --- /dev/null +++ b/extra/xmode/modes/pvwave.xml @@ -0,0 +1,722 @@ + + + + + + + + + + + + " + " + + + ' + ' + + + ; + + ( + ) + = + + + - + / + * + # + > + < + ^ + } + { + . + , + ] + [ + : + $ + & + @ + ! + + + + abs + acos + add_exec_on_select + addsysvar + addvar + affine + alog + alog10 + asarr + asin + askeys + assoc + atan + avg + axis + bar + bar2d + bar3d + beseli + beselj + besely + bilinear + bindgen + blob + blobcount + boundary + build_table + buildresourcefilename + bytarr + byte + byteorder + bytscl + c_edit + call_unix + cd + center_view + chebyshev + check_math + checkfile + cindgen + close + color_convert + color_edit + color_palette + complex + complexarr + cone + congrid + conj + contour + contour2 + contourfill + conv_from_rect + conv_to_rect + convert_coord + convol + correlate + cos + cosh + cosines + cprod + create_holidays + create_weekdends + crossp + cursor + curvatures + curvefit + cylinder + day_name + day_of_week + day_of_year + dblarr + dc_error_msg + dc_options + dc_read_24_bit + dc_read_8_bit + dc_read_container + dc_read_dib + dc_read_fixed + dc_read_free + dc_read_tiff + dc_scan_container + dc_write_24_bit + dc_write_8_bit + dc_write_dib + dc_write_fixed + dc_write_free + dc_write_tiff + dcindgen + dcomplex + dcomplexarr + declare func + declare function + define_key + defroi + defsysv + del_file + delfunc + dellog + delproc + delstruct + delvar + demo + deriv + derivn + determ + device + diag + dicm_tag_info + digital_filter + dilate + dindgen + dist + dminit + doc_lib_unix + doc_library + double + drop_exec_on_select + dt_add + dt_addly + dt_compress + dt_duration + dt_print + dt_subly + dt_subtract + dt_to_sec + dt_to_str + dt_to_var + dtegn + empty + environment + eof + erase + erode + errorf + errplot + euclidean + exec_on_select + execute + exp + expand + expon + extrema + factor + fast_grid2 + fast_grid3 + fast_grid4 + fft + filepath + findfile + findgen + finite + fix + float + fltarr + flush + free_lun + fstat + funct + gamma + gaussfit + gaussint + gcd + get_kbrd + get_lun + getenv + get_named_color + getncerr + getncopts + getparam + great_int + grid + grid_2d + grid_3d + grid_4d + grid_sphere + gridn + group_by + hak + hanning + hdf_test + hdfgetsds + help + hilbert + hist_equal + hist_equal_ct + histn + histogram + hls + hsv + hsv_to_rgd + image_check + image_color_quant + image_cont + image_create + image_display + image_filetypes + image_query_file + image_read + image_write + imaginary + img_true8 + index_and + index_conv + index_or + indgen + intarr + interpol + interpolate + intrp + invert + isaskey + ishft + jacobian + jul_to_dt + keyword_set + lcm + leefilt + legend + lindgen + linknload + list + listarr + load_holidays + load_option + load_weekends + loadct + loadct_custom + loadresources + loadstrings + lonarr + long + lubksb + ludcmp + make_array + map + map_axes + map_contour + map_grid + map_plots + map_polyfill + map_proj + map_reverse + map_velovect + map_version + map_xyouts + max + median + mesh + message + min + modifyct + molec + moment + month_name + movie + mprove + msword_cgm_setup + n_elements + n_params + n_tags + nint + normals + null_processor + openr + openu + openw + oplot + oploterr + option_is_loaded + order_by + padit + packimage + packtable + palette + param_present + parsefilename + pie + pie_chart + plot + plot_field + plot_histogram + plot_io + plot_oi + plot_oo + plot_windrose + ploterr + plots + pm + pmf + point_lun + poly + poly_2d + poly_area + poly_c_conv + poly_count + poly_dev + poly_fit + poly_merge + poly_norm + poly_plot + poly_sphere + poly_surf + poly_trans + polyfill + polyfillv + polyfitw + polyshade + polywarp + popd + prime + print + printd + printf + profile + profiles + prompt + pseudo + pushd + query_table + randomn + randomu + rdpix + read + read_airs + read_xbm + readf + readu + rebin + reform + regress + rename + render + render24 + replicate + replv + resamp + reverse + rgb_to_hsv + rm + rmf + roberts + rot + rot_int + rotate + same + scale3d + sec_to_dt + select_read_lun + set_plot + set_screen + set_shading + set_symbol + set_view3d + set_viewport + set_xy + setdemo + setenv + setimagesize + setlog + setncopts + setup_keys + sgn + shade_surf + shade_surf_irr + shade_volume + shif + shift + show_options + show3 + sigma + sin + sindgen + sinh + size + skipf + slice + slice_vol + small_int + smooth + sobel + socket_accept + socket_close + socket_connect + socket_getport + socket_init + socket_read + socket_write + sort + sortn + spawn + sphere + spline + sqrt + stdev + str_to_dt + strarr + strcompress + stretch + string + strjoin + strlen + strlookup + strlowcase + strmatch + strmessage + strmid + strpos + strput + strsplit + strsubst + strtrim + structref + strupcase + sum + surface + surface_fit + surfr + svbksb + svd + svdfit + systime + t3d + tag_names + tan + tanh + tek_color + tensor_add + tensor_div + tensor_eq + tensor_exp + tensor_ge + tensor_gt + tensor_le + tensor_lt + tensor_max + tensor_min + tensor_mod + tensor_mul + tensor_ne + tensor_sub + threed + today + total + tqli + transpose + tred2 + tridag + tv + tvcrs + tvlct + tvrd + tvscl + tvsize + uniqn + unique + unix_listen + unix_reply + unload_option + upvar + usersym + usgs_names + value_length + var_match + var_to_dt + vector_field3 + vel + velovect + viewer + vol_marker + vol_pad + vol_red + vol_trans + volume + vtkaddattribute + vtkaxes + vtkcamera + vtkclose + vtkcolorbar + vtkcolornames + vtkcommand + vtkerase + vtkformat + vtkgrid + vtkhedgehog + vtkinit + vtklight + vtkplots + vtkpolydata + vtkpolyformat + vtkpolyshade + vtkppmread + vtkppmwrite + vtkreadvtk + vtkrectilineargrid + vtkrenderwindow + vtkscatter + vtkslicevol + vtkstructuredpoints + vtkstructuredgrid + vtksurface + vtksurfgen + vtktext + vtktvrd + vtkunstructuredgrid + vtkwdelete + vtkwindow + vtkwritevrml + vtkwset + wait + wavedatamanager + waveserver + wcopy + wdelete + where + wherein + window + wmenu + wpaste + wprint + wread_dib + wread_meta + write_xbm + writeu + wset + whow + wwrite_dib + wwrite_meta + xyouts + zoom + zroots + + begin + breakpoint + case + common + compile + declare + do + else + end + endcase + endelse + endfor + endif + endrepeat + endwhile + exit + for + func + function + goto + help + if + info + journal + locals + of + on_error + on_error_goto + on_ioerror + pro + quit + repeat + restore + retall + return + save + stop + then + while + + and + not + or + xor + eq + ne + gt + lt + ge + le + mod + WgAnimateTool + WgCbarTool + WgCtTool + WgIsoSurfTool + WgMovieTool + WgSimageTool + WgSliceTool + WgSurfaceTool + WgTextTool + WoAddButtons + WoAddMessage + WoAddStatus + WoButtonBar + WoCheckFile + WoColorButton + WoColorConvert + WoColorGrid + WoColorWheel + WoConfirmClose + WoDialogStatus + WoFontOptionMenu + WoGenericDialog + WoLabeledText + WoMenuBar + WoMessage + WoSaveAsPixmap + WoSetCursor + WoSetWindowTitle + WoStatus + WoVariableOptionMenu + WtAddCallback + WtAddHandler + WtCursor + WtGet + WtPointer + WtSet + WtTimer + WwAlert + WwAlertPopdown + WwButtonBox + WwCallback + WwControlsBox + WwDialog + WwDrawing + WwFileSelection + WwGenericDialog + WwGetButton + WwGetKey + WwGetPosition + WwGetValue + WwHandler + WwInit + WwLayout + WwList + WwListUtils + WwLoop + WwMainWindow + WwMenuBar + WwMenuItem + WwMessage + WwMultiClickHandler + WwOptionMenu + WwPickFile + WwPopupMenu + WwPreview + WwPreviewUtils + WwRadioBox + WwResource + WwSeparator + WwSetCursor + WwSetValue + WwTable + WwTableUtils + WwText + WwTimer + WwToolBox + WzAnimate + WzColorEdit + WzContour + WzExport + WzHistogram + WzImage + WzImport + WzMultiView + WzPlot + WzPreview + WzSurface + WzTable + WzVariable + + + diff --git a/extra/xmode/modes/pyrex.xml b/extra/xmode/modes/pyrex.xml new file mode 100644 index 0000000000..c46d574fc3 --- /dev/null +++ b/extra/xmode/modes/pyrex.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + cdef + char + cinclude + ctypedef + double + enum + extern + float + include + private + public + short + signed + sizeof + struct + union + unsigned + void + + NULL + + + + diff --git a/extra/xmode/modes/python.xml b/extra/xmode/modes/python.xml new file mode 100644 index 0000000000..654860eab7 --- /dev/null +++ b/extra/xmode/modes/python.xml @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # + + + @\w + + + + """ + """ + + + + ''' + ''' + + + + + " + " + + + ' + ' + + + = + ! + >= + <= + + + - + / + * + > + < + % + & + | + ^ + ~ + : + + ( + ) + + + + and + as + assert + break + class + continue + def + del + elif + else + except + exec + finally + for + from + global + if + import + in + is + lambda + not + or + pass + print + raise + return + reversed + sorted + try + while + with + yield + self + + + abs + all + any + apply + bool + buffer + callable + chr + classmethod + cmp + coerce + compile + complex + delattr + dict + dir + divmod + enumerate + eval + execfile + file + filter + float + frozenset + getattr + globals + hasattr + hash + hex + id + input + int + intern + isinstance + issubclass + iter + len + list + locals + long + map + max + min + object + oct + open + ord + pow + property + range + raw_input + reduce + reload + repr + round + set + setattr + slice + staticmethod + str + sum + super + tuple + type + unichr + unicode + vars + xrange + zip + + + ArithmeticError + AssertionError + AttributeError + DeprecationWarning + EOFError + EnvironmentError + Exception + FloatingPointError + IOError + ImportError + IndentationError + IndexError + KeyError + KeyboardInterrupt + LookupError + MemoryError + NameError + NotImplemented + NotImplementedError + OSError + OverflowError + OverflowWarning + ReferenceError + RuntimeError + RuntimeWarning + StandardError + StopIteration + SyntaxError + SyntaxWarning + SystemError + SystemExit + TabError + TypeError + UnboundLocalError + UnicodeError + UserWarning + ValueError + Warning + WindowsError + ZeroDivisionError + + + BufferType + BuiltinFunctionType + BuiltinMethodType + ClassType + CodeType + ComplexType + DictProxyType + DictType + DictionaryType + EllipsisType + FileType + FloatType + FrameType + FunctionType + GeneratorType + InstanceType + IntType + LambdaType + ListType + LongType + MethodType + ModuleType + NoneType + ObjectType + SliceType + StringType + StringTypes + TracebackType + TupleType + TypeType + UnboundMethodType + UnicodeType + XRangeType + + False + None + True + + __abs__ + __add__ + __all__ + __author__ + __bases__ + __builtins__ + __call__ + __class__ + __cmp__ + __coerce__ + __contains__ + __debug__ + __del__ + __delattr__ + __delitem__ + __delslice__ + __dict__ + __div__ + __divmod__ + __doc__ + __docformat__ + __eq__ + __file__ + __float__ + __floordiv__ + __future__ + __ge__ + __getattr__ + __getattribute__ + __getitem__ + __getslice__ + __gt__ + __hash__ + __hex__ + __iadd__ + __import__ + __imul__ + __init__ + __int__ + __invert__ + __iter__ + __le__ + __len__ + __long__ + __lshift__ + __lt__ + __members__ + __metaclass__ + __mod__ + __mro__ + __mul__ + __name__ + __ne__ + __neg__ + __new__ + __nonzero__ + __oct__ + __or__ + __path__ + __pos__ + __pow__ + __radd__ + __rdiv__ + __rdivmod__ + __reduce__ + __repr__ + __rfloordiv__ + __rlshift__ + __rmod__ + __rmul__ + __ror__ + __rpow__ + __rrshift__ + __rsub__ + __rtruediv__ + __rxor__ + __setattr__ + __setitem__ + __setslice__ + __self__ + __slots__ + __str__ + __sub__ + __truediv__ + __version__ + __xor__ + + + + + + %[.]?\d*[diouxXeEfFgGcrs] + %\([^)]+\)[+ -]?\d*[diouxXeEfFgGcrs] + + + + %\d*[diouxXeEfFgGcrs] + %\([^)]+\)[+ -]?\d*[diouxXeEfFgGcrs] + + B{ + } + + + C{ + } + + + E{ + } + + + I{ + } + + + L{ + } + + + >>> + ... + @ + + + diff --git a/extra/xmode/modes/quake.xml b/extra/xmode/modes/quake.xml new file mode 100644 index 0000000000..08af289e18 --- /dev/null +++ b/extra/xmode/modes/quake.xml @@ -0,0 +1,485 @@ + + + + + + + + + + + + + + " + " + + + + ' + ' + + + + /* + */ + + + // + + + +attack + +back + +forward + +klook + +left + +lookdown + +lookup + +mlook + +movedown + +moveleft + +moveright + +moveup + +right + +speed + +strafe + +use + -attack + -back + -forward + -klook + -left + -lookdown + -lookup + -mlook + -movedown + -moveleft + -moveright + -moveup + -right + -speed + -strafe + -use + adr0 + adr1 + adr2 + adr3 + adr4 + adr5 + adr6 + adr7 + adr8 + alias + allow_download + allow_download_maps + allow_download_models + allow_download_players + allow_download_sounds + basedir + bind + bindlist + bob_pitch + bob_roll + bob_up + cd + cd_loopcount + cd_looptrack + cd_nocd + cddir + centerview + changing + cheats + cl_anglespeedkey + cl_autoskins + cl_blend + cl_entities + cl_footsteps + cl_forwardspeed + cl_gun + cl_lights + cl_maxfps + cl_nodelta + cl_noskins + cl_particles + cl_pitchspeed + cl_predict + cl_run + cl_showmiss + cl_shownet + cl_sidespeed + cl_stats + cl_stereo + cl_stereo_separation + cl_testblend + cl_testentities + cl_testlights + cl_testparticles + cl_timeout + cl_upspeed + cl_vwep + cl_yawspeed + clear + clientport + cmd + cmdlist + con_notifytime + condump + connect + coop + crosshair + cvarlist + deathmatch + debuggraph + dedicated + demomap + developer + dir + disconnect + dmflags + download + drop + dumpuser + echo + error + exec + filterban + fixedtime + flood_msgs + flood_persecond + flood_waitdelay + flushmap + fov + fraglimit + freelook + g_select_empty + game + gamedate + gamedir + gamemap + gamename + gameversion + gender + gender_auto + give + gl_3dlabs_broken + gl_allow_software + gl_bitdepth + gl_clear + gl_cull + gl_drawbuffer + gl_driver + gl_dynamic + gl_ext_compiled_vertex_array + gl_ext_multitexture + gl_ext_palettedtexture + gl_ext_pointparameters + gl_ext_swapinterval + gl_finish + gl_flashblend + gl_lightmap + gl_lockpvs + gl_log + gl_mode + gl_modulate + gl_monolightmap + gl_nobind + gl_nosubimage + gl_particle_att_a + gl_particle_att_b + gl_particle_att_c + gl_particle_max_size + gl_particle_min_size + gl_particle_size + gl_picmip + gl_playermip + gl_polyblend + gl_round_down + gl_saturatelighting + gl_shadows + gl_showtris + gl_skymip + gl_swapinterval + gl_texturealphamode + gl_texturemode + gl_texturesolidmode + gl_triplebuffer + gl_vertex_arrays + gl_ztrick + god + graphheight + graphscale + graphshift + gun_model + gun_next + gun_prev + gun_x + gun_y + gun_z + hand + heartbeat + host_speeds + hostname + hostport + imagelist + impulse + in_initjoy + in_initmouse + in_joystick + in_mouse + info + intensity + invdrop + inven + invnext + invnextp + invnextw + invprev + invprevp + invprevw + invuse + ip + ip_clientport + ip_hostport + ipx_clientport + ipx_hostport + joy_advanced + joy_advancedupdate + joy_advaxisr + joy_advaxisu + joy_advaxisv + joy_advaxisx + joy_advaxisy + joy_advaxisz + joy_forwardsensitivity + joy_forwardthreshold + joy_name + joy_pitchsensitivity + joy_pitchthreshold + joy_sidesensitivity + joy_sidethreshold + joy_upsensitivity + joy_upthreshold + joy_yawsensitivity + joy_yawthreshold + kick + kill + killserver + link + load + loading + log_stats + logfile + lookspring + lookstrafe + m_filter + m_forward + m_pitch + m_side + m_yaw + map + map_noareas + mapname + maxclients + maxentities + maxspectators + menu_addressbook + menu_credits + menu_dmoptions + menu_game + menu_joinserver + menu_keys + menu_loadgame + menu_main + menu_multiplayer + menu_options + menu_playerconfig + menu_quit + menu_savegame + menu_startserver + menu_video + messagemode + messagemode3 + modellist + msg + name + needpass + net_shownet + netgraph + nextserver + noclip + noipx + notarget + noudp + password + path + pause + paused + pingservers + play + playerlist + players + port + precache + prog + protocol + public + qport + quit + r_drawentities + r_drawworld + r_dspeeds + r_fullbright + r_lerpmodels + r_lightlevel + r_nocull + r_norefresh + r_novis + r_speeds + rate + rcon + rcon_address + rcon_password + reconnect + record + run_pitch + run_roll + s_initsound + s_khz + s_loadas8bit + s_mixahead + s_primary + s_show + s_testsound + s_volume + s_wavonly + save + say + say_team + score + scr_centertime + scr_conspeed + scr_drawall + scr_printspeed + scr_showpause + scr_showturtle + screenshot + sensitivity + serverinfo + serverrecord + serverstop + set + setenv + setmaster + showclamp + showdrop + showpackets + showtrace + sizedown + sizeup + skill + skin + skins + sky + snd_restart + soundinfo + soundlist + spectator + spectator_password + status + stop + stopsound + sv + sv_airaccelerate + sv_enforcetime + sv_gravity + sv_maplist + sv_maxvelocity + sv_noreload + sv_reconnect_limit + sv_rollangle + sv_rollspeed + sw_allow_modex + sw_clearcolor + sw_drawflat + sw_draworder + sw_maxedges + sw_maxsurfs + sw_mipcap + sw_mipscale + sw_mode + sw_polymodelstats + sw_reportedgeout + sw_reportsurfout + sw_stipplealpha + sw_surfcacheoverride + sw_waterwarp + timedemo + timegraph + timelimit + timeout + timerefresh + timescale + togglechat + toggleconsole + unbind + unbindall + use + userinfo + v_centermove + v_centerspeed + version + vid_front + vid_fullscreen + vid_gamma + vid_ref + vid_restart + vid_xpos + vid_ypos + viewpos + viewsize + wait + wave + weaplast + weapnext + weapprev + win_noalttab + z_stats + zombietime + shift + ctrl + space + tab + enter + escape + F1 + F2 + F3 + F4 + F5 + F6 + F7 + F8 + F9 + F10 + F11 + F12 + INS + DEL + PGUP + PGDN + HOME + END + MOUSE1 + MOUSE2 + uparrow + downarrow + leftarrow + rightarrow + mwheelup + mwheeldown + backspace + + + diff --git a/extra/xmode/modes/rcp.xml b/extra/xmode/modes/rcp.xml new file mode 100644 index 0000000000..1b2f4c5d73 --- /dev/null +++ b/extra/xmode/modes/rcp.xml @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + + + + + /* + */ + + + + + + + + " + " + + + + ' + ' + + + = + + + + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + // + + = + ! + = + + + - + / + * + % + | + ^ + ~ + + } + { + , + ; + ] + [ + ? + @ + : + + ( + ) + + + ALERT + APPLICATION + APPLICATIONICONNAME + AREA + BITMAP + BITMAPCOLOR + BITMAPCOLOR16 + BITMAPCOLOR16K + BITMAPFAMILY + BITMAPFAMILYEX + BITMAPFAMILYSPECIAL + BITMAPGREY + BITMAPGREY16 + BITMAPSCREENFAMILY + BOOTSCREENFAMILY + BUTTON + BUTTONS + BYTELIST + CATEGORIES + CHECKBOX + COUNTRYLOCALISATION + DATA + FEATURE + FIELD + FONTINDEX + FORM + FORMBITMAP + GADGET + GENERATEHEADER + GRAFFITIINPUTAREA + GRAFFITISTATEINDICATOR + HEX + ICON + ICONFAMILY + ICONFAMILYEX + INTEGER + KEYBOARD + LABEL + LAUNCHERCATEGORY + LIST + LONGWORDLIST + MENU + MENUITEM + MESSAGE + MIDI + NOGRAFFITISTATEINDICATOR + PALETTETABLE + POPUPLIST + POPUPTRIGGER + PULLDOWN + PUSHBUTTON + REPEATBUTTON + RESETAUTOID + SCROLLBAR + SELECTORTRIGGER + SLIDER + SMALLICON + SMALLICONFAMILY + SMALLICONFAMILYEX + STRING + STRINGTABLE + TABLE + TITLE + TRANSLATION + TRAP + VERSION + WORDLIST + + PREVTOP + PREVBOTTOM + PREVLEFT + PREVRIGHT + AUTO + AUTOID + + AT + AUTOSHIFT + BACKGROUNDID + BITMAPID + BOLDFRAME + BPP + CHECKED + COLORTABLE + COLUMNS + COLUMNWIDTHS + COMPRESS + COMPRESSBEST + COMPRESSPACKBITS + COMPRESSRLE + COMPRESSSCANLINE + CONFIRMATION + COUNTRY + CREATOR + CURRENCYDECIMALPLACES + CURRENCYNAME + CURRENCYSYMBOL + CURRENCYUNIQUESYMBOL + DATEFORMAT + DAYLIGHTSAVINGS + DEFAULTBTNID + DEFAULTBUTTON + DENSITY + DISABLED + DYNAMICSIZE + EDITABLE + ENTRY + ERROR + EXTENDED + FEEDBACK + FILE + FONTID + FORCECOMPRESS + FRAME + GRAFFITI + GRAPHICAL + GROUP + HASSCROLLBAR + HELPID + ID + INDEX + INFORMATION + KEYDOWNCHR + KEYDOWNKEYCODE + KEYDOWNMODIFIERS + LANGUAGE + LEFTALIGN + LEFTANCHOR + LONGDATEFORMAT + MAX + MAXCHARS + MEASUREMENTSYSTEM + MENUID + MIN + LOCALE + MINUTESWESTOFGMT + MODAL + MULTIPLELINES + NAME + NOCOLORTABLE + NOCOMPRESS + NOFRAME + NONEDITABLE + NONEXTENDED + NONUSABLE + NOSAVEBEHIND + NUMBER + NUMBERFORMAT + NUMERIC + PAGESIZE + RECTFRAME + RIGHTALIGN + RIGHTANCHOR + ROWS + SAVEBEHIND + SEARCH + SCREEN + SELECTEDBITMAPID + SINGLELINE + THUMBID + TRANSPARENTINDEX + TIMEFORMAT + UNDERLINED + USABLE + VALUE + VERTICAL + VISIBLEITEMS + WARNING + WEEKSTARTDAY + + FONT + + TRANSPARENT + + BEGIN + END + + + #include + #define + equ + #undef + #ifdef + #ifndef + #else + #endif + + package + + + + + + + $ + \ + = + ! + = + + + - + / + * + % + | + ^ + ~ + . + } + { + , + ; + ] + [ + ? + @ + : + ) + ' + + diff --git a/extra/xmode/modes/rd.xml b/extra/xmode/modes/rd.xml new file mode 100644 index 0000000000..2c94a6466b --- /dev/null +++ b/extra/xmode/modes/rd.xml @@ -0,0 +1,70 @@ + + + + + + + + + + " + " + + # + { + } + + \name + \alias + \title + \description + \synopsis + \usage + \arguments + \details + \value + \references + \note + \author + \seealso + \examples + \keyword + \itemize + \method + \docType + \format + \source + \itemize + \section + \enumerate + \describe + \tabular + \link + \item + \eqn + \deqn + \concept + \emph + \strong + \bold + \sQuote + \dQuote + \code + \preformatted + \kbd + \samp + \pkg + \file + \email + \url + \var + \env + \option + \command + \dfn + \cite + \acronym + \tab + + + diff --git a/extra/xmode/modes/rebol.xml b/extra/xmode/modes/rebol.xml new file mode 100644 index 0000000000..6d672b9871 --- /dev/null +++ b/extra/xmode/modes/rebol.xml @@ -0,0 +1,546 @@ + + + + + + + + + + + + + + + + + + comment { + } + + + + comment{ + } + + + + " + " + + + + { + } + + + ; + + = + >= + <= + <> + + + / + * + > + < + + ' + + + abs + absolute + add + and~ + at + back + change + clear + complement + copy + cp + divide + fifth + find + first + fourth + head + insert + last + make + max + maximum + min + minimum + multiply + negate + next + or~ + pick + poke + power + random + remainder + remove + second + select + skip + sort + subtract + tail + third + to + trim + xor~ + alias + all + any + arccosine + arcsine + arctangent + bind + break + browse + call + caret-to-offset + catch + checksum + close + comment + compose + compress + cosine + debase + decompress + dehex + detab + dh-compute-key + dh-generate-key + dh-make-key + difference + disarm + do + dsa-generate-key + dsa-make-key + dsa-make-signature + dsa-verify-signature + either + else + enbase + entab + exclude + exit + exp + foreach + form + free + get + get-modes + halt + hide + if + in + intersect + load + log-10 + log-2 + log-e + loop + lowercase + maximum-of + minimum-of + mold + not + now + offset-to-caret + open + parse + prin + print + protect + q + query + quit + read + read-io + recycle + reduce + repeat + return + reverse + rsa-encrypt + rsa-generate-key + rsa-make-key + save + secure + set + set-modes + show + sine + size-text + square-root + tangent + textinfo + throw + to-hex + to-local-file + to-rebol-file + trace + try + union + unique + unprotect + unset + until + update + uppercase + use + wait + while + write + write-io + basic-syntax-header + crlf + font-fixed + font-sans-serif + font-serif + list-words + outstr + val + value + about + alert + alter + append + array + ask + boot-prefs + build-tag + center-face + change-dir + charset + choose + clean-path + clear-fields + confine + confirm + context + cvs-date + cvs-version + decode-cgi + decode-url + deflag-face + delete + demo + desktop + dirize + dispatch + do-boot + do-events + do-face + do-face-alt + does + dump-face + dump-pane + echo + editor + emailer + emit + extract + find-by-type + find-key-face + find-window + flag-face + flash + focus + for + forall + forever + forskip + func + function + get-net-info + get-style + has + help + hide-popup + import-email + inform + input + insert-event-func + join + launch + launch-thru + layout + license + list-dir + load-image + load-prefs + load-thru + make-dir + make-face + net-error + open-events + parse-email-addrs + parse-header + parse-header-date + parse-xml + path-thru + probe + protect-system + read-net + read-thru + reboot + reform + rejoin + remold + remove-event-func + rename + repend + replace + request + request-color + request-date + request-download + request-file + request-list + request-pass + request-text + resend + save-prefs + save-user + scroll-para + send + set-font + set-net + set-para + set-style + set-user + set-user-name + show-popup + source + split-path + stylize + switch + throw-on-error + to-binary + to-bitset + to-block + to-char + to-date + to-decimal + to-email + to-event + to-file + to-get-word + to-hash + to-idate + to-image + to-integer + to-issue + to-list + to-lit-path + to-lit-word + to-logic + to-money + to-none + to-pair + to-paren + to-path + to-refinement + to-set-path + to-set-word + to-string + to-tag + to-time + to-tuple + to-url + to-word + unfocus + uninstall + unview + upgrade + Usage + vbug + view + view-install + view-prefs + what + what-dir + write-user + return + at + space + pad + across + below + origin + guide + tabs + indent + style + styles + size + sense + backcolor + do + none + action? + any-block? + any-function? + any-string? + any-type? + any-word? + binary? + bitset? + block? + char? + datatype? + date? + decimal? + email? + empty? + equal? + error? + even? + event? + file? + function? + get-word? + greater-or-equal? + greater? + hash? + head? + image? + index? + integer? + issue? + length? + lesser-or-equal? + lesser? + library? + list? + lit-path? + lit-word? + logic? + money? + native? + negative? + none? + not-equal? + number? + object? + odd? + op? + pair? + paren? + path? + port? + positive? + refinement? + routine? + same? + series? + set-path? + set-word? + strict-equal? + strict-not-equal? + string? + struct? + tag? + tail? + time? + tuple? + unset? + url? + word? + zero? + connected? + crypt-strength? + exists-key? + input? + script? + type? + value? + ? + ?? + dir? + exists-thru? + exists? + flag-face? + found? + in-window? + info? + inside? + link-app? + link? + modified? + offset? + outside? + screen-offset? + size? + span? + view? + viewed? + win-offset? + within? + action! + any-block! + any-function! + any-string! + any-type! + any-word! + binary! + bitset! + block! + char! + datatype! + date! + decimal! + email! + error! + event! + file! + function! + get-word! + hash! + image! + integer! + issue! + library! + list! + lit-path! + lit-word! + logic! + money! + native! + none! + number! + object! + op! + pair! + paren! + path! + port! + refinement! + routine! + series! + set-path! + set-word! + string! + struct! + symbol! + tag! + time! + tuple! + unset! + url! + word! + + true + false + self + + + diff --git a/extra/xmode/modes/redcode.xml b/extra/xmode/modes/redcode.xml new file mode 100644 index 0000000000..1c64d60252 --- /dev/null +++ b/extra/xmode/modes/redcode.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + ;redcode + ;author + ;name + ;strategy + ;password + ; + + .AB + .BA + .A + .B + .F + .X + .I + + , + : + ( + ) + + + + + - + / + % + + + == + != + <= + >= + < + > + + + && + || + ! + + + = + + + $ + @ + # + * + { + } + + + + CORESIZE + MAXPROCESSES + MAXCYCLES + MAXLENGTH + MINDISTANCE + ROUNDS + PSPACESIZE + CURLINE + VERSION + WARRIORS + + DAT + MOV + ADD + SUB + MUL + DIV + MOD + JMP + JMZ + JMN + DJN + SPL + SLT + CMP + SEQ + SNE + NOP + LDP + STP + + EQU + ORG + FOR + ROF + END + PIN + CORESIZE + MAXPROCESSES + MAXCYCLES + MAXLENGTH + MINDISTANCE + ROUNDS + PSPACESIZE + CURLINE + VERSION + WARRIORS + + + + + + + + diff --git a/extra/xmode/modes/relax-ng-compact.xml b/extra/xmode/modes/relax-ng-compact.xml new file mode 100644 index 0000000000..cdf67067e5 --- /dev/null +++ b/extra/xmode/modes/relax-ng-compact.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + # + + " + " + + + ' + ' + + + """ + """ + + + ''' + ''' + + + + + * + ? + &= + & + |= + | + = + - + + \ + + + attribute + default + datatypes + div + element + empty + external + grammar + include + inherit + list + mixed + namespace + notAllowed + parent + start + string + text + token + + + diff --git a/extra/xmode/modes/rest.xml b/extra/xmode/modes/rest.xml new file mode 100644 index 0000000000..0f51ecf579 --- /dev/null +++ b/extra/xmode/modes/rest.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + __ + .. _ + + + ={3,} + -{3,} + ~{3,} + #{3,} + "{3,} + \^{3,} + \+{3,} + \*{3,} + + + \.\.\s\|[^|]+\| + + + \|[^|]+\| + + + \.\.\s[A-z][A-z0-9-_]+:: + + + \*\*[^*]+\*\* + + + \*[^\s*][^*]*\* + + + .. + + + `[A-z0-9]+[^`]+`_{1,2} + + + \[[0-9]+\]_ + + + \[#[A-z0-9_]*\]_ + + + [*]_ + + + \[[A-z][A-z0-9_-]*\]_ + + + + + `` + `` + + + + + + ` + ` + + + `{3,} + + + :[A-z][A-z0-9 =\s\t_]*: + + + \+-[+-]+ + \+=[+=]+ + + + + diff --git a/extra/xmode/modes/rfc.xml b/extra/xmode/modes/rfc.xml new file mode 100644 index 0000000000..9d84db8319 --- /dev/null +++ b/extra/xmode/modes/rfc.xml @@ -0,0 +1,28 @@ + + + + + + + \[Page \d+\] + \[RFC\d+\] + + " + " + + + + MUST + MUST NOT + REQUIRED + SHALL + SHALL NOT + SHOULD + SHOULD NOT + RECOMMENDED + MAY + OPTIONAL + + + + diff --git a/extra/xmode/modes/rhtml.xml b/extra/xmode/modes/rhtml.xml new file mode 100644 index 0000000000..76e4f9173b --- /dev/null +++ b/extra/xmode/modes/rhtml.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + <%# + %> + + + + + <%= + %> + + + + + <% + %> + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + + + + + <!-- + --> + + + + <%# + %> + + + + " + " + + + + ' + ' + + + = + + + + + + <% + %> + + + + <%= + %> + + + diff --git a/extra/xmode/modes/rib.xml b/extra/xmode/modes/rib.xml new file mode 100644 index 0000000000..81b579ff12 --- /dev/null +++ b/extra/xmode/modes/rib.xml @@ -0,0 +1,219 @@ + + + + + + + + + + + # + # + - + + + [ + ] + + " + " + + + float + string + color + point + vector + normal + matrix + void + varying + uniform + output + extern + + Begin + End + Declare + RtContextHandle + ContextHandle + Context + FrameBegin + FrameEnd + WorldBegin + WorldEnd + SolidBegin + SolidEnd + MotionBegin + MotionEnd + ObjectBegin + ObjectEnd + Format + FrameAspectRatio + ScreenWindow + CropWindow + Projection + Clipping + ClippingPlane + DepthOfField + Shutter + PixelVariance + PixelSamples + PixelFilter + Exposure + Imager + Quantize + Display + Hider + ColorSamples + RelativeDetail + Option + AttributeBegin + AttributeEnd + Color + Opacity + TextureCoordinates + RtLightHandle + LightSource + AreaLightSource + Illuminate + Surface + Displacement + Atmosphere + Interior + Exterior + ShadingRate + ShadingInterpolation + Matte + Bound + Detail + DetailRange + GeometricApproximation + Orientation + ReverseOrientation + Sides + Identity + Transform + ConcatTransform + Perspective + Translate + Rotate + Scale + Skew + CoordinateSystem + CoordSysTransform + TransformPoints + TransformBegin + TransformEnd + Attribute + + Polygon + GeneralPolygon + PointsPolygons + PointsGeneralPolygons + Basis + Patch + PatchMesh + NuPatch + TrimCurve + SubdivisionMesh + Sphere + Cone + Cylinder + Hyperboloid + Paraboloid + Disk + Torus + Points + Curves + Blobby + Procedural + DelayedReadArchive + RunProgram + DynamicLoad + Geometry + SolidBegin + SolidEnd + RtObjectHandle + ObjectBegin + ObjectEnd + ObjectInstance + + MakeTexture + MakeLatLongEnvironment + MakeCubeFaceEnvironment + MakeShadow + ErrorHandler + ArchiveRecord + ReadArchive + Deformation + MakeBump + + + + + float + string + color + point + vector + normal + matrix + void + varying + uniform + output + extern + + P + Pw + Pz + N + Cs + Os + RI_NULL + RI_INFINITY + orthographic + perspective + bezier + catmull-rom + b-spline + hermite + power + catmull-clark + hole + crease + corner + interpolateboundary + object + world + camera + screen + raster + NDC + box + triangle + sinc + gaussian + constant + smooth + outside + inside + lh + rh + bicubic + bilinear + periodic + nonperiodic + hidden + null + + + + diff --git a/extra/xmode/modes/rpmspec.xml b/extra/xmode/modes/rpmspec.xml new file mode 100644 index 0000000000..9bc3e12741 --- /dev/null +++ b/extra/xmode/modes/rpmspec.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + # + + + < + > + = + + + + %attr( + ) + + + + + %verify( + ) + + + + Source + + + Patch + %patch + + + + ${ + } + + + + %{ + } + + + $# + $? + $* + $< + $ + + + Summary: + Name: + Version: + Release: + Copyright: + Group: + URL: + Packager: + Prefix: + Distribution: + Vendor: + Icon: + Provides: + Requires: + Serial: + Conflicts: + AutoReqProv: + BuildArch: + ExcludeArch: + ExclusiveArch: + ExclusiveOS: + BuildRoot: + NoSource: + NoPatch: + + + + + + + + + + + + + + %setup + %ifarch + %ifnarch + %ifos + %ifnos + %else + %endif + + %doc + %config + %docdir + %dir + %package + + + + + , + - + + + + + owner + group + mode + md5 + size + maj + min + symlink + mtime + not + + + diff --git a/extra/xmode/modes/rtf.xml b/extra/xmode/modes/rtf.xml new file mode 100644 index 0000000000..889e79e359 --- /dev/null +++ b/extra/xmode/modes/rtf.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + { + } + + \\'\w\d + + \*\ + + \ + + diff --git a/extra/xmode/modes/ruby.xml b/extra/xmode/modes/ruby.xml new file mode 100644 index 0000000000..2d29c2d13d --- /dev/null +++ b/extra/xmode/modes/ruby.xml @@ -0,0 +1,462 @@ + + + + + + + + + + + + + + + + + + + + + + + + =begin + =end + + + + @ + + + /[^\p{Blank}]*?/ + + + + + " + " + + + + ' + ' + + + + + %Q?\( + ) + + + + + %q( + ) + + + + + %Q?\{ + } + + + + + %q{ + } + + + + + %Q?\[ + ] + + + + + %q[ + ] + + + + + %Q?< + > + + + + + %q< + > + + + + + + %Q([^\p{Alnum}]) + $1 + + + + + %q([^\p{Alnum}]) + $1 + + + + + %([^\p{Alnum}\p{Space}]) + $1 + + + + + %W( + ) + + + + + %w( + ) + + + + + %W{ + } + + + + + %w{ + } + + + + + %W[ + ] + + + + + %w[ + ] + + + + + %W< + > + + + + + %w< + > + + + + + %W([^\p{Alnum}\p{Space}]) + $1 + + + + + %w([^\p{Alnum}\p{Space}]) + $1 + + + + + + <<-?"([\p{Graph}]+)" + $1 + + + + + + <<-?'([\p{Graph}]+)' + $1 + + + + + + <<-?([A-Za-z_]+) + $1 + + + + + + + ` + ` + + + + + %x( + ) + + + + + %x{ + } + + + + + %x[ + ] + + + + + %x< + > + + + + + %x([^\p{Alnum}\p{Space}]) + $1 + + + + + + + + + + + %r( + ) + + + + + %r{ + } + + + + + %r[ + ] + + + + + %r< + > + + + + + %r([^\p{Alnum}\p{Space}]) + $1 + + + + + (/ + / + + + + + + #{ + } + + + + # + + + \$-[0adFiIKlpvw](?![\p{Alnum}_]) + + \$[0-9!@&\+`'=~/\\,\.;<>_\*"\$\?\:F](?![\p{Alnum}_]) + + + defined? + + + include(?![\p{Alnum}_\?]) + + + { + } + ( + ) + + + :: + === + = + >> + << + <= + + + - + / + + ** + * + + % + + + & + | + ! + > + < + ^ + ~ + + + ... + .. + + ] + [ + ? + + + :[\p{Alpha}_][\p{Alnum}_]* + + : + + + BEGIN + END + alias + begin + break + case + class + def + do + else + elsif + end + ensure + for + if + in + module + next + redo + rescue + retry + return + then + undef + unless + until + when + while + yield + + load + require + + and + not + or + + false + nil + self + super + true + + $defout + $deferr + $stderr + $stdin + $stdout + $DEBUG + $FILENAME + $LOAD_PATH + $SAFE + $VERBOSE + __FILE__ + __LINE__ + ARGF + ARGV + ENV + DATA + FALSE + NIL + RUBY_PLATFORM + RUBY_RELEASE_DATE + RUBY_VERSION + STDERR + STDIN + STDOUT + SCRIPT_LINES__ + TOPLEVEL_BINDING + TRUE + + + + + + + #{ + } + + #@@ + #@ + #$ + + + + + + #{ + } + + #@@ + #@ + #$ + + + + + + #{ + } + + #@@ + #@ + #$ + + diff --git a/extra/xmode/modes/rview.xml b/extra/xmode/modes/rview.xml new file mode 100644 index 0000000000..9747465814 --- /dev/null +++ b/extra/xmode/modes/rview.xml @@ -0,0 +1,217 @@ + + + + + + + + + + + + + + + + + /**/ + + + + /** + */ + + + + + /* + */ + + + + " + " + + + } + { + = + + + ( + ) + + // + + + + + unique + relationalview + class + + rowmap + table + function + subview + query + + join + jointype + leftouter + rightouter + + switch + case + + sql + constraints + where + orderby + return + distinct + + + allow + delete + + update + select + insert + + + boolean + byte + char + double + float + int + long + short + + useCallableStatement + + + CHAR + VARCHAR + LONGVARCHAR + NUMERIC + DECIMAL + BIT + TINYINT + SMALLINT + INTEGER + BIGINT + REAL + FLOAT + DOUBLE + BINARY + VARBINARY + LONGVARBINARY + DATE + TIME + TIMESTAMP + + + + + + + + ' + ' + + + + + + - + / + * + = + + + >= + <= + > + < + + + } + { + + + :: + + + : + + + ( + ) + + + SELECT + FROM + WHERE + AND + NOT + IN + BETWEEN + UPDATE + SET + + call + desc + + + CHAR + VARCHAR + LONGVARCHAR + NUMERIC + DECIMAL + BIT + TINYINT + SMALLINT + INTEGER + BIGINT + REAL + FLOAT + DOUBLE + BINARY + VARBINARY + LONGVARBINARY + DATE + TIME + TIMESTAMP + + + + + diff --git a/extra/xmode/modes/sas.xml b/extra/xmode/modes/sas.xml new file mode 100644 index 0000000000..4f51536b92 --- /dev/null +++ b/extra/xmode/modes/sas.xml @@ -0,0 +1,318 @@ + + + + + + + + + + + + + + + + + + /* + */ + + + + ' + ' + + + + = + < + > + _ + | + ~ + ^ + @ + ? + / + . + - + + + * + ! + + + $ASCII + $BINARY + $CB + $CHAR + $CHARZB + $EBCDIC + $HEX + $OCTAL + $VARYING + %BQUOTE + %DO + %ELSE + %END + %EVAL + %Global + %GOTO + %IF + %INC + %INCLUDE + %INDEX + %INPUT + %LENGTH + %LET + %LOCAL + %MACRO + %MEND + %NRBQUOTE + %NRQUOTE + %NRSTR + %PUT + %QSCAN + %Quote + %RUN + %SUBSTR + %SYSEXEC + %THEN + %UNTIL + %WHILE + %WINDOW + _ALL_ + _CHARACTER_ + _CMD_ + _ERROR_ + _I_ + _INFILE_ + _LAST_ + _MSG_ + _N_ + _NULL_ + _NUMERIC_ + _TEMPORARY_ + _TYPE_ + =DATA + ABORT + ADD + ADJRSQ + AND + ARRAY + ATTRIB + BACKWARD + BINARY + BLOCKSIZE + BY + BZ + CALL + CARDS + CARDS4 + CHAR + CLASS + COL + COLLIN + COLUMN + COMMA + COMMAX + CREATE + DATA + DATA= + DATE + DATETIME + DDMMYY + DECENDING + DEFINE + DELETE + DELIMITER + DISPLAY + DLM + DO + DROP + ELSE + END + ENDSAS + EOF + EOV + EQ + ERRORS + FILE + FILENAME + FILEVAR + FIRST. + FIRSTOBS + FOOTNOTE + FOOTNOTE1 + FOOTNOTE2 + FOOTNOTE3 + FORM + FORMAT + FORMCHAR + FORMDELIM + FORMDLIM + FORWARD + FROM + GO + GROUP + GT + HBAR + HEX + HPCT + HVAR + IB + ID + IEEE + IF + IN + INFILE + INFORMAT + INPUT + INR + JOIN + JULIAN + KEEP + LABEL + LAG + LAST. + LE + LIB + LIBNAME + LINE + LINESIZE + LINK + LIST + LOSTCARD + LRECL + LS + MACRO + MACROGEN + MAXDEC + MAXR + MEDIAN + MEMTYPE + MERGE + MERROR + MISSOVE + MLOGIC + MMDDYY + MODE + MODEL + MONYY + MPRINT + MRECALL + NE + NEW + NO + NOBS + NOCENTER + NOCUM + NODATE + NODUP + NODUPKEY + NOINT + NONUMBER + NOPAD + NOPRINT + NOROW + NOT + NOTITLE + NOTITLES + NOXSYNC + NOXWAIT + NUMBER + NWAY + OBS + OPTION + OPTIONS + OR + ORDER + OTHERWISE + OUT + OUTPUT + OVER + PAD + PAD2 + PAGESIZE + PD + PERCENT + PIB + PK + POINT + POSITION + PRINTER + PROC + PS + PUT + QUIT + R + RB + RECFM + REG + REGR + RENAME + REPLACE + RETAIN + RETURN + REUSE + RSQUARE + RUN + SASAUTOS + SCAN + SELECT + SELECTION + SERROR + SET + SIMPLE + SLE + SLS + START + STDIN + STOP + STOPOVER + SUBSTR + SYMBOL + SYMBOLGEN + T + TABLE + TABLES + THEN + TITLE + TITLE1 + TITLE2 + TITLE3 + TITLE4 + TITLE5 + TO + TOL + UNFORMATTED + UNTIL + UPDATE + VALUE + VAR + WHEN + WHERE + WHILE + WINDOW + WORK + X + XSYNC + XWAIT + YES + YYMMDD + + + + + + + diff --git a/extra/xmode/modes/scheme.xml b/extra/xmode/modes/scheme.xml new file mode 100644 index 0000000000..1117eaaa66 --- /dev/null +++ b/extra/xmode/modes/scheme.xml @@ -0,0 +1,236 @@ + + + + + + + + + + + + + + #| + |# + + '( + ' + #\ + #b + #d + #o + #x + ; + + " + " + + + and + begin + case + cond + cond-expand + define + define-macro + delay + do + else + fluid-let + if + lambda + let + let* + letrec + or + quasiquote + quote + set! + abs + acos + angle + append + apply + asin + assoc + assq + assv + atan + car + cdr + caar + cadr + cdar + cddr + caaar + caadr + cadar + caddr + cdaar + cdadr + cddar + cdddr + call-with-current-continuation + call-with-input-file + call-with-output-file + call-with-values + call/cc + catch + ceiling + char->integer + char-downcase + char-upcase + close-input-port + close-output-port + cons + cos + current-input-port + current-output-port + delete-file + display + dynamic-wind + eval + exit + exact->inexact + exp + expt + file-or-directory-modify-seconds + floor + force + for-each + gcd + gensym + get-output-string + getenv + imag-part + integer->char + lcm + length + list + list->string + list->vector + list-ref + list-tail + load + log + magnitude + make-polar + make-rectangular + make-string + make-vector + map + max + member + memq + memv + min + modulo + newline + nil + not + number->string + open-input-file + open-input-string + open-output-file + open-output-string + peek-char + quotient + read + read-char + read-line + real-part + remainder + reverse + reverse! + round + set-car! + set-cdr! + sin + sqrt + string + string->list + string->number + string->symbol + string-append + string-copy + string-fill! + string-length + string-ref + string-set! + substring + symbol->string + system + tan + truncate + values + vector + vector->list + vector-fill! + vector-length + vector-ref + vector-set! + with-input-from-file + with-output-to-file + write + write-char + boolean? + char-alphabetic? + char-ci<=? + char-ci<? + char-ci=? + char-ci>=? + char-ci>? + char-lower-case? + char-numeric? + char-ready? + char-upper-case? + char-whitespace? + char<=? + char<? + char=? + char>=? + char>? + char? + complex? + eof-object? + eq? + equal? + eqv? + even? + exact? + file-exists? + inexact? + input-port? + integer? + list? + negative? + null? + number? + odd? + output-port? + pair? + port? + positive? + procedure? + rational? + real? + string-ci<=? + string-ci<? + string-ci=? + string-ci>=? + string-ci>? + string<=? + string<? + string=? + string>=? + string>? + string? + symbol? + vector? + zero? + #t + #f + + + diff --git a/extra/xmode/modes/sdl_pr.xml b/extra/xmode/modes/sdl_pr.xml new file mode 100644 index 0000000000..0f67aa83b9 --- /dev/null +++ b/extra/xmode/modes/sdl_pr.xml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + /*#SDTREF + */ + + + + + /* + */ + + + + + ' + ' + + + + " + " + + + + + + - + * + / + == + /= + := + = + < + <= + > + >= + . + ! + // + + and + mod + not + or + rem + xor + + + + active + adding + all + alternative + any + as + atleast + axioms + block + call + channel + comment + connect + connection + constant + constants + create + dcl + decision + default + else + end + endalternative + endblock + endchannel + endconnection + enddecision + endgenerator + endmacro + endnewtype + endoperator + endpackage + endprocedure + endprocess + endrefinement + endselect + endservice + endstate + endsubstructure + endsyntype + endsystem + env + error + export + exported + external + fi + finalized + for + fpar + from + gate + generator + if + import + imported + in + inherits + input + interface + join + literal + literals + macro + macrodefinition + macroid + map + nameclass + newtype + nextstate + nodelay + noequality + none + now + offspring + operator + operators + ordering + out + output + package + parent + priority + procedure + process + provided + redefined + referenced + refinement + remote + reset + return + returns + revealed + reverse + route + save + select + self + sender + service + set + signal + signallist + signalroute + signalset + spelling + start + state + stop + struct + substructure + synonym + syntype + system + task + then + this + timer + to + type + use + via + view + viewed + virtual + with + + + Boolean + Character + Charstring + Duration + Integer + Natural + Real + PId + Time + + + Array + String + Powerset + + + false + null + true + + + diff --git a/extra/xmode/modes/sgml.xml b/extra/xmode/modes/sgml.xml new file mode 100644 index 0000000000..6f7737d855 --- /dev/null +++ b/extra/xmode/modes/sgml.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + <!-- + --> + + + + + <!ENTITY + > + + + + + <![CDATA[ + ]]> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + diff --git a/extra/xmode/modes/shellscript.xml b/extra/xmode/modes/shellscript.xml new file mode 100644 index 0000000000..5d265b750d --- /dev/null +++ b/extra/xmode/modes/shellscript.xml @@ -0,0 +1,163 @@ + + + + + + + + + + + + + #! + # + + + + ${ + } + + + $# + $? + $* + $@ + $$ + $< + $ + = + + + + $(( + )) + + + $( + ) + + + $[ + ] + + + ` + ` + + + + + " + " + + + ' + ' + + + + + + $1 + + + + | + & + ! + > + < + + + % + + + ( + ) + + + if + then + elif + else + fi + case + in + ;; + esac + while + for + do + done + continue + + local + return + + + + + + + + + + ${ + } + + + $ + + + + + + ${ + } + + + + $(( + )) + + + + $( + ) + + + + $[ + ] + + + $ + + | + & + ! + > + < + + diff --git a/extra/xmode/modes/shtml.xml b/extra/xmode/modes/shtml.xml new file mode 100644 index 0000000000..b5ee02e8ca --- /dev/null +++ b/extra/xmode/modes/shtml.xml @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + <!--# + --> + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + + + + " + " + + + + ' + ' + + + = + + + + + " + " + + + + + = + + + config + echo + exec + flastmod + fsize + include + + cgi + errmsg + file + sizefmt + timefmt + var + cmd + + + + + + $ + + = + != + < + <= + > + >= + && + || + + diff --git a/extra/xmode/modes/slate.xml b/extra/xmode/modes/slate.xml new file mode 100644 index 0000000000..4f9b2c50e9 --- /dev/null +++ b/extra/xmode/modes/slate.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + " + " + + + # + + @ + + + ' + ' + + + + | + | + + + & + ` + + $\ + $ + + [ + ] + { + } + + diff --git a/extra/xmode/modes/smalltalk.xml b/extra/xmode/modes/smalltalk.xml new file mode 100644 index 0000000000..27eefe7f76 --- /dev/null +++ b/extra/xmode/modes/smalltalk.xml @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + ' + ' + + + + " + " + + + := + _ + = + == + > + < + >= + <= + + + - + / + * + + : + # + $ + + + + + true + false + nil + + + self + super + + + isNil + not + + + Smalltalk + Transcript + + + Date + Time + Boolean + True + False + Character + String + Array + Symbol + Integer + Object + + + + diff --git a/extra/xmode/modes/smi-mib.xml b/extra/xmode/modes/smi-mib.xml new file mode 100644 index 0000000000..ed8982ea62 --- /dev/null +++ b/extra/xmode/modes/smi-mib.xml @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + -- + + + " + " + + + ::= + } + { + + OBJECT IDENTIFIER + SEQUENCE OF + OCTET STRING + + + AGENT-CAPABILITIES + BEGIN + END + FROM + IMPORTS + MODULE-COMPLIANCE + MODULE-IDENTITY + NOTIFICATION-GROUP + NOTIFICATION-TYPE + OBJECT-GROUP + OBJECT-IDENTITY + OBJECT-TYPE + TEXTUAL-CONVENTION + + ACCESS + AUGMENTS + CONTACT-INFO + CREATION-REQUIRES + DEFINITIONS + DEFVAL + DESCRIPTION + DISPLAY-HINT + GROUP + INCLUDES + INDEX + LAST-UPDATED + MANDATORY-GROUPS + MAX-ACCESS + MIN-ACCESS + MODULE + NOTIFICATIONS + OBJECT + OBJECTS + ORGANIZATION + PRODUCT-RELEASE + REFERENCE + REVISION + STATUS + SYNTAX + SUPPORTS + UNITS + VARIATION + WRITE-SYNTAX + + AutonomousType + BITS + Counter32 + Counter64 + DateAndTime + DisplayString + Gauge32 + InstancePointer + INTEGER + Integer32 + IpAddress + MacAddress + Opaque + PhysAddress + RowPointer + RowStatus + SEQUENCE + TAddress + TDomain + TestAndIncr + TimeInterval + TimeStamp + TimeTicks + TruthValue + StorageType + Unsigned32 + VariablePointer + + accessible-for-notify + current + deprecated + not-accessible + obsolete + read-create + read-only + read-write + SIZE + + + diff --git a/extra/xmode/modes/splus.xml b/extra/xmode/modes/splus.xml new file mode 100644 index 0000000000..12e10d7ee3 --- /dev/null +++ b/extra/xmode/modes/splus.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + " + " + + + ' + ' + + + # + = + ! + _ + >= + <= + <- + + + - + / + + * + > + < + % + & + | + ^ + ~ + } + { + : + + + ( + ) + + + break + case + continue + default + do + else + for + goto + if + return + sizeof + switch + while + + function + + T + F + + + diff --git a/extra/xmode/modes/sql-loader.xml b/extra/xmode/modes/sql-loader.xml new file mode 100644 index 0000000000..ae62fc30b7 --- /dev/null +++ b/extra/xmode/modes/sql-loader.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + /* + */ + + + ' + ' + + + " + " + + -- + + + - + / + * + = + > + < + % + & + | + ^ + ~ + != + !> + !< + := + + + + LOAD + DATA + INFILE + BADFILE + DISCARDFILE + INTO + TABLE + FIELDS + TERMINATED + BY + OPTIONALLY + ENCLOSED + EXTERNAL + TRAILING + NULLCOLS + NULLIF + DATA + BLANKS + INSERT + INTO + POSITION + WHEN + APPEND + REPLACE + EOF + LOBFILE + TRUNCATE + COLUMN + + + COUNT + AND + SDF + OR + SYSDATE + + + binary + bit + blob + boolean + char + character + constant + date + datetime + decimal + double + filler + float + image + int + integer + money + + numeric + nchar + nvarchar + ntext + object + pls_integer + raw + real + smalldatetime + smallint + smallmoney + sequence + text + timestamp + tinyint + uniqueidentifier + varbinary + varchar + varchar2 + varray + zoned + + + + + diff --git a/extra/xmode/modes/sqr.xml b/extra/xmode/modes/sqr.xml new file mode 100644 index 0000000000..6e28544605 --- /dev/null +++ b/extra/xmode/modes/sqr.xml @@ -0,0 +1,152 @@ + + + + + + + + + + + + + ! + + + + ' + ' + + + + + [ + ] + + + ^ + @ + := + = + <> + >= + <= + > + < + + + / + * + + $ + # + & + + + + begin-procedure + end-procedure + begin-report + end-report + begin-heading + end-heading + begin-setup + end-setup + begin-footing + end-footing + begin-program + end-program + + + begin-select + end-select + begin-sql + end-sql + + + add + array-add + array-divide + array-multiply + array-subtract + ask + break + call + clear-array + close + columns + commit + concat + connect + create-array + date-time + display + divide + do + dollar-symbol + else + encode + end-evaluate + end-if + end-while + evaluate + execute + extract + find + font + get + goto + graphic + if + last-page + let + lookup + lowercase + money-symbol + move + multiply + new-page + new-report + next-column + next-listing + no-formfeed + open + page-number + page-size + position + print + print-bar-code + print-chart + print-direct + print-image + printer-deinit + printer-init + put + read + rollback + show + stop + string + subtract + unstring + uppercase + use + use-column + use-printer-type + use-procedure + use-report + use-report + while + write + to + + + from + where + and + between + or + in + + + + diff --git a/extra/xmode/modes/squidconf.xml b/extra/xmode/modes/squidconf.xml new file mode 100644 index 0000000000..d8d84a684f --- /dev/null +++ b/extra/xmode/modes/squidconf.xml @@ -0,0 +1,227 @@ + + + + + + + + + + + + # + + + http_port + https_port + ssl_unclean_shutdown + icp_port + htcp_port + mcast_groups + udp_incoming_address + udp_outgoing_address + cache_peer + cache_peer_domain + neighbor_type_domain + icp_query_timeout + maximum_icp_query_timeout + mcast_icp_query_timeout + dead_peer_timeout + hierarchy_stoplist + no_cache + cache_mem + cache_swap_low + cache_swap_high + maximum_object_size + minimum_object_size + maximum_object_size_in_memory + ipcache_size + ipcache_low + ipcache_high + fqdncache_size + cache_replacement_policy + memory_replacement_policy + cache_dir + cache_access_log + cache_log + cache_store_log + cache_swap_log + emulate_httpd_log + log_ip_on_direct + mime_table + log_mime_hdrs + useragent_log + referer_log + pid_filename + debug_options + log_fqdn + client_netmask + ftp_user + ftp_list_width + ftp_passive + ftp_sanitycheck + cache_dns_program + dns_children + dns_retransmit_interval + dns_timeout + dns_defnames + dns_nameservers + hosts_file + diskd_program + unlinkd_program + pinger_program + redirect_program + redirect_children + redirect_rewrites_host_header + redirector_access + auth_param + authenticate_cache_garbage_interval + authenticate_ttl + authenticate_ip_ttl + external_acl_type + wais_relay_host + wais_relay_port + request_header_max_size + request_body_max_size + refresh_pattern + quick_abort_min + quick_abort_max + quick_abort_pct + negative_ttl + positive_dns_ttl + negative_dns_ttl + range_offset_limit + connect_timeout + peer_connect_timeout + read_timeout + request_timeout + persistent_request_timeout + client_lifetime + half_closed_clients + pconn_timeout + ident_timeout + shutdown_lifetime + acl + http_access + http_reply_access + icp_access + miss_access + cache_peer_access + ident_lookup_access + tcp_outgoing_tos + tcp_outgoing_address + reply_body_max_size + cache_mgr + cache_effective_user + cache_effective_group + visible_hostname + unique_hostname + hostname_aliases + announce_period + announce_host + announce_file + announce_port + httpd_accel_host + httpd_accel_port + httpd_accel_single_host + httpd_accel_with_proxy + httpd_accel_uses_host_header + dns_testnames + logfile_rotate + append_domain + tcp_recv_bufsize + err_html_text + deny_info + memory_pools + memory_pools_limit + forwarded_for + log_icp_queries + icp_hit_stale + minimum_direct_hops + minimum_direct_rtt + cachemgr_passwd + store_avg_object_size + store_objects_per_bucket + client_db + netdb_low + netdb_high + netdb_ping_period + query_icmp + test_reachability + buffered_logs + reload_into_ims + always_direct + never_direct + header_access + header_replace + icon_directory + error_directory + maximum_single_addr_tries + snmp_port + snmp_access + snmp_incoming_address + snmp_outgoing_address + as_whois_server + wccp_router + wccp_version + wccp_incoming_address + wccp_outgoing_address + delay_pools + delay_class + delay_access + delay_parameters + delay_initial_bucket_level + incoming_icp_average + incoming_http_average + incoming_dns_average + min_icp_poll_cnt + min_dns_poll_cnt + min_http_poll_cnt + max_open_disk_fds + offline_mode + uri_whitespace + broken_posts + mcast_miss_addr + mcast_miss_ttl + mcast_miss_port + mcast_miss_encode_key + nonhierarchical_direct + prefer_direct + strip_query_terms + coredump_dir + redirector_bypass + ignore_unknown_nameservers + digest_generation + digest_bits_per_entry + digest_rebuild_period + digest_rewrite_period + digest_swapout_chunk_size + digest_rebuild_chunk_percentage + chroot + client_persistent_connections + server_persistent_connections + pipeline_prefetch + extension_methods + request_entities + high_response_time_warning + high_page_fault_warning + high_memory_warning + store_dir_select_algorithm + forward_log + ie_refresh + vary_ignore_expire + sleep_after_fork + + dst + src + method + port + proxy_auth + + on + off + allow + deny + + + diff --git a/extra/xmode/modes/ssharp.xml b/extra/xmode/modes/ssharp.xml new file mode 100644 index 0000000000..019a6fd1cf --- /dev/null +++ b/extra/xmode/modes/ssharp.xml @@ -0,0 +1,145 @@ + + + + + + + + + + + + + + + + + + + ' + ' + + + # + "" + + + " + " + + + + « + » + + + ( + ) + { + } + := + _ + = + == + > + < + >= + <= + + + - + / + // + \\ + * + ** + # + ^ + ^^ + ; + . + -> + && + || + ^| + != + ~= + !== + ~~ + + : + # + $ + + + + disable + enable + no + off + on + yes + + + self + true + false + nil + super + thread + sender + senderMethod + blockSelf + scheduler + ¼ + + + isNil + not + + + Smalltalk + Transcript + + + Date + Time + Boolean + True + False + Character + String + Array + Symbol + Integer + Object + + Application + Category + Class + Compiler + EntryPoint + Enum + Eval + Exception + Function + IconResource + Interface + Literal + Namespace + Method + Mixin + Module + Project + Reference + Require + Resource + Signal + Struct + Subsystem + Specifications + Warning + + + + diff --git a/extra/xmode/modes/svn-commit.xml b/extra/xmode/modes/svn-commit.xml new file mode 100644 index 0000000000..5cd415cadd --- /dev/null +++ b/extra/xmode/modes/svn-commit.xml @@ -0,0 +1,22 @@ + + + + + + + + + --This line, and those below, will be ignored-- + + + A + D + M + _ + + diff --git a/extra/xmode/modes/swig.xml b/extra/xmode/modes/swig.xml new file mode 100644 index 0000000000..ac5a23a1a9 --- /dev/null +++ b/extra/xmode/modes/swig.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + %{ + %} + + + + % + + + + diff --git a/extra/xmode/modes/tcl.xml b/extra/xmode/modes/tcl.xml new file mode 100644 index 0000000000..4927f13bff --- /dev/null +++ b/extra/xmode/modes/tcl.xml @@ -0,0 +1,682 @@ + + + + + + + + + + + + + + + + + \\$ + + + + ;\s*(?=#) + + + \{\s*(?=#) + } + + + # + + + + " + " + + + + + + \$(\w|::)+\( + ) + + + + ${ + } + + + \$(\w|::)+ + + + + { + } + + + + + [ + ] + + + + \a + \b + \f + \n + \r + \t + \v + + + + + ; + :: + + + = + ! + >= + <= + + + - + / + * + > + < + % + & + | + ^ + ~ + + + + append + array + concat + console + eval + expr + format + global + set + trace + unset + upvar + join + lappend + lindex + linsert + list + llength + lrange + lreplace + lsearch + lsort + split + scan + string + regexp + regsub + if + else + elseif + switch + for + foreach + while + break + continue + proc + return + source + unknown + uplevel + cd + close + eof + file + flush + gets + glob + open + read + puts + pwd + seek + tell + catch + error + exec + pid + after + time + exit + history + rename + info + + ceil + floor + round + incr + abs + acos + cos + cosh + asin + sin + sinh + atan + atan2 + tan + tanh + log + log10 + fmod + pow + hypot + sqrt + double + int + + bgerror + binary + clock + dde + encoding + fblocked + fconfigure + fcopy + fileevent + filename + http + interp + load + lset + memory + msgcat + namespace + package + pkg::create + pkg_mkIndex + registry + resource + socket + subst + update + variable + vwait + + auto_execok + auto_import + auto_load + auto_mkindex + auto_mkindex_old + auto_qualify + auto_reset + parray + tcl_endOfWord + tcl_findLibrary + tcl_startOfNextWord + tcl_startOfPreviousWord + tcl_wordBreakAfter + tcl_wordBreakBefore + + + bind + button + canvas + checkbutton + destroy + entry + focus + frame + grab + image + label + listbox + lower + menu + menubutton + message + option + pack + placer + radiobutton + raise + scale + scrollbar + selection + send + text + tk + tkerror + tkwait + toplevel + update + winfo + wm + + + + debug + disconnect + + exp_continue + exp_internal + exp_open + exp_pid + exp_version + expect + expect_after + expect_background + expect_before + expect_tty + expect_user + fork + inter_return + interact + interpreter + log_file + log_user + match_max + overlay + parity + promptl + prompt2 + remove_nulls + + send_error + send_log + send_tty + send_user + sleep + spawn + strace + stty + system + timestamp + trap + wait + + full_buffer + timeout + + + + argv0 + argv + argc + tk_version + tk_library + tk_strictMotif + + env + errorCode + errorInfo + geometry + tcl_library + tcl_patchLevel + tcl_pkgPath + tcl_platform + tcl_precision + tcl_rcFileName + tcl_rcRsrcName + tcl_traceCompile + tcl_traceExec + tcl_wordchars + tcl_nonwordchars + tcl_version + tcl_interactive + + + exact + all + indices + nocase + nocomplain + nonewline + code + errorinfo + errorcode + atime + anymore + args + body + compare + cmdcount + commands + ctime + current + default + dev + dirname + donesearch + errorinfo + executable + extension + first + globals + gid + index + ino + isdirectory + isfile + keep + last + level + length + library + locals + lstat + match + mode + mtime + names + nextelement + nextid + nlink + none + procs + owned + range + readable + readlink + redo + release + rootname + script + show + size + startsearch + stat + status + substitute + tail + tclversion + tolower + toupper + trim + trimleft + trimright + type + uid + variable + vars + vdelete + vinfo + visibility + window + writable + accelerator + activeforeground + activebackground + anchor + aspect + background + before + bg + borderwidth + bd + bitmap + command + cursor + default + expand + family + fg + fill + font + force + foreground + from + height + icon + question + warning + in + ipadx + ipady + justify + left + center + right + length + padx + pady + offvalue + onvalue + orient + horizontal + vertical + outline + oversrike + relief + raised + sunken + flat + groove + ridge + solid + screen + selectbackground + selectforeground + setgrid + side + size + slant + left + right + top + bottom + spacing1 + spacing2 + spacing3 + state + stipple + takefocus + tearoff + textvariable + title + to + type + abortretryignore + ok + okcancel + retrycancel + yesno + yesnocancel + underline + value + variable + weight + width + xscrollcommand + yscrollcommand + active + add + arc + aspect + bitmap + cascade + cget + children + class + clear + client + create + colormodel + command + configure + deiconify + delete + disabled + exists + focusmodel + flash + forget + geometry + get + group + handle + iconbitmap + iconify + iconmask + iconname + iconposition + iconwindow + idletasks + insert + interps + itemconfigure + invoke + line + mark + maxsize + minsize + move + name + normal + overrideredirect + oval + own + photo + polygon + positionfrom + propagate + protocol + ranges + rectangle + remove + resizable + separator + slaves + sizefrom + state + tag + title + transient + window + withdraw + xview + yview + Activate + Alt + Any + B1 + B2 + B3 + Button1 + Button2 + Button3 + ButtonPress + ButtonRelease + Double + Circulate + Colormap + Configure + Control + Deactivate + Escape + Expose + FocusIn + FocusOut + Gravity + Key + KeyPress + KeyRelease + Lock + Meta + Property + Reparent + Shift + Unmap + Visibility + Button + ButtonPress + ButtonRelease + Destroy + Escape + Enter + Leave + Motion + MenuSelect + Triple + all + + + + + + #.* + + + + + + + + + + \\$ + + + + \$(\w|::)+\( + ) + + + \$\{ + } + + \$(\w|::)+ + + + + [ + ] + + + + \a + \b + \f + \n + \r + \t + \v + + diff --git a/extra/xmode/modes/tex.xml b/extra/xmode/modes/tex.xml new file mode 100644 index 0000000000..c59bfa8d89 --- /dev/null +++ b/extra/xmode/modes/tex.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + $$ + $$ + + + + + $ + $ + + + + + \[ + \] + + + + \$ + \\ + \% + + + + \iffalse + \fi + + + + + \begin{verbatim} + \end{verbatim} + + + + + \verb| + | + + + \ + + + % + + + { + } + [ + ] + + + + + \$ + \\ + \% + + + \ + + + ) + ( + { + } + [ + ] + = + ! + + + - + / + * + > + < + & + | + ^ + ~ + . + , + ; + ? + : + ' + " + ` + + + % + + + + diff --git a/extra/xmode/modes/texinfo.xml b/extra/xmode/modes/texinfo.xml new file mode 100644 index 0000000000..32ce5893fa --- /dev/null +++ b/extra/xmode/modes/texinfo.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + @c + @comment + + + @ + + { + } + + diff --git a/extra/xmode/modes/text.xml b/extra/xmode/modes/text.xml new file mode 100644 index 0000000000..fe66537ae2 --- /dev/null +++ b/extra/xmode/modes/text.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/extra/xmode/modes/tpl.xml b/extra/xmode/modes/tpl.xml new file mode 100644 index 0000000000..9b215f67b3 --- /dev/null +++ b/extra/xmode/modes/tpl.xml @@ -0,0 +1,89 @@ + + + + + + + + + + + + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + < + > + + + + + & + ; + + + + + { + } + + + + + + + " + " + + + ' + ' + + + * + + + + include + = + START + END + + + + + + " + " + + + ' + ' + + + = + + + diff --git a/extra/xmode/modes/tsql.xml b/extra/xmode/modes/tsql.xml new file mode 100644 index 0000000000..ad4d151e2c --- /dev/null +++ b/extra/xmode/modes/tsql.xml @@ -0,0 +1,1013 @@ + + + + + + + + + + + + + /* + */ + + + + " + " + + + ' + ' + + + [ + ] + + + ( + ) + + -- + + + - + / + * + = + > + < + % + & + | + ^ + ~ + != + !> + !< + :: + : + + @ + + + + ABSOLUTE + ADD + ALTER + ANSI_NULLS + AS + ASC + AUTHORIZATION + BACKUP + BEGIN + BREAK + BROWSE + BULK + BY + CASCADE + CHECK + CHECKPOINT + CLOSE + CLUSTERED + COLUMN + COMMIT + COMMITTED + COMPUTE + CONFIRM + CONSTRAINT + CONTAINS + CONTAINSTABLE + CONTINUE + CONTROLROW + CREATE + CURRENT + CURRENT_DATE + CURRENT_TIME + CURSOR + DATABASE + DBCC + DEALLOCATE + DECLARE + DEFAULT + DELETE + DENY + DESC + DISK + DISTINCT + DISTRIBUTED + DOUBLE + DROP + DUMMY + DUMP + DYNAMIC + ELSE + END + ERRLVL + ERROREXIT + ESCAPE + EXCEPT + EXEC + EXECUTE + EXIT + FAST_FORWARD + FETCH + FILE + FILLFACTOR + FIRST + FLOPPY + FOR + FOREIGN + FORWARD_ONLY + FREETEXT + FREETEXTTABLE + FROM + FULL + FUNCTION + GLOBAL + GOTO + GRANT + GROUP + HAVING + HOLDLOCK + ID + IDENTITYCOL + IDENTITY_INSERT + IF + INDEX + INNER + INSENSITIVE + INSERT + INTO + IS + ISOLATION + KEY + KEYSET + KILL + LAST + LEVEL + LINENO + LOAD + LOCAL + MAX + MIN + MIRROREXIT + NATIONAL + NEXT + NOCHECK + NONCLUSTERED + OF + OFF + OFFSETS + ON + ONCE + ONLY + OPEN + OPENDATASOURCE + OPENQUERY + OPENROWSET + OPTIMISTIC + OPTION + ORDER + OUTPUT + OVER + PERCENT + PERM + PERMANENT + PIPE + PLAN + PRECISION + PREPARE + PRIMARY + PRINT + PRIOR + PRIVILEGES + PROC + PROCEDURE + PROCESSEXIT + PUBLIC + QUOTED_IDENTIFIER + RAISERROR + READ + READTEXT + READ_ONLY + RECONFIGURE + REFERENCES + RELATIVE + REPEATABLE + REPLICATION + RESTORE + RESTRICT + RETURN + RETURNS + REVOKE + ROLLBACK + ROWGUIDCOL + RULE + SAVE + SCHEMA + SCROLL + SCROLL_LOCKS + SELECT + SERIALIZABLE + SET + SETUSER + SHUTDOWN + STATIC + STATISTICS + TABLE + TAPE + TEMP + TEMPORARY + TEXTIMAGE_ON + THEN + TO + TOP + TRAN + TRANSACTION + TRIGGER + TRUNCATE + TSEQUAL + UNCOMMITTED + UNION + UNIQUE + UPDATE + UPDATETEXT + USE + VALUES + VARYING + VIEW + WAITFOR + WHEN + WHERE + WHILE + WITH + WORK + WRITETEXT + + + binary + bit + char + character + datetime + decimal + float + image + int + integer + money + name + numeric + nchar + nvarchar + ntext + real + smalldatetime + smallint + smallmoney + text + timestamp + tinyint + uniqueidentifier + varbinary + varchar + + + @@CONNECTIONS + @@CPU_BUSY + @@CURSOR_ROWS + @@DATEFIRST + @@DBTS + @@ERROR + @@FETCH_STATUS + @@IDENTITY + @@IDLE + @@IO_BUSY + @@LANGID + @@LANGUAGE + @@LOCK_TIMEOUT + @@MAX_CONNECTIONS + @@MAX_PRECISION + @@NESTLEVEL + @@OPTIONS + @@PACKET_ERRORS + @@PACK_RECEIVED + @@PACK_SENT + @@PROCID + @@REMSERVER + @@ROWCOUNT + @@SERVERNAME + @@SERVICENAME + @@SPID + @@TEXTSIZE + @@TIMETICKS + @@TOTAL_ERRORS + @@TOTAL_READ + @@TOTAL_WRITE + @@TRANCOUNT + @@VERSION + ABS + ACOS + APP_NAME + ASCII + ASIN + ATAN + ATN2 + AVG + BINARY_CHECKSUM + CASE + CAST + CEILING + CHARINDEX + CHECKSUM + CHECKSUM_AGG + COALESCE + COLLATIONPROPERTY + COLUMNPROPERTY + COL_LENGTH + COL_NAME + CONVERT + COS + COT + COUNT + COUNT_BIG + CURRENT_DATE + CURRENT_TIME + CURRENT_TIMESTAMP + CURRENT_USER + CURSOR_STATUS + DATABASEPROPERTY + DATALENGTH + DATEADD + DATEDIFF + DATENAME + DATEPART + DAY + DB_ID + DB_NAME + DEGREES + DIFFERENCE + EXP + FILEGROUPPROPERTY + FILEGROUP_ID + FILEGROUP_NAME + FILEPROPERTY + FILE_ID + FILE_NAME + FLOOR + FORMATMESSAGE + FULLTEXTCATALOGPROPERTY + FULLTEXTSERVICEPROPERTY + GETANSINULL + GETDATE + GETUTCDATE + GROUPING + HOST_ID + HOST_NAME + IDENTITY + IDENTITY_INSERT + IDENT_CURRENT + IDENT_INCR + IDENT_SEED + INDEXPROPERTY + INDEX_COL + ISDATE + ISNULL + ISNUMERIC + IS_MEMBER + IS_SRVROLEMEMBER + LEFT + LEN + LOG10 + LOG + LOWER + LTRIM + MONTH + NEWID + NULLIF + OBJECTPROPERTY + OBJECT_ID + OBJECT_NAME + PARSENAME + PATINDEX + PERMISSIONS + PI + POWER + QUOTENAME + RADIANS + RAND + REPLACE + REPLICATE + REVERSE + RIGHT + ROUND + ROWCOUNT_BIG + RTRIM + SCOPE_IDENTITY + SERVERPROPERTY + SESSIONPROPERTY + SESSION_USER + SIGN + SIN + SOUNDEX + SPACE + SQRT + SQUARE + STATS_DATE + STDEV + STDEVP + STR + STUFF + SUBSTRING + SUM + SUSER_ID + SUSER_NAME + SUSER_SID + SUSER_SNAME + SYSTEM_USER + TAN + TEXTPTR + TEXTVALID + TYPEPROPERTY + UNICODE + UPPER + USER + USER_ID + USER_NAME + VAR + VARP + YEAR + + + ALL + AND + ANY + BETWEEN + CROSS + EXISTS + IN + INTERSECT + JOIN + LIKE + NOT + NULL + OR + OUTER + SOME + + + sp_add_agent_parameter + sp_add_agent_profile + sp_add_alert + sp_add_category + sp_add_data_file_recover_suspect_db + sp_add_job + sp_add_jobschedule + sp_add_jobserver + sp_add_jobstep + sp_add_log_file_recover_suspect_db + sp_add_notification + sp_add_operator + sp_add_targetservergroup + sp_add_targetsvrgrp_member + sp_addalias + sp_addapprole + sp_addarticle + sp_adddistpublisher + sp_adddistributiondb + sp_adddistributor + sp_addextendedproc + sp_addgroup + sp_addlinkedserver + sp_addlinkedsrvlogin + sp_addlinkedsrvlogin + sp_addlogin + sp_addmergearticle + sp_addmergefilter + sp_addmergepublication + sp_addmergepullsubscription + sp_addmergepullsubscription_agent + sp_addmergesubscription + sp_addmessage + sp_addpublication + sp_addpublication_snapshot + sp_addpublisher70 + sp_addpullsubscription + sp_addpullsubscription_agent + sp_addremotelogin + sp_addrole + sp_addrolemember + sp_addserver + sp_addsrvrolemember + sp_addsubscriber + sp_addsubscriber_schedule + sp_addsubscription + sp_addsynctriggers + sp_addtabletocontents + sp_addtask + sp_addtype + sp_addumpdevice + sp_adduser + sp_altermessage + sp_apply_job_to_targets + sp_approlepassword + sp_article_validation + sp_articlecolumn + sp_articlefilter + sp_articlesynctranprocs + sp_articleview + sp_attach_db + sp_attach_single_file_db + sp_autostats + sp_bindefault + sp_bindrule + sp_bindsession + sp_browsereplcmds + sp_catalogs + sp_certify_removable + sp_change_agent_parameter + sp_change_agent_profile + sp_change_subscription_properties + sp_change_users_login + sp_changearticle + sp_changedbowner + sp_changedistpublisher + sp_changedistributiondb + sp_changedistributor_password + sp_changedistributor_property + sp_changegroup + sp_changemergearticle + sp_changemergefilter + sp_changemergepublication + sp_changemergepullsubscription + sp_changemergesubscription + sp_changeobjectowner + sp_changepublication + sp_changesubscriber + sp_changesubscriber_schedule + sp_changesubstatus + sp_check_for_sync_trigger + sp_column_privileges + sp_column_privileges_ex + sp_columns + sp_columns_ex + sp_configure + sp_create_removable + sp_createorphan + sp_createstats + sp_cursor + sp_cursor_list + sp_cursorclose + sp_cursorexecute + sp_cursorfetch + sp_cursoropen + sp_cursoroption + sp_cursorprepare + sp_cursorunprepare + sp_cycle_errorlog + sp_databases + sp_datatype_info + sp_dbcmptlevel + sp_dbfixedrolepermission + sp_dboption + sp_defaultdb + sp_defaultlanguage + sp_delete_alert + sp_delete_backuphistory + sp_delete_category + sp_delete_job + sp_delete_jobschedule + sp_delete_jobserver + sp_delete_jobstep + sp_delete_notification + sp_delete_operator + sp_delete_targetserver + sp_delete_targetservergroup + sp_delete_targetsvrgrp_member + sp_deletemergeconflictrow + sp_denylogin + sp_depends + sp_describe_cursor + sp_describe_cursor_columns + sp_describe_cursor_tables + sp_detach_db + sp_drop_agent_parameter + sp_drop_agent_profile + sp_dropalias + sp_dropapprole + sp_droparticle + sp_dropdevice + sp_dropdistpublisher + sp_dropdistributiondb + sp_dropdistributor + sp_dropextendedproc + sp_dropgroup + sp_droplinkedsrvlogin + sp_droplinkedsrvlogin + sp_droplogin + sp_dropmergearticle + sp_dropmergefilter + sp_dropmergepublication + sp_dropmergepullsubscription + sp_dropmergesubscription + sp_dropmessage + sp_droporphans + sp_droppublication + sp_droppullsubscription + sp_dropremotelogin + sp_droprole + sp_droprolemember + sp_dropserver + sp_dropsrvrolemember + sp_dropsubscriber + sp_dropsubscription + sp_droptask + sp_droptype + sp_dropuser + sp_dropwebtask + sp_dsninfo + sp_dumpparamcmd + sp_enumcodepages + sp_enumcustomresolvers + sp_enumdsn + sp_enumfullsubscribers + sp_execute + sp_executesql + sp_expired_subscription_cleanup + sp_fkeys + sp_foreignkeys + sp_fulltext_catalog + sp_fulltext_column + sp_fulltext_database + sp_fulltext_service + sp_fulltext_table + sp_generatefilters + sp_get_distributor + sp_getbindtoken + sp_getmergedeletetype + sp_grant_publication_access + sp_grantdbaccess + sp_grantlogin + sp_help + sp_help_agent_default + sp_help_agent_parameter + sp_help_agent_profile + sp_help_alert + sp_help_category + sp_help_downloadlist + sp_help_fulltext_catalogs + sp_help_fulltext_catalogs_cursor + sp_help_fulltext_columns + sp_help_fulltext_columns_cursor + sp_help_fulltext_tables + sp_help_fulltext_tables_cursor + sp_help_job + sp_help_jobhistory + sp_help_jobschedule + sp_help_jobserver + sp_help_jobstep + sp_help_notification + sp_help_operator + sp_help_publication_access + sp_help_targetserver + sp_help_targetservergroup + sp_helparticle + sp_helparticlecolumns + sp_helpconstraint + sp_helpdb + sp_helpdbfixedrole + sp_helpdevice + sp_helpdistpublisher + sp_helpdistributiondb + sp_helpdistributor + sp_helpextendedproc + sp_helpfile + sp_helpfilegroup + sp_helpgroup + sp_helphistory + sp_helpindex + sp_helplanguage + sp_helplinkedsrvlogin + sp_helplogins + sp_helpmergearticle + sp_helpmergearticleconflicts + sp_helpmergeconflictrows + sp_helpmergedeleteconflictrows + sp_helpmergefilter + sp_helpmergepublication + sp_helpmergepullsubscription + sp_helpmergesubscription + sp_helpntgroup + sp_helppublication + sp_helppullsubscription + sp_helpremotelogin + sp_helpreplicationdboption + sp_helprole + sp_helprolemember + sp_helprotect + sp_helpserver + sp_helpsort + sp_helpsrvrole + sp_helpsrvrolemember + sp_helpsubscriberinfo + sp_helpsubscription + sp_helpsubscription_properties + sp_helptask + sp_helptext + sp_helptrigger + sp_helpuser + sp_indexes + sp_indexoption + sp_link_publication + sp_linkedservers + sp_lock + sp_makewebtask + sp_manage_jobs_by_login + sp_mergedummyupdate + sp_mergesubscription_cleanup + sp_monitor + sp_msx_defect + sp_msx_enlist + sp_OACreate + sp_OADestroy + sp_OAGetErrorInfo + sp_OAGetProperty + sp_OAMethod + sp_OASetProperty + sp_OAStop + sp_password + sp_pkeys + sp_post_msx_operation + sp_prepare + sp_primarykeys + sp_processmail + sp_procoption + sp_publication_validation + sp_purge_jobhistory + sp_purgehistory + sp_reassigntask + sp_recompile + sp_refreshsubscriptions + sp_refreshview + sp_reinitmergepullsubscription + sp_reinitmergesubscription + sp_reinitpullsubscription + sp_reinitsubscription + sp_remoteoption + sp_remove_job_from_targets + sp_removedbreplication + sp_rename + sp_renamedb + sp_replcmds + sp_replcounters + sp_repldone + sp_replflush + sp_replication_agent_checkup + sp_replicationdboption + sp_replsetoriginator + sp_replshowcmds + sp_repltrans + sp_reset_connection + sp_resync_targetserver + sp_revoke_publication_access + sp_revokedbaccess + sp_revokelogin + sp_runwebtask + sp_script_synctran_commands + sp_scriptdelproc + sp_scriptinsproc + sp_scriptmappedupdproc + sp_scriptupdproc + sp_sdidebug + sp_server_info + sp_serveroption + sp_serveroption + sp_setapprole + sp_setnetname + sp_spaceused + sp_special_columns + sp_sproc_columns + sp_srvrolepermission + sp_start_job + sp_statistics + sp_stop_job + sp_stored_procedures + sp_subscription_cleanup + sp_table_privileges + sp_table_privileges_ex + sp_table_validation + sp_tableoption + sp_tables + sp_tables_ex + sp_unbindefault + sp_unbindrule + sp_unprepare + sp_update_agent_profile + sp_update_alert + sp_update_category + sp_update_job + sp_update_jobschedule + sp_update_jobstep + sp_update_notification + sp_update_operator + sp_update_targetservergroup + sp_updatestats + sp_updatetask + sp_validatelogins + sp_validname + sp_who + xp_cmdshell + xp_deletemail + xp_enumgroups + xp_findnextmsg + xp_findnextmsg + xp_grantlogin + xp_logevent + xp_loginconfig + xp_logininfo + xp_msver + xp_readmail + xp_revokelogin + xp_sendmail + xp_sprintf + xp_sqlinventory + xp_sqlmaint + xp_sqltrace + xp_sscanf + xp_startmail + xp_stopmail + xp_trace_addnewqueue + xp_trace_deletequeuedefinition + xp_trace_destroyqueue + xp_trace_enumqueuedefname + xp_trace_enumqueuehandles + xp_trace_eventclassrequired + xp_trace_flushqueryhistory + xp_trace_generate_event + xp_trace_getappfilter + xp_trace_getconnectionidfilter + xp_trace_getcpufilter + xp_trace_getdbidfilter + xp_trace_getdurationfilter + xp_trace_geteventfilter + xp_trace_geteventnames + xp_trace_getevents + xp_trace_gethostfilter + xp_trace_gethpidfilter + xp_trace_getindidfilter + xp_trace_getntdmfilter + xp_trace_getntnmfilter + xp_trace_getobjidfilter + xp_trace_getqueueautostart + xp_trace_getqueuedestination + xp_trace_getqueueproperties + xp_trace_getreadfilter + xp_trace_getserverfilter + xp_trace_getseverityfilter + xp_trace_getspidfilter + xp_trace_getsysobjectsfilter + xp_trace_gettextfilter + xp_trace_getuserfilter + xp_trace_getwritefilter + xp_trace_loadqueuedefinition + xp_trace_pausequeue + xp_trace_restartqueue + xp_trace_savequeuedefinition + xp_trace_setappfilter + xp_trace_setconnectionidfilter + xp_trace_setcpufilter + xp_trace_setdbidfilter + xp_trace_setdurationfilter + xp_trace_seteventclassrequired + xp_trace_seteventfilter + xp_trace_sethostfilter + xp_trace_sethpidfilter + xp_trace_setindidfilter + xp_trace_setntdmfilter + xp_trace_setntnmfilter + xp_trace_setobjidfilter + xp_trace_setqueryhistory + xp_trace_setqueueautostart + xp_trace_setqueuecreateinfo + xp_trace_setqueuedestination + xp_trace_setreadfilter + xp_trace_setserverfilter + xp_trace_setseverityfilter + xp_trace_setspidfilter + xp_trace_setsysobjectsfilter + xp_trace_settextfilter + xp_trace_setuserfilter + xp_trace_setwritefilter + fn_helpcollations + fn_servershareddrives + fn_virtualfilestats + + + backupfile + backupmediafamily + backupmediaset + backupset + MSagent_parameters + MSagent_profiles + MSarticles + MSdistpublishers + MSdistribution_agents + MSdistribution_history + MSdistributiondbs + MSdistributor + MSlogreader_agents + MSlogreader_history + MSmerge_agents + MSmerge_contents + MSmerge_delete_conflicts + MSmerge_genhistory + MSmerge_history + MSmerge_replinfo + MSmerge_subscriptions + MSmerge_tombstone + MSpublication_access + Mspublications + Mspublisher_databases + MSrepl_commands + MSrepl_errors + Msrepl_originators + MSrepl_transactions + MSrepl_version + MSreplication_objects + MSreplication_subscriptions + MSsnapshot_agents + MSsnapshot_history + MSsubscriber_info + MSsubscriber_schedule + MSsubscription_properties + MSsubscriptions + restorefile + restorefilegroup + restorehistory + sysalerts + sysallocations + sysaltfiles + sysarticles + sysarticleupdates + syscacheobjects + syscategories + syscharsets + syscolumns + syscomments + sysconfigures + sysconstraints + syscurconfigs + sysdatabases + sysdatabases + sysdepends + sysdevices + sysdownloadlist + sysfilegroups + sysfiles + sysforeignkeys + sysfulltextcatalogs + sysindexes + sysindexkeys + sysjobhistory + sysjobs + sysjobschedules + sysjobservers + sysjobsteps + syslanguages + syslockinfo + syslogins + sysmembers + sysmergearticles + sysmergepublications + sysmergeschemachange + sysmergesubscriptions + sysmergesubsetfilters + sysmessages + sysnotifications + sysobjects + sysobjects + sysoledbusers + sysoperators + sysperfinfo + syspermissions + sysprocesses + sysprotects + syspublications + sysreferences + sysremotelogins + sysreplicationalerts + sysservers + sysservers + syssubscriptions + systargetservergroupmembers + systargetservergroups + systargetservers + systaskids + systypes + sysusers + + + diff --git a/extra/xmode/modes/tthtml.xml b/extra/xmode/modes/tthtml.xml new file mode 100644 index 0000000000..24d9667c6c --- /dev/null +++ b/extra/xmode/modes/tthtml.xml @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + " + " + + + + ' + ' + + = + + + + + > + + SRC= + + + + > + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + [%# + %] + + + \[%\s*?PERL\s*?%\] + \[%\s*?END\s*?%\] + + + + [% + %] + + + + + + ${ + } + + + \$#?[\w:]+ + + + . + ( + + " + " + + + + ' + ' + + + = + ! + >= + <= + + + - + / + * + > + < + % + & + | + ^ + ~ + . + } + { + , + ; + ] + [ + ? + + + SET + GET + CALL + DEFAULT + IF + ELSIF + ELSE + UNLESS + LAST + NEXT + FOR + FOREACH + WHILE + SWITCH + CASE + PROCESS + INCLUDE + INSERT + WRAPPER + BLOCK + MACRO + END + USE + IN + FILTER + TRY + THROW + CATCH + FINAL + META + TAGS + DEBUG + PERL + + constants + + template + component + loop + error + content + + + + defined + length + repeat + replace + match + search + split + chunk + list + hash + size + + + keys + values + each + sort + nsort + import + defined + exists + item + + + first + last + max + reverse + join + grep + unshift + push + shift + pop + unique + merge + slice + splice + count + + + format + upper + lower + ucfirst + lcfirst + trim + collapse + html + html_entity + html_para + html_break + html_para_break + html_line_break + uri + url + indent + truncate + repeat + remove + replace + redirect + eval + evaltt + perl + evalperl + stdout + stderr + null + latex + + + diff --git a/extra/xmode/modes/twiki.xml b/extra/xmode/modes/twiki.xml new file mode 100644 index 0000000000..364fec05e0 --- /dev/null +++ b/extra/xmode/modes/twiki.xml @@ -0,0 +1,153 @@ + + + + + + + + + + + + + + + + + + -- + + + -{3}[+]{1,6}(?:!!)?\s + + + \*[^\s*][^*]*\* + + + __\w.*?\w__ + + + _\w.*?\w_ + + + ==\w.*?\w== + + + =\w.*?\w= + + + --- + + + [A-Z][A-Z.]*[a-z.]+(?:[A-Z][A-Z.]*[a-z.]*[a-z])+ + + + + [[ + ]] + + + + + <verbatim> + </verbatim> + + + + <nop> + + + + <noautolink> + </noautolink> + + + + \s{3}\w(?:&nbsp;|-|\w)*?\w+:\s + + + %[A-Z]+(?:\{[^\}]+\})?% + + + + ATTACHURL + ATTACHURLPATH + BASETOPIC + BASEWEB + GMTIME + HOMETOPIC + HTTP_HOST + INCLUDE + INCLUDINGTOPIC + INCLUDINGWEB + MAINWEB + NOTIFYTOPIC + PUBURL + PUBURLPATH + REMOTE_ADDR + REMOTE_PORT + REMOTE_USER + SCRIPTSUFFIX + SCRIPTURL + SCRIPTURLPATH + SEARCH + SERVERTIME + SPACEDTOPIC + STARTINCLUDE + STATISTICSTOPIC + STOPINCLUDE + TOC + TOPIC + TOPICLIST + TWIKIWEB + URLENCODE + URLPARAM + USERNAME + WEB + WEBLIST + WEBPREFSTOPIC + WIKIHOMEURL + WIKINAME + WIKIPREFSTOPIC + WIKITOOLNAME + WIKIUSERNAME + WIKIUSERSTOPIC + WIKIVERSION + + + + + + + diff --git a/extra/xmode/modes/typoscript.xml b/extra/xmode/modes/typoscript.xml new file mode 100644 index 0000000000..b9a705b0e4 --- /dev/null +++ b/extra/xmode/modes/typoscript.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + <INCLUDE + > + + + + = + + + + ( + ) + + + + < + + + # + + /* + */ + + / + + + + [ + ] + + + + { + } + ( + ) + + + + + + + {$ + } + + + + + + + + diff --git a/extra/xmode/modes/uscript.xml b/extra/xmode/modes/uscript.xml new file mode 100644 index 0000000000..c9c947fe89 --- /dev/null +++ b/extra/xmode/modes/uscript.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + /**/ + + + + /* + */ + + + + " + " + + + ' + ' + + + // + + ~ + ! + @ + # + $ + ^ + & + * + - + = + + + | + \\ + : + < + > + / + ? + ` + + : + + + ( + ) + + + abstract + auto + array + case + class + coerce + collapscategories + config + const + default + defaultproperties + deprecated + do + dontcollapsecategories + edfindable + editconst + editinline + editinlinenew + else + enum + event + exec + export + exportstructs + extends + false + final + for + foreach + function + globalconfig + hidecategories + if + ignores + input + iterator + latent + local + localized + native + nativereplication + noexport + noteditinlinenew + notplaceable + operator + optional + out + perobjectconfig + placeable + postoperator + preoperator + private + protected + reliable + replication + return + safereplace + showcategories + simulated + singular + state + static + struct + switch + transient + travel + true + unreliable + until + var + while + within + + default + global + none + self + static + super + + bool + byte + float + int + name + string + + + diff --git a/extra/xmode/modes/vbscript.xml b/extra/xmode/modes/vbscript.xml new file mode 100644 index 0000000000..9f0e9bf8a6 --- /dev/null +++ b/extra/xmode/modes/vbscript.xml @@ -0,0 +1,739 @@ + + + + + + + + + + + + + " + " + + + + #if + #else + #end + + ' + rem + + + < + <= + >= + > + = + <> + . + + + + + + - + * + / + \ + + ^ + + + & + + + + + + + + + : + + + + if + then + else + elseif + select + case + + + + for + to + step + next + + each + in + + do + while + until + loop + + wend + + + exit + end + + + function + sub + class + property + get + let + set + + + byval + byref + + + const + dim + redim + preserve + as + + + set + with + new + + + public + default + private + + + rem + + + call + execute + eval + + + on + error + goto + resume + option + explicit + erase + randomize + + + + is + + mod + + and + or + not + xor + imp + + + false + true + empty + nothing + null + + + + vbblack + vbred + vbgreen + vbyellow + vbblue + vbmagenta + vbcyan + vbwhite + + + + + vbGeneralDate + vbLongDate + vbShortDate + vbLongTime + vbShortTime + + + vbObjectError + Err + + + vbOKOnly + vbOKCancel + vbAbortRetryIgnore + vbYesNoCancel + vbYesNo + vbRetryCancel + vbCritical + vbQuestion + vbExclamation + vbInformation + vbDefaultButton1 + vbDefaultButton2 + vbDefaultButton3 + vbDefaultButton4 + vbApplicationModal + vbSystemModal + vbOK + vbCancel + vbAbort + vbRetry + vbIgnore + vbYes + vbNo + + + vbUseDefault + vbTrue + vbFalse + + + vbcr + vbcrlf + vbformfeed + vblf + vbnewline + vbnullchar + vbnullstring + vbtab + vbverticaltab + + vbempty + vbnull + vbinteger + vblong + vbsingle + vbdouble + vbcurrency + vbdate + vbstring + vbobject + vberror + vbboolean + vbvariant + vbdataobject + vbdecimal + vbbyte + vbarray + + + + array + lbound + ubound + + cbool + cbyte + ccur + cdate + cdbl + cint + clng + csng + cstr + + hex + oct + + date + time + dateadd + datediff + datepart + dateserial + datevalue + day + month + monthname + weekday + weekdayname + year + hour + minute + second + now + timeserial + timevalue + + formatcurrency + formatdatetime + formatnumber + formatpercent + + inputbox + loadpicture + msgbox + + atn + cos + sin + tan + exp + log + sqr + rnd + + rgb + + createobject + getobject + getref + + abs + int + fix + round + sgn + + scriptengine + scriptenginebuildversion + scriptenginemajorversion + scriptengineminorversion + + asc + ascb + ascw + chr + chrb + chrw + filter + instr + instrb + instrrev + join + len + lenb + lcase + ucase + left + leftb + mid + midb + right + rightb + replace + space + split + strcomp + string + strreverse + ltrim + rtrim + trim + + isarray + isdate + isempty + isnull + isnumeric + isobject + typename + vartype + + + + + + + adOpenForwardOnly + adOpenKeyset + adOpenDynamic + adOpenStatic + + + + + adLockReadOnly + adLockPessimistic + adLockOptimistic + adLockBatchOptimistic + + + adRunAsync + adAsyncExecute + adAsyncFetch + adAsyncFetchNonBlocking + adExecuteNoRecords + + + + + adStateClosed + adStateOpen + adStateConnecting + adStateExecuting + adStateFetching + + + adUseServer + adUseClient + + + adEmpty + adTinyInt + adSmallInt + adInteger + adBigInt + adUnsignedTinyInt + adUnsignedSmallInt + adUnsignedInt + adUnsignedBigInt + adSingle + adDouble + adCurrency + adDecimal + adNumeric + adBoolean + adError + adUserDefined + adVariant + adIDispatch + adIUnknown + adGUID + adDate + adDBDate + adDBTime + adDBTimeStamp + adBSTR + adChar + adVarChar + adLongVarChar + adWChar + adVarWChar + adLongVarWChar + adBinary + adVarBinary + adLongVarBinary + adChapter + adFileTime + adDBFileTime + adPropVariant + adVarNumeric + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + adPersistADTG + adPersistXML + + + + + + + + + + + + + + + + + adParamSigned + adParamNullable + adParamLong + + + adParamUnknown + adParamInput + adParamOutput + adParamInputOutput + adParamReturnValue + + + adCmdUnknown + adCmdText + adCmdTable + adCmdStoredProc + adCmdFile + adCmdTableDirect + + + + + + + + + + + + + + + + + + + + + diff --git a/extra/xmode/modes/velocity.xml b/extra/xmode/modes/velocity.xml new file mode 100644 index 0000000000..7fa160afce --- /dev/null +++ b/extra/xmode/modes/velocity.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + + + + + #* + *# + + + ## + + + ${ + } + + + \$!?[A-z][A-z0-9._-]* + + + #set + #foreach + #end + #if + #else + #elseif + #parse + #macro + #stop + #include + + + + + > + + SRC= + + + + + + + + + + > + + + + > + + + + + + + + diff --git a/extra/xmode/modes/verilog.xml b/extra/xmode/modes/verilog.xml new file mode 100644 index 0000000000..ee1602ec43 --- /dev/null +++ b/extra/xmode/modes/verilog.xml @@ -0,0 +1,219 @@ + + + + + + + + + + + + + + + + + + + + + /* + */ + + // + + + + " + " + + + 'd + 'h + 'b + 'o + + + ( + ) + + + = + ! + + + - + / + * + > + < + % + & + | + ^ + ~ + } + { + + + + always + assign + begin + case + casex + casez + default + deassign + disable + else + end + endcase + endfunction + endgenerate + endmodule + endprimitive + endspecify + endtable + endtask + for + force + forever + fork + function + generate + if + initial + join + macromodule + module + negedge + posedge + primitive + repeat + release + specify + table + task + wait + while + + + `include + `define + `undef + `ifdef + `ifndef + `else + `endif + `timescale + `resetall + `signed + `unsigned + `celldefine + `endcelldefine + `default_nettype + `unconnected_drive + `nounconnected_drive + `protect + `endprotect + `protected + `endprotected + `remove_gatename + `noremove_gatename + `remove_netname + `noremove_netname + `expand_vectornets + `noexpand_vectornets + `autoexpand_vectornets + + + integer + reg + time + realtime + defparam + parameter + event + wire + wand + wor + tri + triand + trior + tri0 + tri1 + trireg + vectored + scalared + input + output + inout + + + supply0 + supply1 + strong0 + strong1 + pull0 + pull1 + weak0 + weak1 + highz0 + highz1 + small + medium + large + + + $stop + $finish + $time + $stime + $realtime + $settrace + $cleartrace + $showscopes + $showvars + $monitoron + $monitoroff + $random + $printtimescale + $timeformat + + + and + nand + or + nor + xor + xnor + buf + bufif0 + bufif1 + not + notif0 + notif1 + nmos + pmos + cmos + rnmos + rpmos + rcmos + tran + tranif0 + tranif1 + rtran + rtranif0 + rtranif1 + pullup + pulldown + + + + diff --git a/extra/xmode/modes/vhdl.xml b/extra/xmode/modes/vhdl.xml new file mode 100644 index 0000000000..a5d6dcee58 --- /dev/null +++ b/extra/xmode/modes/vhdl.xml @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + " + " + + + 'event + + + ' + ' + + + -- + = + /= + ! + : + >= + > + <= + < + + + - + / + * + + ** + % + & + | + ^ + ~ + : + + + architecture + alias + assert + entity + process + variable + signal + function + generic + in + out + inout + begin + end + component + use + library + loop + constant + break + case + port + is + to + of + array + catch + continue + default + do + else + elsif + when + then + downto + upto + extends + for + if + implements + instanceof + return + static + switch + type + while + others + all + record + range + wait + + package + import + std_logic + std_ulogic + std_logic_vector + std_ulogic_vector + integer + natural + bit + bit_vector + + + or + nor + not + nand + and + xnor + sll + srl + sla + sra + rol + ror + or + or + mod + rem + abs + + EVENT + BASE + LEFT + RIGHT + LOW + HIGH + ASCENDING + IMAGE + VALUE + POS + VAL + SUCC + VAL + POS + PRED + VAL + POS + LEFTOF + RIGHTOF + LEFT + RIGHT + LOW + HIGH + RANGE + REVERSE + LENGTH + ASCENDING + DELAYED + STABLE + QUIET + TRANSACTION + EVENT + ACTIVE + LAST + LAST + LAST + DRIVING + DRIVING + SIMPLE + INSTANCE + PATH + + rising_edge + shift_left + shift_right + rotate_left + rotate_right + resize + std_match + to_integer + to_unsigned + to_signed + unsigned + signed + to_bit + to_bitvector + to_stdulogic + to_stdlogicvector + to_stdulogicvector + + false + true + + + diff --git a/extra/xmode/modes/xml.xml b/extra/xmode/modes/xml.xml new file mode 100644 index 0000000000..116be46054 --- /dev/null +++ b/extra/xmode/modes/xml.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + <!-- + --> + + + + + <!ENTITY + > + + + + + <![CDATA[ + ]]> + + + + + <! + > + + + + + <? + > + + + + + < + > + + + + + & + ; + + + + + + <!-- + --> + + + + " + " + + + + ' + ' + + + / + : + + + + + <!-- + --> + + + + + -- + -- + + + + + % + ; + + + + " + " + + + + ' + ' + + + + + [ + ] + + + ( + ) + | + ? + * + + + , + + + CDATA + EMPTY + INCLUDE + IGNORE + NDATA + #IMPLIED + #PCDATA + #REQUIRED + + + + + + <!-- + --> + + + + + -- + -- + + + + " + " + + + + ' + ' + + + = + + % + + + SYSTEM + + + + + + diff --git a/extra/xmode/modes/xq.xml b/extra/xmode/modes/xq.xml new file mode 100644 index 0000000000..b49dc68f2e --- /dev/null +++ b/extra/xmode/modes/xq.xml @@ -0,0 +1,462 @@ + + + + + + + + + + + + + + + + + + + + + + + + <!-- + --> + + + + + + <!ENTITY + > + + + + + <![CDATA[ + ]]> + + + + + <! + > + + + + + <? + > + + + + + + > + + + + + & + ; + + + + + + + <!-- + --> + + + + " + " + + + + ' + ' + + + + / + : + + + + + + <!-- + --> + + + + + -- + -- + + + + + % + ; + + + + " + " + + + + ' + ' + + + + + [ + ] + + + ( + ) + | + ? + * + + + , + + + CDATA + EMPTY + INCLUDE + IGNORE + NDATA + #IMPLIED + #PCDATA + #REQUIRED + + + + + + + <!-- + --> + + + + + -- + -- + + + + " + " + + + + ' + ' + + + = + + % + + + SYSTEM + + + + + + + + + + + + (: + :) + + + + " + " + + + ' + ' + + + $ + + + + + ( + ) + + , + + = + != + > + >= + < + <= + + << + >> + + + + + * + + + + | + + / + // + + } + { + + + some + every + + or + and + + instance of + + treat as + + castable as + + cast as + + eq + ne + lt + gt + ge + is + + to + + div + idiv + mod + + union + + intersect + except + + return + for + in + to + at + + let + := + + where + + stable + order + by + + ascending + descending + + greatest + least + collation + + typeswitch + default + + cast + as + if + then + else + + true + false + + xquery + version + + declare + function + library + variable + module + namespace + local + + validate + import + schema + validation + collection + + ancestor + descendant + self + parent + child + self + descendant-or-self + ancestor-or-self + preceding-sibling + following-sibling + following + preceding + + xs:integer + xs:decimal + xs:double + xs:string + xs:date + xs:time + xs:dateTime + xs:boolean + + item + element + attribute + comment + document + document-node + node + empty + + zero-or-one + avg + base-uri + boolean + ceiling + codepoints-to-string + collection + compare + concat + contains + count + current-date + current-dateTime + current-time + data + day-from-date + day-from-dateTime + days-from-duration + deep-equal + distinct-values + doc + adjust-time-to-timezone + adjust-dateTime-to-timezone + string-length + string-join + string + starts-with + seconds-from-time + seconds-from-duration + seconds-from-dateTime + round-half-to-even + round + root + reverse + replace + remove + prefix-from-QName + position + one-or-more + number + QName + abs + adjust-date-to-timezone + doc-available + doctype + document + last + local-name + local-name-from-QName + lower-case + match-all + match-any + matches + max + min + minutes-from-dateTime + minutes-from-duration + minutes-from-time + month-from-date + month-from-dateTime + name + namespace-uri + namespace-uri-for-prefix + namespace-uri-from-QName + node-name + normalize-space + lang + item-at + document-uri + empty + encode-for-uri + ends-with + error + escape-html-uri + escape-uri + exactly-one + exists + false + floor + hours-from-dateTime + hours-from-duration + hours-from-time + id + implicit-timezone + in-scope-prefixes + index-of + insert-before + iri-to-uri + string-pad + string-to-codepoints + sum + timezone-from-date + timezone-from-dateTime + timezone-from-time + not + tokenize + translate + true + unordered + upper-case + xcollection + year-from-date + year-from-dateTime + substring-before + subsequence + substring + substring-after + + + + + diff --git a/extra/xmode/modes/xsl.xml b/extra/xmode/modes/xsl.xml new file mode 100644 index 0000000000..94a5610165 --- /dev/null +++ b/extra/xmode/modes/xsl.xml @@ -0,0 +1,436 @@ + + + + + + + + + + + + + + + <!-- + --> + + + + + <(?=xsl:) + > + + + + <(?=/xsl:) + > + + + + + <![CDATA[ + ]]> + + + + + <! + > + + + + + & + ; + + + + + <? + ?> + + + + + < + > + + + + + + + + DEBUG: + DONE: + FIXME: + IDEA: + NOTE: + QUESTION: + TODO: + XXX + ??? + + + + + + + + + " + " + + + ' + ' + + + + xmlns: + + xmlns + + + : + + + + + + + + {{ + }} + + + + { + } + + + + + & + ; + + + + + + + + + + " + " + + + ' + ' + + + + + + count[\p{Space}]*=[\p{Space}]*" + " + + + count[\p{Space}]*=[\p{Space}]*' + ' + + + + from[\p{Space}]*=[\p{Space}]*" + " + + + from[\p{Space}]*=[\p{Space}]*' + ' + + + + group-adjacent[\p{Space}]*=[\p{Space}]*" + " + + + group-adjacent[\p{Space}]*=[\p{Space}]*' + ' + + + + group-by[\p{Space}]*=[\p{Space}]*" + " + + + group-by[\p{Space}]*=[\p{Space}]*' + ' + + + + group-ending-with[\p{Space}]*=[\p{Space}]*" + " + + + group-ending-with[\p{Space}]*=[\p{Space}]*' + ' + + + + group-starting-with[\p{Space}]*=[\p{Space}]*" + " + + + group-starting-with[\p{Space}]*=[\p{Space}]*' + ' + + + + match[\p{Space}]*=[\p{Space}]*" + " + + + match[\p{Space}]*=[\p{Space}]*' + ' + + + + select[\p{Space}]*=[\p{Space}]*" + " + + + select[\p{Space}]*=[\p{Space}]*' + ' + + + + test[\p{Space}]*=[\p{Space}]*" + " + + + test[\p{Space}]*=[\p{Space}]*' + ' + + + + use[\p{Space}]*=[\p{Space}]*" + " + + + use[\p{Space}]*=[\p{Space}]*' + ' + + + + xmlns: + + xmlns + + + : + + + + analyze-string + apply-imports + apply-templates + attribute + attribute-set + call-template + character-map + choose + comment + copy + copy-of + date-format + decimal-format + element + fallback + for-each + for-each-group + function + if + import + import-schema + include + key + matching-substring + message + namespace + namespace-alias + next-match + non-matching-substring + number + otherwise + output + output-character + param + preserve-space + processing-instruction + result-document + sequence + sort + sort-key + strip-space + stylesheet + template + text + transform + value-of + variable + when + with-param + + + + + + + + " + " + + + ' + ' + + + + + (: + :) + + + + :: + + @ + + + + = + != + > + &gt; + &lt; + + ? + + + + + * + + / + + | + + , + + + + [ + ] + + + + + & + ; + + + + : + + + ( + ) + + + $ + + + + and + as + castable + div + else + eq + every + except + for + ge + gt + idiv + if + in + instance + intersect + is + isnot + le + lt + mod + nillable + ne + of + or + return + satisfies + some + then + to + treat + union + + + - + + + + + + + + + (: + :) + + + + + + + (: + :) + + + + diff --git a/extra/xmode/modes/zpt.xml b/extra/xmode/modes/zpt.xml new file mode 100644 index 0000000000..f962acff72 --- /dev/null +++ b/extra/xmode/modes/zpt.xml @@ -0,0 +1,173 @@ + + + + + + + + + + + + + + + <!-- + --> + + + + + <SCRIPT + </SCRIPT> + + + + + <STYLE + </STYLE> + + + + + <! + > + + + + + < + > + + + + + & + ; + + + + + + + " + " + + + + ' + ' + + + = + + + + tal + attributes + define + condition + content + omit-tag + on-error + repeat + replace + + + metal + define-macro + define-slot + fill-slot + use-macro + + + + + : + ; + ? + | + $$ + + + " + " + + + + ' + ' + + + + ${ + } + + $ + + + + + exists + nocall + not + path + python + string + structure + + + + CONTEXTS + attrs + container + default + here + modules + nothing + options + repeat + request + root + template + user + + + index + number + even + odd + start + end + first + last + length + letter + Letter + roman + Roman + + + + + > + SRC= + + + + > + + + + > + + + diff --git a/extra/xmode/rules/rules-tests.factor b/extra/xmode/rules/rules-tests.factor new file mode 100644 index 0000000000..404dbb89fb --- /dev/null +++ b/extra/xmode/rules/rules-tests.factor @@ -0,0 +1,6 @@ +IN: temporary +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 new file mode 100755 index 0000000000..7206668edb --- /dev/null +++ b/extra/xmode/rules/rules.factor @@ -0,0 +1,112 @@ +USING: xmode.tokens xmode.keyword-map kernel +sequences vectors assocs strings memoize ; +IN: xmode.rules + +! 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 +; + +: init-rule-set ( ruleset -- ) + #! Call after constructor. + >r H{ } clone H{ } clone V{ } clone f r> + { + set-rule-set-rules + set-rule-set-props + set-rule-set-imports + set-rule-set-keywords + } set-slots ; + +: ( -- ruleset ) + rule-set construct-empty dup init-rule-set ; + +MEMO: standard-rule-set ( id -- ruleset ) + [ set-rule-set-default ] keep ; + +: import-rule-set ( import ruleset -- ) + rule-set-imports push ; + +: inverted-index ( hashes key index -- ) + [ swapd [ ?push ] change-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 ) + dup rule-set-keywords keyword-map-no-word-sep* + swap rule-set-no-word-sep "_" 3append ; + +! Match restrictions +TUPLE: matcher text at-line-start? at-whitespace-end? at-word-start? ; + +C: 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 +; + +: construct-rule ( class -- rule ) + >r rule construct-empty r> construct-delegate ; inline + +TUPLE: seq-rule ; + +TUPLE: span-rule ; + +TUPLE: eol-span-rule ; + +: init-span ( rule -- ) + dup rule-delegate [ drop ] [ + dup rule-body-token standard-rule-set + swap set-rule-delegate + ] if ; + +: init-eol-span ( rule -- ) + dup init-span + t swap set-rule-no-line-break? ; + +TUPLE: mark-following-rule ; + +TUPLE: mark-previous-rule ; + +TUPLE: escape-rule ; + +: ( string -- rule ) + f f f + escape-rule construct-rule + [ set-rule-start ] keep ; + +: rule-chars* ( rule -- string ) + dup rule-chars + swap rule-start matcher-text + dup string? [ first add ] [ drop ] if ; + +: add-rule ( rule ruleset -- ) + >r dup rule-chars* >upper swap + r> rule-set-rules inverted-index ; + +: add-escape-rule ( string ruleset -- ) + >r r> + 2dup set-rule-set-escape-rule + add-rule ; diff --git a/extra/xmode/summary.txt b/extra/xmode/summary.txt new file mode 100644 index 0000000000..4482fb8b86 --- /dev/null +++ b/extra/xmode/summary.txt @@ -0,0 +1 @@ +Syntax highlighting engine using jEdit mode files diff --git a/extra/xmode/tokens/tokens.factor b/extra/xmode/tokens/tokens.factor new file mode 100644 index 0000000000..14a48582ec --- /dev/null +++ b/extra/xmode/tokens/tokens.factor @@ -0,0 +1,21 @@ +USING: parser words sequences namespaces kernel assocs ; +IN: xmode.tokens + +! Based on org.gjt.sp.jedit.syntax.Token +SYMBOL: tokens + +: string>token ( string -- id ) tokens get at ; + +: TOKENS: + ";" parse-tokens [ + create-in dup define-symbol + dup word-name swap + ] H{ } map>assoc tokens set-global ; parsing + +TOKENS: COMMENT1 COMMENT2 COMMENT3 COMMENT4 DIGIT FUNCTION +INVALID KEYWORD1 KEYWORD2 KEYWORD3 KEYWORD4 LABEL LITERAL1 +LITERAL2 LITERAL3 LITERAL4 MARKUP OPERATOR END NULL ; + +TUPLE: token str id ; + +C: token diff --git a/extra/xmode/utilities/test.xml b/extra/xmode/utilities/test.xml new file mode 100644 index 0000000000..09a83fabc8 --- /dev/null +++ b/extra/xmode/utilities/test.xml @@ -0,0 +1 @@ +VP SalesCFO diff --git a/extra/xmode/utilities/utilities-tests.factor b/extra/xmode/utilities/utilities-tests.factor new file mode 100644 index 0000000000..ed8193cdcf --- /dev/null +++ b/extra/xmode/utilities/utilities-tests.factor @@ -0,0 +1,53 @@ +IN: temporary +USING: xmode.utilities tools.test xml xml.data +kernel strings vectors sequences io.files prettyprint assocs ; + +[ 3 "hi" ] [ + { 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 ; + +: V{ } clone f company construct-boa ; + +: add-employee company-employees push ; + + + +\ parse-employee-tag see + +: parse-company-tag + [ + + { { "type" >upper set-company-type } } + init-from-tag dup + ] keep + tag-children [ tag? ] subset + [ parse-employee-tag ] curry* each ; + +[ + T{ company f + V{ + T{ employee f "Joe" "VP Sales" } + T{ employee f "Jane" "CFO" } + } + "PUBLIC" + "This is a great company" + } +] [ + "extra/xmode/utilities/test.xml" + resource-path read-xml parse-company-tag +] unit-test diff --git a/extra/xmode/utilities/utilities.factor b/extra/xmode/utilities/utilities.factor new file mode 100644 index 0000000000..d4096b17e0 --- /dev/null +++ b/extra/xmode/utilities/utilities.factor @@ -0,0 +1,58 @@ +USING: sequences assocs kernel quotations namespaces xml.data +xml.utilities combinators macros parser words ; +IN: xmode.utilities + +: implies >r not r> or ; inline + +: child-tags ( tag -- seq ) tag-children [ tag? ] subset ; + +: 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 ] swap compose ] } + { [ 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 ] swap compose 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 + +: + tag-handler-word get + tag-handlers get >alist [ >r dup name-tag r> case ] curry + define-compound ; parsing diff --git a/extra/xmode/xmode.dtd b/extra/xmode/xmode.dtd new file mode 100644 index 0000000000..d96df445fa --- /dev/null +++ b/extra/xmode/xmode.dtd @@ -0,0 +1,166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/misc/factor.el b/misc/factor.el index 88af0a6dab..985e10e285 100644 --- a/misc/factor.el +++ b/misc/factor.el @@ -113,13 +113,6 @@ (defvar factor-binary "/scratch/repos/Factor/factor") (defvar factor-image "/scratch/repos/Factor/factor.image") -(defun run-factor () - (interactive) - (switch-to-buffer - (make-comint-in-buffer "factor" nil factor-binary nil - (concat "-i=" factor-image) - "-run=listener"))) - (defun factor-telnet-to-port (port) (interactive "nPort: ") (switch-to-buffer @@ -166,12 +159,30 @@ (beginning-of-line) (insert "! ")) -(defun factor-refresh-all () - (interactive) - (comint-send-string "*factor*" "refresh-all\n")) - (define-key factor-mode-map "\C-c\C-f" 'factor-run-file) (define-key factor-mode-map "\C-c\C-r" 'factor-send-region) (define-key factor-mode-map "\C-c\C-s" 'factor-see) -(define-key factor-mode-map "\C-ce" 'factor-edit) +(define-key factor-mode-map "\C-ce" 'factor-edit) (define-key factor-mode-map "\C-c\C-h" 'factor-help) +(define-key factor-mode-map "\C-cc" 'comment-region) +(define-key factor-mode-map [return] 'newline-and-indent) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; factor-listener-mode +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(define-derived-mode factor-listener-mode comint-mode "Factor Listener") + +(define-key factor-listener-mode-map [f8] 'factor-refresh-all) + +(defun run-factor () + (interactive) + (switch-to-buffer + (make-comint-in-buffer "factor" nil factor-binary nil + (concat "-i=" factor-image) + "-run=listener")) + (factor-listener-mode)) + +(defun factor-refresh-all () + (interactive) + (comint-send-string "*factor*" "refresh-all\n")) \ No newline at end of file diff --git a/misc/factor.sh b/misc/factor.sh index 98f9104549..11ea2a9cdf 100755 --- a/misc/factor.sh +++ b/misc/factor.sh @@ -32,12 +32,16 @@ check_ret() { } check_gcc_version() { + echo -n "Checking gcc version..." GCC_VERSION=`gcc --version` + check_ret gcc if [[ $GCC_VERSION == *3.3.* ]] ; then + echo "bad!" echo "You have a known buggy version of gcc (3.3)" echo "Install gcc 3.4 or higher and try again." exit 3 fi + echo "ok." } check_installed_programs() { @@ -53,16 +57,20 @@ check_installed_programs() { check_library_exists() { GCC_TEST=factor-library-test.c GCC_OUT=factor-library-test.out - echo "Checking for library $1" + echo -n "Checking for library $1..." echo "int main(){return 0;}" > $GCC_TEST gcc $GCC_TEST -o $GCC_OUT -l $1 if [[ $? -ne 0 ]] ; then + echo "not found!" echo "Warning: library $1 not found." echo "***Factor will compile NO_UI=1" NO_UI=1 fi rm -f $GCC_TEST + check_ret rm rm -f $GCC_OUT + check_ret rm + echo "found." } check_X11_libraries() { @@ -87,7 +95,9 @@ check_factor_exists() { } find_os() { + echo "Finding OS..." uname_s=`uname -s` + check_ret uname case $uname_s in CYGWIN_NT-5.2-WOW64) OS=windows-nt;; *CYGWIN_NT*) OS=windows-nt;; @@ -100,11 +110,14 @@ find_os() { } find_architecture() { + echo "Finding ARCH..." uname_m=`uname -m` + check_ret uname case $uname_m in i386) ARCH=x86;; i686) ARCH=x86;; *86) ARCH=x86;; + *86_64) ARCH=x86;; "Power Macintosh") ARCH=ppc;; esac } @@ -115,6 +128,7 @@ write_test_program() { } find_word_size() { + echo "Finding WORD..." C_WORD=factor-word-size write_test_program gcc -o $C_WORD $C_WORD.c @@ -142,6 +156,9 @@ echo_build_info() { set_build_info() { if ! [[ -n $OS && -n $ARCH && -n $WORD ]] ; then + echo "OS: $OS" + echo "ARCH: $ARCH" + echo "WORD: $WORD" echo "OS, ARCH, or WORD is empty. Please report this" exit 5 fi @@ -170,6 +187,7 @@ git_clone() { } git_pull_factorcode() { + echo "Updating the git repository from factorcode.org..." git pull git://factorcode.org/git/factor.git check_ret git } @@ -203,11 +221,11 @@ get_boot_image() { maybe_download_dlls() { if [[ $OS == windows-nt ]] ; then wget http://factorcode.org/dlls/freetype6.dll - check_ret + check_ret wget wget http://factorcode.org/dlls/zlib1.dll - check_ret + check_ret wget chmod 777 *.dll - check_ret + check_ret chmod fi } @@ -216,7 +234,7 @@ bootstrap() { } usage() { - echo "usage: $0 install|update" + echo "usage: $0 install|install-x11|update|quick-update" } install() { @@ -239,13 +257,26 @@ update() { git_pull_factorcode make_clean make_factor +} + +update_bootstrap() { delete_boot_images get_boot_image bootstrap } +refresh_image() { + ./$FACTOR_BINARY -e="refresh-all save 0 USE: system exit" +} + +install_libraries() { + sudo apt-get install libc6-dev libfreetype6-dev wget git-core git-doc libx11-dev glutg3-dev rlwrap +} + case "$1" in install) install ;; - update) update ;; + install-x11) install_libraries; install ;; + quick-update) update; refresh_image ;; + update) update; update_bootstrap ;; *) usage ;; esac diff --git a/unmaintained/alarms/alarms.factor b/unmaintained/alarms/alarms.factor deleted file mode 100644 index 0402ead8f4..0000000000 --- a/unmaintained/alarms/alarms.factor +++ /dev/null @@ -1,89 +0,0 @@ -! Copyright (C) 2007 Doug Coleman. -! See http://factorcode.org/license.txt for BSD license. - -USING: arrays calendar concurrency generic kernel math -namespaces sequences threads ; -IN: alarms-internals - -! for now a V{ }, eventually a min-heap to store alarms -SYMBOL: alarms -SYMBOL: alarm-receiver -SYMBOL: alarm-looper - -TUPLE: alarm time quot ; - -: add-alarm ( alarm -- ) - alarms get-global push ; - -: remove-alarm ( alarm -- ) - alarms get-global remove alarms set-global ; - -: handle-alarm ( alarm -- ) - dup delegate { - { "register" [ add-alarm ] } - { "unregister" [ remove-alarm ] } - } case ; - -: expired-alarms ( -- seq ) - now alarms get-global - [ alarm-time compare-timestamps 0 > ] subset-with ; - -: unexpired-alarms ( -- seq ) - now alarms get-global - [ alarm-time compare-timestamps 0 <= ] subset-with ; - -: call-alarm ( alarm -- ) - alarm-quot spawn drop ; - -: do-alarms ( -- ) - alarms get-global expired-alarms - [ call-alarm ] each - unexpired-alarms alarms set-global ; - -: alarm-receive-loop ( -- ) - receive dup alarm? [ handle-alarm ] [ drop ] if - alarm-receive-loop ; - -: start-alarm-receiver ( -- ) - [ - alarm-receive-loop - ] spawn alarm-receiver set-global ; - -: alarm-loop ( -- ) - alarms get-global empty? [ - do-alarms - ] unless 100 sleep alarm-loop ; - -: start-alarm-looper ( -- ) - [ - alarm-loop - ] spawn alarm-looper set-global ; - -: send-alarm ( alarm -- ) - over set-delegate - alarm-receiver get-global send ; - -: start-alarm-daemon ( -- process ) - alarms get-global [ - V{ } clone alarms set-global - start-alarm-looper - start-alarm-receiver - ] unless ; - -start-alarm-daemon - -IN: alarms - -: register-alarm ( alarm -- ) - "register" send-alarm ; - -: unregister-alarm ( alarm -- ) - "unregister" send-alarm ; - -: change-alarm ( alarm-old alarm-new -- ) - "register" send-alarm - "unregister" send-alarm ; - - -! Example: -! now 5 seconds +dt [ "hi" print flush ] register-alarm diff --git a/unmaintained/alarms/load.factor b/unmaintained/alarms/load.factor deleted file mode 100644 index 4b52ce6c79..0000000000 --- a/unmaintained/alarms/load.factor +++ /dev/null @@ -1,5 +0,0 @@ -REQUIRES: libs/calendar libs/concurrency ; -PROVIDE: libs/alarms -{ +files+ { - "alarms.factor" -} } ; diff --git a/unmaintained/random-tester/load.factor b/unmaintained/random-tester/load.factor deleted file mode 100644 index ba69545e3b..0000000000 --- a/unmaintained/random-tester/load.factor +++ /dev/null @@ -1,9 +0,0 @@ -REQUIRES: libs/lazy-lists libs/null-stream libs/shuffle ; -PROVIDE: apps/random-tester -{ +files+ { - "utils.factor" - "random.factor" - "random-tester.factor" - "random-tester2.factor" - "type.factor" -} } ; diff --git a/unmaintained/random-tester/random-tester.factor b/unmaintained/random-tester/random-tester.factor deleted file mode 100644 index 649ca9d345..0000000000 --- a/unmaintained/random-tester/random-tester.factor +++ /dev/null @@ -1,301 +0,0 @@ -USING: kernel math math-internals memory sequences namespaces errors -assocs words arrays parser compiler syntax io -quotations tools prettyprint optimizer inference ; -IN: random-tester - -! n-foo>bar -- list of words of type 'foo' that take n parameters -! and output a 'bar' - - -! Math vocabulary words -: 1-x>y - { - 1+ 1- >bignum >digit >fixnum abs absq arg - bitnot bits>double bits>float ceiling cis conjugate cos cosec cosech - cosh cot coth denominator double>bits exp float>bits floor imaginary - log neg numerator real sec ! next-power-of-2 - sech sgn sin sinh sq sqrt tan tanh truncate - } ; - -: 1-x>y-throws - { - recip log2 - asec asech acot acoth acosec acosech acos acosh asin asinh atan atanh - } ; - -: 2-x>y ( -- seq ) { * + - /f max min polar> bitand bitor bitxor align } ; -: 2-x>y-throws ( -- seq ) { / /i mod rem } ; - -: 1-integer>x - { - 1+ 1- >bignum >digit >fixnum abs absq arg - bitnot bits>double bits>float ceiling cis conjugate cos cosec cosech - cosh cot coth denominator exp floor imaginary - log neg next-power-of-2 numerator real sec - sech sgn sin sinh sq sqrt tan tanh truncate - } ; - -: 1-ratio>x - { - 1+ 1- >bignum >digit >fixnum abs absq arg ceiling - cis conjugate cos cosec cosech - cosh cot coth exp floor imaginary - log neg next-power-of-2 real sec - sech sgn sin sinh sq sqrt tan tanh truncate - } ; - -: 1-float>x ( -- seq ) - { - 1+ 1- >bignum >digit >fixnum abs absq arg - ceiling cis conjugate cos cosec cosech - cosh cot coth double>bits exp float>bits floor imaginary - log neg real sec ! next-power-of-2 - sech sgn sin sinh sq sqrt tan tanh truncate - } ; - -: 1-complex>x - { - 1+ 1- abs absq arg conjugate cos cosec cosech - cosh cot coth exp imaginary log neg real - sec sech sin sinh sq sqrt tan tanh - } ; - -: 1-integer>x-throws - { - recip log2 - asec asech acot acoth acosec acosech acos acosh asin asinh atan atanh - } ; - -: 1-ratio>x-throws - { - recip - asec asech acot acoth acosec acosech acos acosh asin asinh atan atanh - } ; - -: 1-integer>integer - { - 1+ 1- >bignum >digit >fixnum abs absq bitnot ceiling conjugate - denominator floor imaginary - neg next-power-of-2 numerator real sgn sq truncate - } ; - -: 1-ratio>ratio - { 1+ 1- >digit abs absq conjugate neg real sq } ; - -: 1-float>float - { - 1+ 1- >digit abs absq arg ceiling - conjugate exp floor neg real sq truncate - } ; - -: 1-complex>complex - { - 1+ 1- abs absq arg conjugate cosec cosech cosh cot coth exp log - neg sech sin sinh sq sqrt tanh - } ; - -: 2-integer>x { * + - /f max min polar> bitand bitor bitxor align } ; -: 2-ratio>x { * + - /f max min polar> } ; -: 2-float>x { float+ float- float* float/f + - * /f max min polar> } ; -: 2-complex>x { * + - /f } ; - -: 2-integer>integer { * + - max min bitand bitor bitxor align } ; -: 2-ratio>ratio { * + - max min } ; -: 2-float>float { float* float+ float- float/f max min /f + - } ; -: 2-complex>complex { * + - /f } ; - - -SYMBOL: last-quot -SYMBOL: first-arg -SYMBOL: second-arg -: 0-runtime-check ( quot -- ) - #! Checks the runtime only, not the compiler - #! Evaluates the quotation twice and makes sure the results agree - [ last-quot set ] keep - [ call ] keep - call - ! 2dup swap unparse write " " write unparse print flush - = [ last-quot get . "problem in runtime" throw ] unless ; - -: 1-runtime-check ( quot -- ) - #! Checks the runtime only, not the compiler - #! Evaluates the quotation twice and makes sure the results agree - #! For quotations that are given one argument - [ last-quot set first-arg set ] 2keep - [ call ] 2keep - call - 2dup swap unparse write " " write unparse print flush - = [ "problem in runtime" throw ] unless ; - -: 1-interpreted-vs-compiled-check ( x quot -- ) - #! Checks the runtime output vs the compiler output - #! quot: ( x -- y ) - 2dup swap unparse write " " write . flush - [ last-quot set first-arg set ] 2keep - [ call ] 2keep compile-1 - 2dup swap unparse write " " write unparse print flush - = [ "problem in math1" throw ] unless ; - -: 2-interpreted-vs-compiled-check ( x y quot -- ) - #! Checks the runtime output vs the compiler output - #! quot: ( x y -- z ) - .s flush - [ last-quot set first-arg set second-arg set ] 3keep - [ call ] 3keep compile-1 - 2dup swap unparse write " " write unparse print flush - = [ "problem in math2" throw ] unless ; - -: 0-interpreted-vs-compiled-check-catch ( quot -- ) - #! Check the runtime output vs the compiler output for words that throw - #! - dup . - [ last-quot set ] keep - [ catch [ "caught: " write dup print-error ] when* ] keep - [ compile-1 ] catch [ nip "caught: " write dup print-error ] when* - = [ "problem in math3" throw ] unless ; - -: 1-interpreted-vs-compiled-check-catch ( quot -- ) - #! Check the runtime output vs the compiler output for words that throw - 2dup swap unparse write " " write . - ! "." write - [ last-quot set first-arg set ] 2keep - [ catch [ nip "caught: " write dup print-error ] when* ] 2keep - [ compile-1 ] catch [ 2nip "caught: " write dup print-error ] when* - = [ "problem in math4" throw ] unless ; - -: 2-interpreted-vs-compiled-check-catch ( quot -- ) - #! Check the runtime output vs the compiler output for words that throw - ! 3dup rot unparse write " " write swap unparse write " " write . - "." write - [ last-quot set first-arg set second-arg set ] 3keep - [ catch [ 2nip "caught: " write dup print-error ] when* ] 3keep - [ compile-1 ] catch [ 2nip nip "caught: " write dup print-error ] when* - = [ "problem in math5" throw ] unless ; - - -! RANDOM QUOTATIONS TO TEST -: random-1-integer>x-quot ( -- quot ) 1-integer>x random 1quotation ; -: random-1-ratio>x-quot ( -- quot ) 1-ratio>x random 1quotation ; -: random-1-float>x-quot ( -- quot ) 1-float>x random 1quotation ; -: random-1-complex>x-quot ( -- quot ) 1-complex>x random 1quotation ; - -: test-1-integer>x ( -- ) - random-integer random-1-integer>x-quot 1-interpreted-vs-compiled-check ; -: test-1-ratio>x ( -- ) - random-ratio random-1-ratio>x-quot 1-interpreted-vs-compiled-check ; -: test-1-float>x ( -- ) - random-float random-1-float>x-quot 1-interpreted-vs-compiled-check ; -: test-1-complex>x ( -- ) - random-complex random-1-complex>x-quot 1-interpreted-vs-compiled-check ; - - -: random-1-float>float-quot ( -- obj ) 1-float>float random 1quotation ; -: random-2-float>float-quot ( -- obj ) 2-float>float random 1quotation ; -: nrandom-2-float>float-quot ( -- obj ) - [ - 5 - [ - { - [ 2-float>float random , random-float , ] - [ 1-float>float random , ] - } do-one - ] times - 2-float>float random , - ] [ ] make ; - -: test-1-float>float ( -- ) - random-float random-1-float>float-quot 1-interpreted-vs-compiled-check ; -: test-2-float>float ( -- ) - random-float random-float random-2-float>float-quot - 2-interpreted-vs-compiled-check ; - -: test-n-2-float>float ( -- ) - random-float random-float nrandom-2-float>float-quot - 2-interpreted-vs-compiled-check ; - -: test-1-integer>x-runtime ( -- ) - random-integer random-1-integer>x-quot 1-runtime-check ; - -: random-1-integer>x-throws-quot ( -- obj ) 1-integer>x-throws random 1quotation ; -: random-1-ratio>x-throws-quot ( -- obj ) 1-ratio>x-throws random 1quotation ; -: test-1-integer>x-throws ( -- obj ) - random-integer random-1-integer>x-throws-quot - 1-interpreted-vs-compiled-check-catch ; -: test-1-ratio>x-throws ( -- obj ) - random-ratio random-1-ratio>x-throws-quot - 1-interpreted-vs-compiled-check-catch ; - - - -: test-2-integer>x-throws ( -- ) - [ - random-integer , random-integer , - 2-x>y-throws random , - ] [ ] make 2-interpreted-vs-compiled-check-catch ; - -! : test-^-ratio ( -- ) - ! [ - ! random-ratio , random-ratio , \ ^ , - ! ] [ ] make interp-compile-check-catch ; - -: test-0-float?-when - [ - random-number , \ dup , \ float? , 1-float>x random 1quotation , \ when , - ] [ ] make 0-runtime-check ; - -: test-1-integer?-when - random-integer [ - \ dup , \ integer? , 1-integer>x random 1quotation , \ when , - ] [ ] make 1-interpreted-vs-compiled-check ; - -: test-1-ratio?-when - random-ratio [ - \ dup , \ ratio? , 1-ratio>x random 1quotation , \ when , - ] [ ] make 1-interpreted-vs-compiled-check ; - -: test-1-float?-when - random-float [ - \ dup , \ float? , 1-float>x random 1quotation , \ when , - ] [ ] make 1-interpreted-vs-compiled-check ; - -: test-1-complex?-when - random-complex [ - \ dup , \ complex? , 1-complex>x random 1quotation , \ when , - ] [ ] make 1-interpreted-vs-compiled-check ; - - -: many-word-test ( -- ) - #! defines words a1000 down to a0, which does a trivial addition - "random-tester-scratchpad" vocabularies get delete-at - "random-tester-scratchpad" set-in - "a0" "random-tester-scratchpad" create [ 1 1 + ] define-compound - 100 [ - [ 1+ "a" swap unparse append "random-tester-scratchpad" create ] keep - "a" swap unparse append [ parse ] catch [ :1 ] when define-compound - ] each ; - -: compile-loop ( -- ) - 10 [ many-word-test "a100" parse first compile ] times ; - -: random-test - "----" print - { - test-1-integer>x - test-1-ratio>x - test-1-float>x - test-1-complex>x - test-1-integer>x-throws - test-1-ratio>x-throws - test-1-float>float - test-2-float>float - ! test-n-2-float>float - test-1-integer>x-runtime - ! test-0-float?-when - test-1-integer?-when - test-1-ratio?-when - test-1-float?-when - test-1-complex?-when - ! full-gc - ! code-gc - } random dup . execute nl ; - diff --git a/unmaintained/random-tester/random-tester2.factor b/unmaintained/random-tester/random-tester2.factor deleted file mode 100644 index 8a49830f12..0000000000 --- a/unmaintained/random-tester/random-tester2.factor +++ /dev/null @@ -1,186 +0,0 @@ -USING: compiler errors inference interpreter io kernel math -memory namespaces prettyprint random-tester sequences tools -quotations words arrays definitions generic graphs -hashtables byte-arrays assocs network ; -IN: random-tester2 - -: dangerous-words ( -- array ) - { - die - set-walker-hook exit - >r r> ndrop - - set-callstack set-word set-word-prop - set-catchstack set-namestack set-retainstack - set-continuation-retain continuation-catch - set-continuation-name catchstack retainstack - set-no-math-method-generic - set-no-math-method-right - set-check-method-class - set-check-create-name - set-pathname-string - set-check-create-vocab - set-check-method-generic - check-create? - reset-generic forget-class - create forget-word forget-vocab forget - forget-methods forget-predicate - remove-word-prop empty-method - continue-with - - define-compound define make-generic - define-method define-predicate-class - define-tuple-class define-temp define-tuple-slots - define-writer define-predicate define-generic - (define-union-class) - define-declared define-class - define-union-class define-inline - ?make-generic define-reader define-slot define-slots - define-typecheck define-slot-word define-union-class - define-simple-generic with-methods define-constructor - predicate-word condition-continuation define-symbol - tuple-predicate (sort-classes) - - stdio - close readln read1 read read-until - stream-read stream-readln stream-read1 lines - contents stream-copy stream-flush - lines-loop - stream-format set-line-reader-cr - - - style-stream default-constructor - init-namespaces plain-writer - - with-datastack datastack-underflow. - (delegates) simple-slot , # % - continue-with set-delegate - callcc0 callcc1 - - :r :s :c - - (next-power-of-2) (^) d>w/w w>h/h millis - (random) ^n integer, first-bignum - most-positive-fixnum ^ init-random next-power-of-2 - most-negative-fixnum - - clear-assoc build-graph - - set-word-def set-word-name - set-word-props - set set-axis set-delegate set-global set-restart-obj - - - - gensym random - - double>bits float>bits >bignum - - class-predicates delete (delete) memq? - prune join concat group at+ - normalize norm vneg vmax vmin v- v+ [v-] - times repeat (repeat) - supremum infimum at norm-sq - product sum curry remove-all member? subseq? - - ! O(n) on bignums - (add-vertex) (prune) (split) digits>integer - substitute ?head ?tail add-vertex all? base> closure - drop-prefix - find-last-sep format-column head? index index* - last-index mismatch push-new remove-vertex reset-props - seq-quot-uses sequence= split split, split1 start - start* string-lines string>integer tail? v. - - stack-picture - - ! allot crashes - at+ natural-sort - - # % (delegates) +@ , . .s - be> bin> callstack changed-word - changed-words continue-with counter dec - global - hex> inc le> namespace namestack nest oct> off - on parent-dir path+ - simple-slot simple-slots string>number tabular-output - unxref-word xref-word xref-words vocabularies - with-datastack - - bind if-graph ! 0 >n ! GCs - - move-backward move-forward open-slice (open-slice) ! infinite loop - (assoc-stack) ! infinite loop - - case ! 100000000000 t case ! takes a long time - } ; - -: safe-words ( -- array ) - dangerous-words { - "arrays" "assocs" "bit-arrays" "byte-arrays" - "errors" "generic" "graphs" "hashtables" "io" - "kernel" "math" "namespaces" "quotations" "sbufs" - "queues" "strings" "sequences" "vectors" "words" - } [ words ] map concat seq-diff natural-sort ; - -safe-words \ safe-words set-global - -: databank ( -- array ) - { - ! V{ } H{ } V{ 3 } { 3 } { } "" "asdf" - pi 1/0. -1/0. 0/0. [ ] - f t "" 0 0.0 3.14 2 -3 -7 20 3/4 -3/4 1.2/3 3.5 - C{ 2 2 } C{ 1/0. 1/0. } - } ; - -: setup-test ( #data #code -- data... quot ) - #! variable stack effect - >r [ databank random ] times r> - [ drop \ safe-words get random ] map >quotation ; - -SYMBOL: before -SYMBOL: after -SYMBOL: quot -SYMBOL: err -err off - -: test-compiler ( data... quot -- ... ) - err off - dup quot set - datastack clone dup pop* before set - [ call ] catch drop datastack clone after set - clear - before get [ ] each - quot get [ compile-1 ] [ err on ] recover ; - -: do-test ( data... quot -- ) - .s flush test-compiler - err get [ - datastack after get 2dup = [ - 2drop - ] [ - [ . ] each - "--" print [ . ] each quot get . - "not =" throw - ] if - ] unless - clear ; - -: random-test* ( #data #code -- ) - setup-test do-test ; - -: run-random-tester2 - 100000000000000 [ 6 3 random-test* ] times ; - - -! A worthwhile test that has not been run extensively - -1000 [ drop gensym ] map "syms" set-global - -: fooify-test - "syms" get-global random - 2000 random >quotation - over set-word-def - 100 random zero? [ code-gc ] when - compile fooify-test ; - diff --git a/unmaintained/random-tester/type.factor b/unmaintained/random-tester/type.factor deleted file mode 100644 index bda0284c47..0000000000 --- a/unmaintained/random-tester/type.factor +++ /dev/null @@ -1,218 +0,0 @@ -USING: arrays errors generic hashtables io kernel lazy-lists math -memory modules namespaces null-stream prettyprint random-tester2 -quotations sequences strings -tools vectors words ; -IN: random-tester - -: inert ; -TUPLE: inert-object ; - -: inputs ( -- seq ) - { - 0 -1 -1000000000000000000000000 2 - inert - -29/2 - 1000000000000000000000000000000/1111111111111111111111111111111111 - 3/4 - -1000000000000000000000000/111111111111111111 - -3.14 1/0. 0.0 -1/0. 3.14 0/0. - 20102101010100110110 - C{ 1 -1 } - W{ 55 } - { } - f t - "" - "asdf" - [ ] - ! DLL" libm.dylib" - ! ALIEN: 1 - T{ inert-object f } - } - [ - H{ { 1 2 } { "asdf" "foo" } } clone , - H{ } clone , - V{ 1 0 65536 } clone , - V{ } clone , - SBUF" " clone , - B{ } clone , - ?{ } clone , - ] { } make append ; - -TUPLE: success quot inputs outputs input-types output-types ; - -SYMBOL: err -SYMBOL: last-time -SYMBOL: quot -SYMBOL: output -SYMBOL: input -SYMBOL: silent -t silent set-global - -: test-quot ( input quot -- success/f ) - ! 2dup swap . . flush - ! dup [ hash+ ] = [ 2dup . . flush ] when - err off - quot set input set - silent get [ - quot get last-time get = [ - quot get - dup . flush - last-time set - ] unless - ] unless - [ - clear - input get >vector set-datastack quot get - [ [ [ call ] { } make drop ] with-null-stream ] - [ err on ] recover - datastack clone output set - ] with-saved-datastack - err get [ - f - ] [ - quot get input get output get - 2dup [ [ type ] map ] 2apply - ] if ; - -: test-inputs ( word -- seq ) - [ - [ word-input-count inputs swap ] keep - 1quotation [ - test-quot [ , ] when* - ] curry each-permutation - ] { } make ; - -: >types ( quot -- seq ) - map concat prune natural-sort ; - -: >output-types ( seq -- seq ) - #! input seq is the result of test-inputs - [ success-output-types ] >types ; - -: >input-types ( seq -- seq ) - #! input seq is the result of test-inputs - [ success-input-types ] >types ; - -TUPLE: typed quot inputs outputs ; - -: successes>typed ( seq -- typed ) - dup empty? [ - drop f { } clone { } clone - ] [ - [ first success-quot ] keep - [ >input-types ] keep >output-types - ] if ; - -: word>type-check ( word -- tuple ) - [ - dup test-inputs - successes>typed , - ] curry [ with-saved-datastack ] { } make first ; - -: type>name ( n -- string ) - dup integer? [ - { - "fixnum" - "bignum" - "word" - "obj" - "ratio" - "float" - "complex" - "wrapper" - "array" - "boolean" - "hashtable" - "vector" - "string" - "sbuf" - "quotation" - "dll" - "alien" - "tuple" - } nth - ] when ; - -: replace-subseqs ( seq new old -- seq ) - [ - swapd split1 [ append swap add ] [ nip ] if* - ] 2each ; - -: type-array>name ( seq -- seq ) - { - { "object" { 0 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 } } - { "seq3" { 0 1 8 9 11 12 13 14 } } - { "seq2" { 0 8 9 11 12 13 14 } } - { "seq" { 8 9 11 12 13 14 } } - { "number" { 0 1 4 5 6 } } - { "real" { 0 1 4 5 } } - { "rational" { 0 1 4 } } - { "integer" { 0 1 } } - { "float/complex" { 5 6 } } - { "word/f" { 2 9 } } - } flip first2 replace-subseqs [ type>name ] map ; - -: buggy? - [ word>type-check ] catch [ - drop f - ] [ - 2array [ [ type-array>name ] map ] map - [ [ length 1 = ] all? ] all? not - ] if ; - -: variable-stack-effect? - [ word>type-check ] catch nip ; - -: find-words ( quot -- seq ) - \ safe-words get - [ - word-input-count 3 <= - ] subset swap subset ; - -: find-safe ( -- seq ) [ buggy? not ] find-words ; - -: find-buggy ( -- seq ) [ buggy? ] find-words ; - -: test-word ( output input word -- ? ) - 1quotation test-quot dup [ - success-outputs sequence= - ] [ - nip - ] if ; - -: word-finder ( inputs outputs -- seq ) - swap safe-words - [ >r 2dup r> test-word ] subset 2nip ; - -: (enumeration-test) - [ - [ stack-effect effect-in length ] catch [ 4 < ] unless - ] subset [ [ test-inputs successes>typed , ] each ] { } make ; - -! full-gc finds corrupted memory faster - -: enumeration-test ( -- seq ) - [ - \ safe-words get - f silent set - (enumeration-test) - ] with-scope ; - -: array>all-quots ( seq n -- seq ) - [ - [ 1+ [ >quotation , ] each-permutation ] each-with - ] { } make ; - -: array>all ( seq n -- seq ) - dupd array>all-quots append ; - -: quot-finder ( inputs outputs -- seq ) - swap safe-words 2 array>all - [ - 3 [ >quotation >r 2dup r> [ test-quot ] keep - swap [ , ] [ drop ] if ] each-permutation - ] { } make ; - -: word-frequency ( -- alist ) - all-words [ dup usage length 2array ] map sort-values ; - diff --git a/unmaintained/random-tester/utils.factor b/unmaintained/random-tester/utils.factor deleted file mode 100644 index e699d53f22..0000000000 --- a/unmaintained/random-tester/utils.factor +++ /dev/null @@ -1,77 +0,0 @@ -USING: generic kernel math sequences namespaces errors -assocs words arrays parser compiler syntax io -quotations optimizer inference shuffle tools prettyprint ; -IN: random-tester - -: word-input-count ( word -- n ) - [ stack-effect effect-in length ] [ 2drop 0 ] recover ; - -: type-error? ( exception -- ? ) - [ swap execute or ] curry - >r { no-method? no-math-method? } f r> reduce ; - -! HASHTABLES -: random-hash-entry ( hash -- key value ) - [ keys random dup ] keep at ; - -: coin-flip ( -- bool ) 2 random zero? ; -: do-one ( seq -- ) random call ; inline - -: nzero-array ( seq -- ) - dup length >r 0 r> [ pick set-nth ] each-with drop ; - -: zero-array ( n -- seq ) [ drop 0 ] map ; - -TUPLE: p-list seq max count count-vec ; -: make-p-list ( seq n -- tuple ) - >r dup length [ 1- ] keep r> - [ ^ 0 swap 2array ] keep - zero-array ; - -: inc-seq ( seq max -- ) - 2dup [ < ] curry find-last over -1 = [ - 3drop nzero-array - ] [ - nipd 1+ 2over swap set-nth - 1+ over length rot nzero-array - ] if ; - -: inc-count ( tuple -- ) - [ p-list-count first2 >r 1+ r> 2array ] keep - set-p-list-count ; - -: get-permutation ( tuple -- seq ) - [ p-list-seq ] keep p-list-count-vec [ swap nth ] map-with ; - -: p-list-next ( tuple -- seq/f ) - dup p-list-count first2 < [ - [ - [ get-permutation ] keep - [ p-list-count-vec ] keep p-list-max - inc-seq - ] keep inc-count - ] [ - drop f - ] if ; - -: (permutations) ( tuple -- ) - dup p-list-next [ , (permutations) ] [ drop ] if* ; - -: permutations ( seq n -- seq ) - make-p-list [ (permutations) ] { } make ; - -: (each-permutation) ( tuple quot -- ) - over p-list-next [ - [ rot drop swap call ] 3keep - drop (each-permutation) - ] [ - 2drop - ] if* ; inline - -: each-permutation ( seq n quot -- ) - >r make-p-list r> (each-permutation) ; - -SYMBOL: saved-datastack -: with-saved-datastack - >r datastack saved-datastack set r> call - saved-datastack get set-datastack ; inline diff --git a/extra/rss/reader/reader.factor b/unmaintained/reader/reader.factor similarity index 100% rename from extra/rss/reader/reader.factor rename to unmaintained/reader/reader.factor diff --git a/unmaintained/regexp/load.factor b/unmaintained/regexp/load.factor deleted file mode 100644 index 989452e606..0000000000 --- a/unmaintained/regexp/load.factor +++ /dev/null @@ -1,10 +0,0 @@ -REQUIRES: libs/memoize ; -PROVIDE: libs/regexp -{ +files+ { - "tables.factor" - "regexp.factor" -} } { +tests+ { - "test/regexp.factor" - "test/tables.factor" -} } ; - diff --git a/unmaintained/regexp/regexp.factor b/unmaintained/regexp/regexp.factor deleted file mode 100644 index de233b2155..0000000000 --- a/unmaintained/regexp/regexp.factor +++ /dev/null @@ -1,501 +0,0 @@ -USING: arrays errors generic assocs io kernel math -memoize namespaces kernel sequences strings tables -vectors ; -USE: interpreter -USE: prettyprint -USE: test - -IN: regexp-internals - -SYMBOL: trans-table -SYMBOL: eps -SYMBOL: start-state -SYMBOL: final-state - -SYMBOL: paren-count -SYMBOL: currentstate -SYMBOL: stack - -SYMBOL: bot -SYMBOL: eot -SYMBOL: alternation -SYMBOL: lparen -SYMBOL: rparen - -: regexp-init ( -- ) - 0 paren-count set - -1 currentstate set - V{ } clone stack set - final-state over add-column trans-table set ; - -: paren-underflow? ( -- ) - paren-count get 0 < [ "too many rparen" throw ] when ; - -: unbalanced-paren? ( -- ) - paren-count get 0 > [ "neesds closing paren" throw ] when ; - -: inc-paren-count ( -- ) - paren-count [ 1+ ] change ; - -: dec-paren-count ( -- ) - paren-count [ 1- ] change paren-underflow? ; - -: push-stack ( n -- ) stack get push ; -: next-state ( -- n ) - currentstate [ 1+ ] change currentstate get ; -: current-state ( -- n ) currentstate get ; - -: set-trans-table ( row col data -- ) - trans-table get set-value ; - -: add-trans-table ( row col data -- ) - trans-table get add-value ; - -: data-stack-slice ( token -- seq ) - stack get reverse [ index ] keep cut reverse dup pop* stack set reverse ; - -: find-start-state ( table -- n ) - start-state t rot find-by-column first ; - -: find-final-state ( table -- n ) - final-state t rot find-by-column first ; - -: final-state? ( row table -- ? ) - get-row final-state swap key? ; - -: switch-rows ( r1 r2 -- ) - [ 2array [ trans-table get get-row ] each ] 2keep - 2array [ trans-table get set-row ] each ; - -: set-table-prop ( prop s table -- ) - pick over add-column table-rows - [ - pick rot member? [ - pick t swap rot set-at - ] [ - drop - ] if - ] assoc-each 2drop ; - -: add-numbers ( n obj -- obj ) - dup sequence? [ - [ + ] map-with - ] [ - dup number? [ + ] [ nip ] if - ] if ; - -: increment-cols ( n row -- ) - ! n row - dup [ >r pick r> add-numbers swap pick set-at ] assoc-each 2drop ; - -: complex-count ( c -- ci-cr+1 ) - >rect swap - 1+ ; - -: copy-rows ( c1 -- ) - #! copy rows to the bottom with a new row-name c1_range higher - [ complex-count ] keep trans-table get table-rows ! 2 C{ 0 1 } rows - [ drop [ over real >= ] keep pick imaginary <= and ] assoc-subset nip - [ clone [ >r over r> increment-cols ] keep swap pick + trans-table get set-row ] assoc-each ! 2 - currentstate get 1+ dup pick + 1- rect> push-stack - currentstate [ + ] change ; - - -! s1 final f ! s1 eps s2 ! output s0,s3 -: apply-concat ( seq -- ) - ! "Concat: " write dup . - dup pop over pop swap - over imaginary final-state f set-trans-table - 2dup >r imaginary eps r> real add-trans-table - >r real r> imaginary rect> swap push ; - -! swap 0, 4 so 0 is incoming -! ! s1 final f ! s3 final f ! s4 e s0 ! s4 e s2 ! s1 e s5 ! s3 e s5 -! ! s5 final t ! s4,s5 push - -SYMBOL: saved-state -: apply-alternation ( seq -- ) - ! "Alternation: " print - dup pop over pop* over pop swap - next-state trans-table get add-row - >r >rect >r saved-state set current-state r> rect> r> - ! 4,1 2,3 - over real saved-state get trans-table get swap-rows - saved-state get start-state t set-trans-table - over real start-state f set-trans-table - over imaginary final-state f set-trans-table - dup imaginary final-state f set-trans-table - over real saved-state get eps rot add-trans-table - dup real saved-state get eps rot add-trans-table - imaginary eps next-state add-trans-table - imaginary eps current-state add-trans-table - current-state final-state t set-trans-table - saved-state get current-state rect> swap push ; - -! s1 final f ! s1 e s0 ! s2 e s0 ! s2 e s3 ! s1 e s3 ! s3 final t -: apply-kleene-closure ( -- ) - ! "Apply kleene closure" print - stack get pop - next-state trans-table get add-row - >rect >r [ saved-state set ] keep current-state - [ trans-table get swap-rows ] keep r> rect> - - dup imaginary final-state f set-trans-table - dup imaginary eps pick real add-trans-table - saved-state get eps pick real add-trans-table - saved-state get eps next-state add-trans-table - imaginary eps current-state add-trans-table - current-state final-state t add-trans-table - saved-state get current-state rect> push-stack ; - -: apply-plus-closure ( -- ) - ! "Apply plus closure" print - stack get peek copy-rows - apply-kleene-closure stack get apply-concat ; - -: apply-alternation? ( seq -- ? ) - dup length dup 3 < [ - 2drop f - ] [ - 2 - swap nth alternation = - ] if ; - -: apply-concat? ( seq -- ? ) - dup length dup 2 < [ - 2drop f - ] [ - 2 - swap nth complex? - ] if ; - -: (apply) ( slice -- slice ) - dup length 1 > [ - { - { [ dup apply-alternation? ] - [ [ apply-alternation ] keep (apply) ] } - { [ dup apply-concat? ] - [ [ apply-concat ] keep (apply) ] } - } cond - ] when ; - -: apply-til-last ( tokens -- slice ) - data-stack-slice (apply) ; - -: maybe-concat ( -- ) - stack get apply-concat? [ stack get apply-concat ] when ; - -: maybe-concat-loop ( -- ) - stack get length maybe-concat stack get length > [ - maybe-concat-loop - ] when ; - -: create-nontoken-nfa ( tok -- ) - next-state swap next-state - [ trans-table get set-value ] keep - entry-value final-state t set-trans-table - current-state [ 1- ] keep rect> push-stack ; - -! stack gets: alternation C{ 0 1 } -: apply-question-closure ( -- ) - alternation push-stack - eps create-nontoken-nfa stack get apply-alternation ; - -! {2} exactly twice, {2,} 2 or more, {2,4} exactly 2,3,4 times -! : apply-bracket-closure ( c1 -- ) - ! ; -SYMBOL: character-class -SYMBOL: brace -SYMBOL: escaped-character -SYMBOL: octal -SYMBOL: hex -SYMBOL: control -SYMBOL: posix - -: addto-character-class ( char -- ) - ; - -: make-escaped ( char -- ) - { - ! TODO: POSIX character classes (US-ASCII only) - ! TODO: Classes for Unicode blocks and categories - - ! { CHAR: { [ ] } ! left brace - { CHAR: \\ [ ] } ! backaslash - - { CHAR: 0 [ ] } ! octal \0n \0nn \0mnn (0 <= m <= 3, 0 <= n <= 7) - { CHAR: x [ ] } ! \xhh - { CHAR: u [ ] } ! \uhhhh - { CHAR: t [ ] } ! tab \u0009 - { CHAR: n [ ] } ! newline \u000a - { CHAR: r [ ] } ! carriage-return \u000d - { CHAR: f [ ] } ! form-feed \u000c - { CHAR: a [ ] } ! alert (bell) \u0007 - { CHAR: e [ ] } ! escape \u001b - { CHAR: c [ ] } ! control character corresoding to X in \cX - - { CHAR: d [ ] } ! [0-9] - { CHAR: D [ ] } ! [^0-9] - { CHAR: s [ ] } ! [ \t\n\x0B\f\r] - { CHAR: S [ ] } ! [^\s] - { CHAR: w [ ] } ! [a-zA-Z_0-9] - { CHAR: W [ ] } ! [^\w] - - { CHAR: b [ ] } ! a word boundary - { CHAR: B [ ] } ! a non-word boundary - { CHAR: A [ ] } ! the beginning of input - { CHAR: G [ ] } ! the end of the previous match - { CHAR: Z [ ] } ! the end of the input but for the - ! final terminator, if any - { CHAR: z [ ] } ! the end of the input - } case ; - -: handle-character-class ( char -- ) - { - { [ \ escaped-character get ] [ make-escaped \ escaped-character off ] } - { [ dup CHAR: ] = ] [ \ character-class off ] } - { [ t ] [ addto-character-class ] } - } cond ; - -: parse-token ( char -- ) - { - ! { [ \ character-class get ] [ ] } - ! { [ \ escaped-character get ] [ ] } - ! { [ dup CHAR: [ = ] [ \ character-class on ] } - ! { [ dup CHAR: \\ = ] [ drop \ escaped-character on ] } - - ! { [ dup CHAR: ^ = ] [ ] } - ! { [ dup CHAR: $ = ] [ ] } - ! { [ dup CHAR: { = ] [ ] } - ! { [ dup CHAR: } = ] [ ] } - - { [ dup CHAR: | = ] - [ drop maybe-concat-loop alternation push-stack ] } - { [ dup CHAR: * = ] - [ drop apply-kleene-closure ] } - { [ dup CHAR: + = ] - [ drop apply-plus-closure ] } - { [ dup CHAR: ? = ] - [ drop apply-question-closure ] } - - { [ dup CHAR: ( = ] - [ drop inc-paren-count lparen push-stack ] } - { [ dup CHAR: ) = ] - [ - drop dec-paren-count lparen apply-til-last - stack get push-all - ] } ! apply - - - { [ dup bot = ] [ push-stack ] } - { [ dup eot = ] - [ - drop unbalanced-paren? maybe-concat-loop bot apply-til-last - dup length 1 = [ - pop real start-state t set-trans-table - ] [ - drop - ] if - ] } - { [ t ] [ create-nontoken-nfa ] } - } cond ; - -: cut-at-index ( i string ch -- i subseq ) - -rot [ index* ] 2keep >r >r [ 1+ ] keep r> swap r> subseq ; - -: parse-character-class ( index string -- new-index obj ) - 2dup >r 1+ r> nth CHAR: ] = [ >r 1+ r> ] when - cut-at-index ; - -: (parse-regexp) ( str -- ) - dup length [ - 2dup swap character-class get [ - parse-character-class - "CHARACTER CLASS: " write . - character-class off - nip ! adjust index - ] [ - nth parse-token - ] if - ] repeat ; - -: parse-regexp ( str -- ) - bot parse-token - ! [ "parsing: " write dup ch>string . parse-token ] each - [ parse-token ] each - ! (parse-regexp) - eot parse-token ; - -: push-all-diff ( seq seq -- diff ) - [ swap seq-diff ] 2keep push-all ; - -: prune-sort ( vec -- vec ) - prune natural-sort >vector ; - -SYMBOL: ttable -SYMBOL: transition -SYMBOL: check-list -SYMBOL: initial-check-list -SYMBOL: result - -: init-find ( data state table -- ) - ttable set - dup sequence? [ clone >vector ] [ V{ } clone [ push ] keep ] if - [ check-list set ] keep clone initial-check-list set - V{ } clone result set - transition set ; - -: (find-next-state) ( -- ) - check-list get [ - [ - ttable get get-row transition get swap at* - [ dup sequence? [ % ] [ , ] if ] [ drop ] if - ] each - ] { } make - result get push-all-diff - check-list set - result get prune-sort result set ; - -: (find-next-state-recursive) ( -- ) - check-list get empty? [ (find-next-state) (find-next-state-recursive) ] unless ; - -: find-epsilon-closure ( state table -- vec ) - eps -rot init-find - (find-next-state-recursive) result get initial-check-list get append natural-sort ; - -: find-next-state ( data state table -- vec ) - find-epsilon-closure check-list set - V{ } clone result set transition set - (find-next-state) result get ttable get find-epsilon-closure ; - -: filter-cols ( vec -- vec ) - #! remove info columns state-state, eps, final - clone start-state over delete-at eps over delete-at - final-state over delete-at ; - -SYMBOL: old-table -SYMBOL: new-table -SYMBOL: todo-states -SYMBOL: transitions - -: init-nfa>dfa ( table -- ) - new-table set - [ table-columns clone filter-cols keys transitions set ] keep - dup [ find-start-state ] keep find-epsilon-closure - V{ } clone [ push ] keep todo-states set - old-table set ; - -: create-row ( state table -- ) - 2dup row-exists? - [ 2drop ] [ [ add-row ] 2keep drop todo-states get push ] if ; - -: (nfa>dfa) ( -- ) - todo-states get dup empty? [ - pop transitions get [ - 2dup swap old-table get find-next-state - dup empty? [ - 3drop - ] [ - dup new-table get create-row - new-table get set-value - ] if - ] each-with - ] unless* todo-states get empty? [ (nfa>dfa) ] unless ; - -: nfa>dfa ( table -- table ) - init-nfa>dfa - (nfa>dfa) - start-state old-table get find-start-state - new-table get set-table-prop - final-state old-table get find-final-state - new-table get [ set-table-prop ] keep ; - -SYMBOL: regexp -SYMBOL: text -SYMBOL: matches -SYMBOL: partial-matches -TUPLE: partial-match index row count ; -! a state is a vector -! state is a key in a hashtable. the value is a hashtable of transition states - -: save-partial-match ( index row -- ) - 1 dup partial-match-index - \ partial-matches get set-at ; - -: inc-partial-match ( partial-match -- ) - [ partial-match-count 1+ ] keep set-partial-match-count ; - -: check-final-state ( partial-match -- ) - dup partial-match-row regexp get final-state? [ - clone dup partial-match-index matches get set-at - ] [ - drop - ] if ; - -: check-trivial-match ( row regexp -- ) - dupd final-state? [ - >r 0 r> 0 - 0 matches get set-at - ] [ - drop - ] if ; - -: update-partial-match ( char partial-match -- ) - tuck partial-match-row regexp get get-row at* [ - over set-partial-match-row - inc-partial-match - ] [ - drop - partial-match-index partial-matches get delete-at - ] if ; - -: regexp-step ( index char start-state -- ) - ! check partial-matches - over \ partial-matches get - [ nip update-partial-match ] assoc-each-with - - ! check new match - at* [ - save-partial-match - ] [ - 2drop - ] if - partial-matches get values [ check-final-state ] each ; - -: regexp-match ( text regexp -- seq ) - #! text is the haystack - #! regexp is a table describing the needle - H{ } clone \ matches set - H{ } clone \ partial-matches set - dup regexp set - >r dup text set r> - [ find-start-state ] keep - 2dup check-trivial-match - get-row - swap [ length ] keep - [ pick regexp-step ] 2each drop - matches get values [ - [ partial-match-index ] keep - partial-match-count dupd + text get - ] map ; - -IN: regexp -MEMO: make-regexp ( str -- table ) - [ - regexp-init - parse-regexp - trans-table get nfa>dfa - ] with-scope ; - -! TODO: make compatible with -! http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html - -! Greedy -! Match the longest possible string, default -! a+ - -! Reluctant -! Match on shortest possible string -! / in vi does this (find next) -! a+? - -! Possessive -! Match only when the entire text string matches -! a++ diff --git a/unmaintained/regexp/tables.factor b/unmaintained/regexp/tables.factor deleted file mode 100644 index 76b27e1a03..0000000000 --- a/unmaintained/regexp/tables.factor +++ /dev/null @@ -1,111 +0,0 @@ -USING: errors generic kernel namespaces -sequences vectors assocs ; -IN: tables - -TUPLE: table rows columns ; -TUPLE: entry row-key column-key value ; -GENERIC: add-value ( entry table -- ) - -C: table ( -- obj ) - H{ } clone over set-table-rows - H{ } clone over set-table-columns ; - -: (add-row) ( row-key table -- row ) - 2dup table-rows at* [ - 2nip - ] [ - drop H{ } clone [ -rot table-rows set-at ] keep - ] if ; - -: add-row ( row-key table -- ) - (add-row) drop ; - -: add-column ( column-key table -- ) - t -rot table-columns set-at ; - -: set-row ( row row-key table -- ) - table-rows set-at ; - -: lookup-row ( row-key table -- row/f ? ) - table-rows at* ; - -: row-exists? ( row-key table -- ? ) - lookup-row nip ; - -: lookup-column ( column-key table -- column/f ? ) - table-columns at* ; - -: column-exists? ( column-key table -- ? ) - lookup-column nip ; - -TUPLE: no-row key ; -TUPLE: no-column key ; - -: get-row ( row-key table -- row ) - dupd lookup-row [ - nip - ] [ - drop throw - ] if ; - -: get-column ( column-key table -- column ) - dupd lookup-column [ - nip - ] [ - drop throw - ] if ; - -: get-value ( row-key column-key table -- obj ? ) - swapd lookup-row [ - at* - ] [ - 2drop f f - ] if ; - -: (set-value) ( entry table -- value column-key row ) - [ >r entry-column-key r> add-column ] 2keep - dupd >r entry-row-key r> (add-row) - >r [ entry-value ] keep entry-column-key r> ; - -: set-value ( entry table -- ) - (set-value) set-at ; - -: swap-rows ( row-key1 row-key2 table -- ) - [ tuck get-row >r get-row r> ] 3keep - >r >r rot r> r> [ set-row ] keep set-row ; - -: member?* ( obj obj -- bool ) - 2dup = [ 2drop t ] [ member? ] if ; - -: find-by-column ( column-key data table -- seq ) - swapd 2dup lookup-column 2drop - [ - table-rows [ - pick swap at* [ - >r pick r> member?* [ , ] [ drop ] if - ] [ - 2drop - ] if - ] assoc-each - ] { } make 2nip ; - - -TUPLE: vector-table ; -C: vector-table ( -- obj ) - over set-delegate ; - -: add-hash-vector ( value key hash -- ) - 2dup at* [ - dup vector? [ - 2nip push - ] [ - V{ } clone [ push ] keep - -rot >r >r [ push ] keep r> r> set-at - ] if - ] [ - drop set-at - ] if ; - -M: vector-table add-value ( entry table -- ) - (set-value) add-hash-vector ; - diff --git a/unmaintained/regexp/test/regexp.factor b/unmaintained/regexp/test/regexp.factor deleted file mode 100644 index 36c627c9cf..0000000000 --- a/unmaintained/regexp/test/regexp.factor +++ /dev/null @@ -1,30 +0,0 @@ -USING: kernel sequences namespaces errors io math tables arrays generic hashtables vectors strings parser ; -USING: prettyprint test ; -USING: regexp-internals regexp ; - -[ "dog" ] [ "dog" "cat|dog" make-regexp regexp-match first >string ] unit-test -[ "cat" ] [ "cat" "cat|dog" make-regexp regexp-match first >string ] unit-test -[ "a" ] [ "a" "a|b|c" make-regexp regexp-match first >string ] unit-test -[ "" ] [ "" "a*" make-regexp regexp-match first >string ] unit-test -[ "aaaa" ] [ "aaaa" "a*" make-regexp regexp-match first >string ] unit-test -[ "aaaa" ] [ "aaaa" "a+" make-regexp regexp-match first >string ] unit-test -[ t ] [ "" "a+" make-regexp regexp-match empty? ] unit-test -[ "cadog" ] [ "cadog" "ca(t|d)og" make-regexp regexp-match first >string ] unit-test -[ "catog" ] [ "catog" "ca(t|d)og" make-regexp regexp-match first >string ] unit-test -[ "cadog" ] [ "abcadoghi" "ca(t|d)og" make-regexp regexp-match first >string ] unit-test -[ t ] [ "abcatdoghi" "ca(t|d)og" make-regexp regexp-match empty? ] unit-test - -[ "abcdefghijklmnopqrstuvwxyz" ] [ "abcdefghijklmnopqrstuvwxyz" "a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+" make-regexp regexp-match first >string ] unit-test -[ "aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz" ] [ "aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz" "a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+" make-regexp regexp-match first >string ] unit-test -[ t ] [ "aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyy" "a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+" make-regexp regexp-match empty? ] unit-test -[ "abcdefghijklmnopqrstuvwxyz" ] [ "abcdefghijklmnopqrstuvwxyz" "a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*" make-regexp regexp-match first >string ] unit-test -[ "" ] [ "" "a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*" make-regexp regexp-match first >string ] unit-test -[ "az" ] [ "az" "a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*" make-regexp regexp-match first >string ] unit-test - -[ t ] [ "abc" "a?b?c?" make-regexp regexp-match length 3 = ] unit-test -[ "ac" ] [ "ac" "a?b?c?" make-regexp regexp-match first >string ] unit-test -[ "" ] [ "" "a?b?c?" make-regexp regexp-match first >string ] unit-test -[ t ] [ "aabc" "a?b?c?" make-regexp regexp-match length 4 = ] unit-test -[ "abbbccdefefffeffe" ] [ "abbbccdefefffeffe" "(a?b*c+d(e|f)*)+" make-regexp regexp-match first >string ] unit-test -[ t ] [ "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" "a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?a?aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" make-regexp regexp-match length 29 = ] unit-test - diff --git a/unmaintained/regexp/test/tables.factor b/unmaintained/regexp/test/tables.factor deleted file mode 100644 index 4ce339afad..0000000000 --- a/unmaintained/regexp/test/tables.factor +++ /dev/null @@ -1,49 +0,0 @@ -USING: kernel tables test ; - -: test-table -
- "a" "c" "z" over set-value - "a" "o" "y" over set-value - "a" "l" "x" over set-value - "b" "o" "y" over set-value - "b" "l" "x" over set-value - "b" "s" "u" over set-value ; - -[ - T{ table f - H{ - { "a" H{ { "l" "x" } { "c" "z" } { "o" "y" } } } - { "b" H{ { "l" "x" } { "s" "u" } { "o" "y" } } } - } - H{ { "l" t } { "s" t } { "c" t } { "o" t } } } -] [ test-table ] unit-test - -[ "x" t ] [ "a" "l" test-table get-value ] unit-test -[ "har" t ] [ - "a" "z" "har" test-table [ set-value ] keep - >r "a" "z" r> get-value -] unit-test - -: vector-test-table - - "a" "c" "z" over add-value - "a" "c" "r" over add-value - "a" "o" "y" over add-value - "a" "l" "x" over add-value - "b" "o" "y" over add-value - "b" "l" "x" over add-value - "b" "s" "u" over add-value ; - -[ -T{ vector-table - T{ table f - H{ - { "a" - H{ { "l" "x" } { "c" V{ "z" "r" } } { "o" "y" } } } - { "b" - H{ { "l" "x" } { "s" "u" } { "o" "y" } } } - } - H{ { "l" t } { "s" t } { "c" t } { "o" t } } } -} -] [ vector-test-table ] unit-test - diff --git a/vm/os-windows-nt.c b/vm/os-windows-nt.c index be9dde1fa8..da54b794d1 100755 --- a/vm/os-windows-nt.c +++ b/vm/os-windows-nt.c @@ -10,9 +10,9 @@ s64 current_millis(void) DEFINE_PRIMITIVE(cwd) { - F_CHAR buf[MAX_PATH + 4]; + F_CHAR buf[MAX_UNICODE_PATH]; - if(!GetCurrentDirectory(MAX_PATH + 4, buf)) + if(!GetCurrentDirectory(MAX_UNICODE_PATH, buf)) io_error(); box_u16_string(buf); diff --git a/vm/quotations.c b/vm/quotations.c old mode 100644 new mode 100755 index 472ec76f1e..9d98fa7842 --- a/vm/quotations.c +++ b/vm/quotations.c @@ -192,9 +192,19 @@ XT quot_offset_to_pc(F_QUOTATION *quot, F_FIXNUM offset) DEFINE_PRIMITIVE(curry) { F_CURRY *curry = allot_object(CURRY_TYPE,sizeof(F_CURRY)); - curry->quot = dpop(); - curry->obj = dpop(); - dpush(tag_object(curry)); + + switch(type_of(dpeek())) + { + case QUOTATION_TYPE: + case CURRY_TYPE: + curry->quot = dpop(); + curry->obj = dpop(); + dpush(tag_object(curry)); + break; + default: + type_error(QUOTATION_TYPE,dpeek()); + break; + } } void uncurry(CELL obj)