annotate vendor/github.com/alecthomas/chroma/v2/lexers/embedded/batchfile.xml @ 66:787b5ee0289d draft

Use vendored modules Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author yakumo.izuru
date Sun, 23 Jul 2023 13:18:53 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
1 <lexer>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
2 <config>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
3 <name>Batchfile</name>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4 <alias>bat</alias>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5 <alias>batch</alias>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6 <alias>dosbatch</alias>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 <alias>winbatch</alias>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 <filename>*.bat</filename>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 <filename>*.cmd</filename>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 <mime_type>application/x-dos-batch</mime_type>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 <case_insensitive>true</case_insensitive>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 </config>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 <rules>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 <state name="arithmetic">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 <rule pattern="0[0-7]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 <token type="LiteralNumberOct"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 <rule pattern="0x[\da-f]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 <token type="LiteralNumberHex"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 <rule pattern="\d+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 <rule pattern="[(),]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 <rule pattern="([=+\-*/!~]|%|\^\^)+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 <token type="Operator"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 <rule pattern="((?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(\^[\n\x1a]?)?[^()=+\-*/!~%^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0]|\^[\n\x1a\t\v\f\r ,;=\xa0]?[\w\W])+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 <usingself state="variable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 <rule pattern="(?=[\x00|&amp;])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 <include state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
40 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
41 <state name="else?">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
42 <rule pattern="(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
43 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
44 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
45 <rule pattern="else(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
46 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
47 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
48 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
49 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
50 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
51 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
52 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
53 <state name="sqstring">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
54 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
55 <include state="variable-or-escape"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
56 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
57 <rule pattern="[^%]+|%">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
58 <token type="LiteralStringSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
59 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
60 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
61 <state name="root">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
62 <rule pattern="\)((?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))(?:(?:[^\n\x1a^]|\^[\n\x1a]?[\w\W])*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
63 <token type="CommentSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
64 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
65 <rule pattern="(?=((?:(?&lt;=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
66 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
67 <push state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
68 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
69 <rule pattern="(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
70 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
71 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
72 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
73 <include state="redirect"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
74 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
75 <rule pattern="[\n\x1a]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
76 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
77 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
78 <rule pattern="\(">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
79 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
80 <push state="root/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
81 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
82 <rule pattern="@+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
83 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
84 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
85 <rule pattern="((?:for|if|rem)(?:(?=(?:\^[\n\x1a]?)?/)|(?:(?!\^)|(?&lt;=m))(?:(?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+)?(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
86 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
87 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
88 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
89 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
90 <push state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
91 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
92 <rule pattern="(goto(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(]))((?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^&#34;%\n\x1a&amp;&lt;&gt;|])*(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^&#34;%\n\x1a&amp;&lt;&gt;|])*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
93 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
94 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
95 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
96 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
97 <push state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
98 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
99 <rule pattern="(setlocal|endlocal|prompt|verify|rename|mklink|rmdir|shift|start|color|dpath|title|chdir|erase|pushd|ftype|break|pause|mkdir|assoc|date|path|time|popd|keys|exit|type|copy|echo|move|dir|del|ren|ver|cls|vol|rd|md|cd)(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
100 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
101 <push state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
102 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
103 <rule pattern="(call)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
104 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
105 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
106 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
107 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
108 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
109 <push state="call"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
110 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
111 <rule pattern="call(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
112 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
113 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
114 <rule pattern="(for(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/f(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
115 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
116 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
117 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
118 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
119 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
120 <push state="for/f" state="for"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
121 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
122 <rule pattern="(for(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/l(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
123 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
124 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
125 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
126 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
127 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
128 <push state="for/l" state="for"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
129 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
130 <rule pattern="for(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])(?!\^)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
131 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
132 <push state="for2" state="for"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
133 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
134 <rule pattern="(goto(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
135 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
136 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
137 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
138 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
139 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
140 <push state="label"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
141 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
142 <rule pattern="(if(?:(?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:/i(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:not(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
143 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
144 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
145 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
146 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
147 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
148 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
149 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
150 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
151 <push state="(?" state="if"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
152 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
153 <rule pattern="rem(((?=\()|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+)?.*|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(])(?:(?:[^\n\x1a^]|\^[\n\x1a]?[\w\W])*))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
154 <token type="CommentSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
155 <push state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
156 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
157 <rule pattern="(set(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(]))((?:(?:\^[\n\x1a]?)?[^\S\n])*)(/a)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
158 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
159 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
160 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
161 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
162 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
163 <push state="arithmetic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
164 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
165 <rule pattern="(set(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(]))((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:/p)?)((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|^=]|\^[\n\x1a]?[^&#34;=])+)?)((?:(?:\^[\n\x1a]?)?=)?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
166 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
167 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
168 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
169 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
170 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
171 <usingself state="variable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
172 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
173 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
174 <push state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
175 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
176 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
177 <push state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
178 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
179 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
180 <state name="follow">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
181 <rule pattern="((?:(?&lt;=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:)([\t\v\f\r ,;=\xa0]*)((?:(?:[^\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0+:^]|\^[\n\x1a]?[\w\W])*))(.*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
182 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
183 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
184 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
185 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
186 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
187 <token type="CommentSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
188 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
189 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
190 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
191 <include state="redirect"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
192 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
193 <rule pattern="(?=[\n\x1a])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
194 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
195 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
196 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
197 <rule pattern="\|\|?|&amp;&amp;?">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
198 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
199 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
200 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
201 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
202 <include state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
203 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
204 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
205 <state name="bqstring">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
206 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
207 <include state="variable-or-escape"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
208 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
209 <rule pattern="[^%]+|%">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
210 <token type="LiteralStringBacktick"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
211 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
212 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
213 <state name="for2">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
214 <rule pattern="\)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
215 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
216 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
217 <rule pattern="((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(do(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
218 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
219 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
220 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
221 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
222 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
223 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
224 <rule pattern="[\n\x1a]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
225 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
226 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
227 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
228 <include state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
229 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
230 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
231 <state name="label/compound">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
232 <rule pattern="(?=\))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
233 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
234 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
235 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
236 <rule pattern="((?:(?:[^\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0+:^)]|\^[\n\x1a]?[^)])*)?)((?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|\^[\n\x1a]?[^)]|[^&#34;%^\n\x1a&amp;&lt;&gt;|)])*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
237 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
238 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
239 <token type="CommentSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
240 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
241 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
242 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
243 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
244 <state name="for">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
245 <rule pattern="((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(in)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(\()">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
246 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
247 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
248 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
249 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
250 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
251 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
252 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
253 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
254 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
255 <include state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
256 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
257 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
258 <state name="redirect/compound">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
259 <rule pattern="((?:(?&lt;=[\n\x1a\t\v\f\r ,;=\xa0])\d)?)(&gt;&gt;?&amp;|&lt;&amp;)([\n\x1a\t\v\f\r ,;=\xa0]*)(\d)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
260 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
261 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
262 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
263 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
264 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
265 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
266 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
267 <rule pattern="((?:(?&lt;=[\n\x1a\t\v\f\r ,;=\xa0])(?&lt;!\^[\n\x1a])\d)?)(&gt;&gt;?|&lt;)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0)])+))+))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
268 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
269 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
270 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
271 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
272 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
273 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
274 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
275 <state name="if">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
276 <rule pattern="((?:cmdextversion|errorlevel)(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(\d+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
277 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
278 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
279 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
280 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
281 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
282 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
283 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
284 <rule pattern="(defined(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))((?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
285 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
286 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
287 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
288 <usingself state="variable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
289 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
290 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
291 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
292 <rule pattern="(exist(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
293 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
294 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
295 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
296 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
297 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
298 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
299 <rule pattern="((?:-?(?:0[0-7]+|0x[\da-f]+|\d+)(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))((?:equ|geq|gtr|leq|lss|neq))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)(?:-?(?:0[0-7]+|0x[\da-f]+|\d+)(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
300 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
301 <usingself state="arithmetic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
302 <token type="OperatorWord"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
303 <usingself state="arithmetic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
304 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
305 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
306 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
307 <rule pattern="(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
308 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
309 <push state="#pop" state="if2"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
310 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
311 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
312 <state name="root/compound">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
313 <rule pattern="\)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
314 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
315 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
316 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
317 <rule pattern="(?=((?:(?&lt;=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
318 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
319 <push state="follow/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
320 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
321 <rule pattern="(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
322 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
323 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
324 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
325 <include state="redirect/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
326 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
327 <rule pattern="[\n\x1a]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
328 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
329 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
330 <rule pattern="\(">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
331 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
332 <push state="root/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
333 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
334 <rule pattern="@+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
335 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
336 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
337 <rule pattern="((?:for|if|rem)(?:(?=(?:\^[\n\x1a]?)?/)|(?:(?!\^)|(?&lt;=m))(?:(?=\()|(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0)])+)?(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
338 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
339 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
340 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
341 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
342 <push state="follow/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
343 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
344 <rule pattern="(goto(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(])))((?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^&#34;%\n\x1a&amp;&lt;&gt;|)])*(?:\^[\n\x1a]?)?/(?:\^[\n\x1a]?)?\?(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^&#34;%\n\x1a&amp;&lt;&gt;|)])*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
345 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
346 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
347 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
348 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
349 <push state="follow/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
350 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
351 <rule pattern="(setlocal|endlocal|prompt|verify|rename|mklink|rmdir|shift|start|color|dpath|title|chdir|erase|pushd|ftype|break|pause|mkdir|assoc|date|path|time|popd|keys|exit|type|copy|echo|move|dir|del|ren|ver|cls|vol|rd|md|cd)(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(]))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
352 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
353 <push state="follow/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
354 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
355 <rule pattern="(call)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
356 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
357 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
358 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
359 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
360 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
361 <push state="call/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
362 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
363 <rule pattern="call(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(]))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
364 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
365 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
366 <rule pattern="(for(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/f(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
367 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
368 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
369 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
370 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
371 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
372 <push state="for/f" state="for"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
373 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
374 <rule pattern="(for(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))(/l(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
375 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
376 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
377 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
378 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
379 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
380 <push state="for/l" state="for"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
381 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
382 <rule pattern="for(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a]))(?!\^)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
383 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
384 <push state="for2" state="for"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
385 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
386 <rule pattern="(goto(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(])))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(:?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
387 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
388 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
389 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
390 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
391 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
392 <push state="label/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
393 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
394 <rule pattern="(if(?:(?=\()|(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))(?!\^))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:/i(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)((?:not(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))?)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
395 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
396 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
397 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
398 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
399 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
400 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
401 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
402 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
403 <push state="(?" state="if"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
404 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
405 <rule pattern="rem(((?=\()|(?:(?=\))|(?=\^?[\t\v\f\r ,;=\xa0]|[&amp;&lt;&gt;|\n\x1a])))(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+)?.*|(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(]))(?:(?:[^\n\x1a^)]|\^[\n\x1a]?[^)])*))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
406 <token type="CommentSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
407 <push state="follow/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
408 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
409 <rule pattern="(set(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(])))((?:(?:\^[\n\x1a]?)?[^\S\n])*)(/a)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
410 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
411 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
412 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
413 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
414 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
415 <push state="arithmetic/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
416 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
417 <rule pattern="(set(?:(?=\))|(?=(?:\^[\n\x1a]?)?[\t\v\f\r ,;=\xa0+./:[\\\]]|[\n\x1a&amp;&lt;&gt;|(])))((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:/p)?)((?:(?:\^[\n\x1a]?)?[^\S\n])*)((?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|^=)]|\^[\n\x1a]?[^&#34;=])+)?)((?:(?:\^[\n\x1a]?)?=)?)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
418 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
419 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
420 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
421 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
422 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
423 <usingself state="variable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
424 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
425 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
426 <push state="follow/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
427 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
428 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
429 <push state="follow/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
430 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
431 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
432 <state name="follow/compound">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
433 <rule pattern="(?=\))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
434 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
435 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
436 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
437 <rule pattern="((?:(?&lt;=^[^:])|^[^:]?)[\t\v\f\r ,;=\xa0]*)(:)([\t\v\f\r ,;=\xa0]*)((?:(?:[^\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0+:^)]|\^[\n\x1a]?[^)])*))(.*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
438 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
439 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
440 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
441 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
442 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
443 <token type="CommentSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
444 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
445 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
446 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
447 <include state="redirect/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
448 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
449 <rule pattern="(?=[\n\x1a])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
450 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
451 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
452 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
453 <rule pattern="\|\|?|&amp;&amp;?">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
454 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
455 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
456 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
457 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
458 <include state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
459 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
460 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
461 <state name="text">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
462 <rule pattern="&#34;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
463 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
464 <push state="string"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
465 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
466 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
467 <include state="variable-or-escape"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
468 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
469 <rule pattern="[^&#34;%^\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0\d)]+|.">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
470 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
471 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
472 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
473 <state name="redirect">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
474 <rule pattern="((?:(?&lt;=[\n\x1a\t\v\f\r ,;=\xa0])\d)?)(&gt;&gt;?&amp;|&lt;&amp;)([\n\x1a\t\v\f\r ,;=\xa0]*)(\d)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
475 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
476 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
477 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
478 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
479 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
480 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
481 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
482 <rule pattern="((?:(?&lt;=[\n\x1a\t\v\f\r ,;=\xa0])(?&lt;!\^[\n\x1a])\d)?)(&gt;&gt;?|&lt;)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
483 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
484 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
485 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
486 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
487 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
488 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
489 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
490 <state name="label">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
491 <rule pattern="((?:(?:[^\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0+:^]|\^[\n\x1a]?[\w\W])*)?)((?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|\^[\n\x1a]?[\w\W]|[^&#34;%^\n\x1a&amp;&lt;&gt;|])*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
492 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
493 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
494 <token type="CommentSingle"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
495 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
496 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
497 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
498 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
499 <state name="arithmetic/compound">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
500 <rule pattern="(?=\))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
501 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
502 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
503 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
504 <rule pattern="0[0-7]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
505 <token type="LiteralNumberOct"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
506 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
507 <rule pattern="0x[\da-f]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
508 <token type="LiteralNumberHex"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
509 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
510 <rule pattern="\d+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
511 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
512 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
513 <rule pattern="[(),]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
514 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
515 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
516 <rule pattern="([=+\-*/!~]|%|\^\^)+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
517 <token type="Operator"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
518 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
519 <rule pattern="((?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(\^[\n\x1a]?)?[^()=+\-*/!~%^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0]|\^[\n\x1a\t\v\f\r ,;=\xa0]?[^)])+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
520 <usingself state="variable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
521 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
522 <rule pattern="(?=[\x00|&amp;])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
523 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
524 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
525 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
526 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
527 <include state="follow"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
528 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
529 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
530 <state name="string">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
531 <rule pattern="&#34;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
532 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
533 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
534 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
535 <rule pattern="(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
536 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
537 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
538 <rule pattern="\^!|%%">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
539 <token type="LiteralStringEscape"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
540 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
541 <rule pattern="[^&#34;%^\n\x1a]+|[%^]">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
542 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
543 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
544 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
545 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
546 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
547 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
548 <state name="variable">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
549 <rule pattern="&#34;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
550 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
551 <push state="string"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
552 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
553 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
554 <include state="variable-or-escape"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
555 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
556 <rule pattern="[^&#34;%^\n\x1a]+|.">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
557 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
558 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
559 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
560 <state name="call/compound">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
561 <rule pattern="(?=\))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
562 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
563 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
564 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
565 <rule pattern="(:?)((?:(?:[^\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0+:^)]|\^[\n\x1a]?[^)])*))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
566 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
567 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
568 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
569 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
570 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
571 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
572 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
573 <state name="for/f">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
574 <rule pattern="(&#34;)((?:(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[^&#34;])*?&#34;)([\n\x1a\t\v\f\r ,;=\xa0]*)(\))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
575 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
576 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
577 <usingself state="string"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
578 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
579 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
580 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
581 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
582 <rule pattern="&#34;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
583 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
584 <push state="#pop" state="for2" state="string"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
585 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
586 <rule pattern="(&#39;(?:%%|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[\w\W])*?&#39;)([\n\x1a\t\v\f\r ,;=\xa0]*)(\))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
587 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
588 <usingself state="sqstring"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
589 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
590 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
591 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
592 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
593 <rule pattern="(`(?:%%|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|[\w\W])*?`)([\n\x1a\t\v\f\r ,;=\xa0]*)(\))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
594 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
595 <usingself state="bqstring"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
596 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
597 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
598 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
599 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
600 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
601 <include state="for2"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
602 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
603 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
604 <state name="for/l">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
605 <rule pattern="-?\d+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
606 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
607 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
608 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
609 <include state="for2"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
610 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
611 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
612 <state name="if2">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
613 <rule pattern="((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?)(==)((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)?(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
614 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
615 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
616 <token type="Operator"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
617 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
618 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
619 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
620 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
621 <rule pattern="((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+))((?:equ|geq|gtr|leq|lss|neq))((?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)(?:[&amp;&lt;&gt;|]+|(?:(?:&#34;[^\n\x1a&#34;]*(?:&#34;|(?=[\n\x1a])))|(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))|(?:(?:(?:\^[\n\x1a]?)?[^&#34;\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0])+))+))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
622 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
623 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
624 <token type="OperatorWord"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
625 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
626 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
627 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
628 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
629 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
630 <state name="(?">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
631 <rule pattern="(?:(?:(?:\^[\n\x1a])?[\t\v\f\r ,;=\xa0])+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
632 <usingself state="text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
633 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
634 <rule pattern="\(">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
635 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
636 <push state="#pop" state="else?" state="root/compound"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
637 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
638 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
639 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
640 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
641 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
642 <state name="call">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
643 <rule pattern="(:?)((?:(?:[^\n\x1a&amp;&lt;&gt;|\t\v\f\r ,;=\xa0+:^]|\^[\n\x1a]?[\w\W])*))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
644 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
645 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
646 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
647 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
648 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
649 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
650 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
651 <state name="variable-or-escape">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
652 <rule pattern="(?:(?:%(?:\*|(?:~[a-z]*(?:\$[^:]+:)?)?\d|[^%:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^%\n\x1a^]|\^[^%\n\x1a])[^=\n\x1a]*=(?:[^%\n\x1a^]|\^[^%\n\x1a])*)?)?%))|(?:\^?![^!:\n\x1a]+(?::(?:~(?:-?\d+)?(?:,(?:-?\d+)?)?|(?:[^!\n\x1a^]|\^[^!\n\x1a])[^=\n\x1a]*=(?:[^!\n\x1a^]|\^[^!\n\x1a])*)?)?\^?!))">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
653 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
654 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
655 <rule pattern="%%|\^[\n\x1a]?(\^!|[\w\W])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
656 <token type="LiteralStringEscape"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
657 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
658 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
659 </rules>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
660 </lexer>