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