1<lexer>
2 <config>
3 <name>C3</name>
4 <alias>c3</alias>
5 <filename>*.c3</filename>
6 <filename>*.c3i</filename>
7 <filename>*.c3t</filename>
8 <dot_all>true</dot_all>
9 </config>
10 <rules>
11 <state name="vector">
12 <rule pattern=">\]">
13 <token type="Punctuation" />
14 <pop depth="1" />
15 </rule>
16 <rule pattern=""(\\\\|\\"|[^"])*"">
17 <token type="LiteralStringDouble" />
18 </rule>
19 <rule pattern="'(\\\\|\\'|[^'])*'">
20 <token type="LiteralStringChar" />
21 </rule>
22 <rule pattern="`(\\\\|\\`|[^`])*`">
23 <token type="LiteralStringDouble" />
24 </rule>
25 <rule pattern="[+-]?(?:0(?:[xX][0-9a-fA-F](?:_*[0-9a-fA-F])*|[oO][0-7](?:_*[0-7])*|[bB][10](?:_*[10])*)|[0-9](?:_*[0-9])*(?:_*[eE][+-]?[0-9]+)?)(?:[iIuU](?:8|16|32|64|128)?|[fF](?:32|64)?|[uU][lL])?">
26 <token type="LiteralNumber" />
27 </rule>
28 <rule pattern="\*">
29 <token type="LiteralNumber" />
30 </rule>
31 <rule pattern="[$]{2}(C_INT_SIZE|C_SHORT_SIZE|C_LONG_SIZE|C_LONG_LONG_SIZE|C_CHAR_IS_SIGNED|JMP_BUF_SIZE|BUILD_HASH|BUILD_DATE|OS_TYPE|ARCH_TYPE|MAX_VECTOR_SIZE|REGISTER_SIZE |REGISTER_SIZE |COMPILER_LIBC_AVAILABLE|COMPILER_LIBC_AVAILABLE|COMPILER_OPT_LEVEL|PLATFORM_BIG_ENDIAN|PLATFORM_I128_SUPPORTED|PLATFORM_F16_SUPPORTED|PLATFORM_F128_SUPPORTED|REGISTER_SIZE|COMPILER_SAFE_MODE|DEBUG_SYMBOLS|BACKTRACE|LLVM_VERSION|BENCHMARKING|TESTING|PANIC_MSG|MEMORY_ENVIRONMENT|ADDRESS_SANITIZER|MEMORY_SANITIZER|THREAD_SANITIZER|LANGUAGE_DEV_VERSION|AUTHORS|AUTHOR_EMAILS|PROJECT_VERSION)">
32 <token type="NameBuiltin" />
33 </rule>
34 <rule pattern="(\$alignof|\$assert|\$assignable|\$case|\$default|\$defined|\$echo|\$else|\$embed|\$endforeach|\$endfor|\$endif|\$endswitch|\$eval|\$evaltype|\$error|\$exec|\$extnameof|\$feature|\$foreach|\$for|\$if|\$include|\$is_const|\$nameof|\$offsetof|\$qnameof|\$sizeof|\$stringify|\$switch|\$typefrom|\$typeof|\$vacount|\$vatype|\$vaconst|\$vaarg|\$vaexpr|\$vasplat|alias|assert|asm|attrdef|bitstruct|break|case|catch|continue|default|defer|do|else|enum|extern|false|faultdef|foreach_r|foreach|for|fn|tlocal|if|inline|import|macro|module|nextcase|null|interface|return|static|struct|switch|true|try|typedef|union|while)(?!\w)">
35 <token type="Keyword" />
36 </rule>
37 <rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
38 <token type="NameOther" />
39 </rule>
40 <rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
41 <bygroups>
42 <token type="NameClass" />
43 <token type="Text" />
44 <token type="NameClass" />
45 </bygroups>
46 </rule>
47 <rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
48 <token type="NameConstant" />
49 </rule>
50 <rule pattern="\[<">
51 <token type="Punctuation" />
52 <push state="vector" />
53 </rule>
54 <rule pattern="\[">
55 <token type="Punctuation" />
56 <push state="index" />
57 </rule>
58 <rule pattern="(--|=>|>=|<=|(\||&|\+){1,3}|\?:|\?\?|\.\.)|[:?=<>%/\-\^!~]">
59 <token type="Operator" />
60 </rule>
61 <rule pattern="[(){},;.!]">
62 <token type="Punctuation" />
63 </rule>
64 <rule pattern="\s+">
65 <token type="Text" />
66 </rule>
67 </state>
68 <state name="index">
69 <rule pattern="\]">
70 <token type="Punctuation" />
71 <pop depth="1" />
72 </rule>
73 <rule pattern=""(\\\\|\\"|[^"])*"">
74 <token type="LiteralStringDouble" />
75 </rule>
76 <rule pattern="'(\\\\|\\'|[^'])*'">
77 <token type="LiteralStringChar" />
78 </rule>
79 <rule pattern="`(\\\\|\\`|[^`])*`">
80 <token type="LiteralStringDouble" />
81 </rule>
82 <rule pattern="[+-]?(?:0(?:[xX][0-9a-fA-F](?:_*[0-9a-fA-F])*|[oO][0-7](?:_*[0-7])*|[bB][10](?:_*[10])*)|[0-9](?:_*[0-9])*(?:_*[eE][+-]?[0-9]+)?)(?:[iIuU](?:8|16|32|64|128)?|[fF](?:32|64)?|[uU][lL])?">
83 <token type="LiteralNumber" />
84 </rule>
85 <rule pattern="\*">
86 <token type="LiteralNumber" />
87 </rule>
88 <rule pattern="[$]{2}(C_INT_SIZE|C_SHORT_SIZE|C_LONG_SIZE|C_LONG_LONG_SIZE|C_CHAR_IS_SIGNED|JMP_BUF_SIZE|BUILD_HASH|BUILD_DATE|OS_TYPE|ARCH_TYPE|MAX_VECTOR_SIZE|REGISTER_SIZE |REGISTER_SIZE |COMPILER_LIBC_AVAILABLE|COMPILER_LIBC_AVAILABLE|COMPILER_OPT_LEVEL|PLATFORM_BIG_ENDIAN|PLATFORM_I128_SUPPORTED|PLATFORM_F16_SUPPORTED|PLATFORM_F128_SUPPORTED|REGISTER_SIZE|COMPILER_SAFE_MODE|DEBUG_SYMBOLS|BACKTRACE|LLVM_VERSION|BENCHMARKING|TESTING|PANIC_MSG|MEMORY_ENVIRONMENT|ADDRESS_SANITIZER|MEMORY_SANITIZER|THREAD_SANITIZER|LANGUAGE_DEV_VERSION|AUTHORS|AUTHOR_EMAILS|PROJECT_VERSION)">
89 <token type="NameBuiltin" />
90 </rule>
91 <rule pattern="(\$alignof|\$assert|\$assignable|\$case|\$default|\$defined|\$echo|\$else|\$embed|\$endforeach|\$endfor|\$endif|\$endswitch|\$eval|\$evaltype|\$error|\$exec|\$extnameof|\$feature|\$foreach|\$for|\$if|\$include|\$is_const|\$nameof|\$offsetof|\$qnameof|\$sizeof|\$stringify|\$switch|\$typefrom|\$typeof|\$vacount|\$vatype|\$vaconst|\$vaarg|\$vaexpr|\$vasplat|alias|assert|asm|attrdef|bitstruct|break|case|catch|continue|default|defer|do|else|enum|extern|false|faultdef|foreach_r|foreach|for|fn|tlocal|if|inline|import|macro|module|nextcase|null|interface|return|static|struct|switch|true|try|typedef|union|while)(?!\w)">
92 <token type="Keyword" />
93 </rule>
94 <rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
95 <token type="NameOther" />
96 </rule>
97 <rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
98 <bygroups>
99 <token type="NameClass" />
100 <token type="Text" />
101 <token type="NameClass" />
102 </bygroups>
103 </rule>
104 <rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
105 <token type="NameConstant" />
106 </rule>
107 <rule pattern="\[<">
108 <token type="Punctuation" />
109 <push state="vector" />
110 </rule>
111 <rule pattern="\[">
112 <token type="Punctuation" />
113 <push state="index" />
114 </rule>
115 <rule pattern="(--|=>|>=|<=|(\||&|\+){1,3}|\?:|\?\?|\.\.)|[:?=<>%/\-\^!~]">
116 <token type="Operator" />
117 </rule>
118 <rule pattern="[(){},;.!]">
119 <token type="Punctuation" />
120 </rule>
121 <rule pattern="\s+">
122 <token type="Text" />
123 </rule>
124 </state>
125 <state name="function_type">
126 <rule pattern="void|bool|char|double|float|float16|bfloat|int128|ichar|int|iptr|isz|long|short|uint128|uint|ulong|uptr|ushort|usz|float128|any|fault|typeid">
127 <token type="NameBuiltin" />
128 </rule>
129 <rule pattern="\[<">
130 <token type="Punctuation" />
131 <push state="vector" />
132 </rule>
133 <rule pattern="\[">
134 <token type="Punctuation" />
135 <push state="index" />
136 </rule>
137 <rule pattern="\s*\(">
138 <token type="Punctuation" />
139 <pop depth="1" />
140 </rule>
141 <rule pattern="\.">
142 <token type="Punctuation" />
143 </rule>
144 <rule pattern="\s*(\*)">
145 <token type="Operator" />
146 </rule>
147 <rule pattern="[$@]?(_)?[A-Z][a-zA-Z_0-9]*">
148 <token type="NameClass" />
149 </rule>
150 <rule pattern="\s*\?">
151 <token type="NameClass" />
152 </rule>
153 <rule pattern="\s+">
154 <token type="Text" />
155 <push state="function_name" />
156 </rule>
157 <rule pattern="[@]?[_a-z][a-zA-Z_0-9]*">
158 <token type="NameFunction" />
159 <pop depth="1" />
160 </rule>
161 <rule pattern="[$]?[_a-z][a-zA-Z_0-9]*">
162 <token type="Keyword" />
163 <pop depth="1" />
164 </rule>
165 </state>
166 <state name="function_name">
167 <rule pattern="(void|bool|char|double|float|float16|bfloat|int128|ichar|int|iptr|isz|long|short|uint128|uint|ulong|uptr|ushort|usz|float128|any|fault|typeid)(?![a-zA-Z_0-9])">
168 <token type="NameBuiltin" />
169 </rule>
170 <rule pattern="[@]?[_a-z][a-zA-Z_0-9]*">
171 <token type="NameFunction" />
172 <pop depth="2" />
173 </rule>
174 <rule pattern="([$@]?(?:_)?[A-Z][a-zA-Z_0-9]*)">
175 <token type="NameClass" />
176 </rule>
177 <rule pattern="\.|\s*(\*)">
178 <token type="Punctuation" />
179 </rule>
180 <rule pattern="\[<">
181 <token type="Punctuation" />
182 <push state="vector" />
183 </rule>
184 <rule pattern="\[">
185 <token type="Punctuation" />
186 <push state="index" />
187 </rule>
188 <rule pattern="\(">
189 <token type="Punctuation" />
190 <pop depth="1" />
191 </rule>
192 </state>
193 <state name="path_segment">
194 <rule pattern="[_a-z][a-z0-9_]*">
195 <token type="NameNamespace" />
196 </rule>
197 <rule pattern="(::|,)">
198 <token type="Punctuation" />
199 </rule>
200 <rule pattern=""(\\\\|\\"|[^"])*"">
201 <token type="LiteralStringDouble" />
202 </rule>
203 <rule pattern="'(\\\\|\\'|[^'])*'">
204 <token type="LiteralStringChar" />
205 </rule>
206 <rule pattern="`(\\\\|\\`|[^`])*`">
207 <token type="LiteralStringDouble" />
208 </rule>
209 <rule pattern="(\s*)(\{)(\s*)([$@]?(?:_)?[A-Z][a-zA-Z_0-9]*)(?:(\s*)(,)(\s*)([$@]?(?:_)?[A-Z][a-zA-Z_0-9]*))*(\s*)(\})">
210 <bygroups>
211 <token type="Text" />
212 <token type="Punctuation" />
213 <token type="Text" />
214 <token type="NameClass" />
215 <token type="Text" />
216 <token type="Punctuation" />
217 <token type="Text" />
218 <token type="NameClass" />
219 <token type="Text" />
220 <token type="Punctuation" />
221 </bygroups>
222 </rule>
223 <rule pattern="@align|@benchmark|@bigendian|@builtin|@callconv|@compact|@const|@deprecated|@dynamic|@export|@extern|@finalizer|@format|@if|@inline|@init|@link|@littleendian|@local|@maydiscard|@naked|@noalias|@nodiscard|@noinit|@noinline|@nopadding|@norecurse|@noreturn|@nosanitize|@nostrip|@obfuscate|@operator|@operator_r|@operator_s|@optional|@overlap|@packed|@private|@public|@pure|@reflect|@safemacro|@section|@tag|@test|@unused|@used|@wasm|@weak|@winmain">
224 <token type="NameAttribute" />
225 </rule>
226 <rule pattern="(([\^&|+\-*/%=!]|(<|>){2})=|--|=>|>=|<=|(\||&|\+){1,3}|\?:|\?\?)|[?=<>%/\-\^*!~]">
227 <token type="Operator" />
228 </rule>
229 <rule pattern="[(){}[\],*:.!]">
230 <token type="Punctuation" />
231 </rule>
232 <rule pattern="(\$alignof|\$assert|\$assignable|\$case|\$default|\$defined|\$echo|\$else|\$embed|\$endforeach|\$endfor|\$endif|\$endswitch|\$eval|\$evaltype|\$error|\$exec|\$extnameof|\$feature|\$foreach|\$for|\$if|\$include|\$is_const|\$nameof|\$offsetof|\$qnameof|\$sizeof|\$stringify|\$switch|\$typefrom|\$typeof|\$vacount|\$vatype|\$vaconst|\$vaarg|\$vaexpr|\$vasplat|alias|assert|asm|attrdef|bitstruct|break|case|catch|continue|default|defer|do|else|enum|extern|false|faultdef|foreach_r|foreach|for|fn|tlocal|if|inline|import|macro|module|nextcase|null|interface|return|static|struct|switch|true|try|typedef|union|while)(?!\w)">
233 <token type="Keyword" />
234 </rule>
235 <rule pattern="([$#@]*[_a-z][a-z0-9A-Z_]*)(\s*)(\()">
236 <bygroups>
237 <token type="NameFunction" />
238 <token type="Text" />
239 <token type="Punctuation" />
240 </bygroups>
241 </rule>
242 <rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
243 <token type="NameOther" />
244 </rule>
245 <rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
246 <bygroups>
247 <token type="NameClass" />
248 <token type="Text" />
249 <token type="NameClass" />
250 </bygroups>
251 </rule>
252 <rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
253 <token type="NameConstant" />
254 </rule>
255 <rule pattern="\[<">
256 <token type="Punctuation" />
257 <push state="vector" />
258 </rule>
259 <rule pattern="[;]">
260 <token type="Punctuation" />
261 <pop depth="1" />
262 </rule>
263 <rule pattern="\s+">
264 <token type="Text" />
265 </rule>
266 </state>
267 <state name="root">
268 <rule pattern="//.*?\n">
269 <token type="CommentSingle"/>
270 </rule>
271 <rule pattern="/\*.*?\*/">
272 <token type="CommentMultiline"/>
273 </rule>
274 <rule pattern="<\*.*?\*>">
275 <token type="CommentMultiline"/>
276 </rule>
277 <rule pattern="(module|import)(\s+)">
278 <bygroups>
279 <token type="Keyword" />
280 <token type="Text" />
281 </bygroups>
282 <push state="path_segment" />
283 </rule>
284 <rule pattern="(extern)?(fn|macro)(\s+)">
285 <bygroups>
286 <token type="Keyword" />
287 <token type="Keyword" />
288 <token type="Text" />
289 </bygroups>
290 <push state="function_type" />
291 </rule>
292 <rule pattern="[$]{2}(C_INT_SIZE|C_SHORT_SIZE|C_LONG_SIZE|C_LONG_LONG_SIZE|C_CHAR_IS_SIGNED|JMP_BUF_SIZE|BUILD_HASH|BUILD_DATE|OS_TYPE|ARCH_TYPE|MAX_VECTOR_SIZE|REGISTER_SIZE |REGISTER_SIZE |COMPILER_LIBC_AVAILABLE|COMPILER_LIBC_AVAILABLE|COMPILER_OPT_LEVEL|PLATFORM_BIG_ENDIAN|PLATFORM_I128_SUPPORTED|PLATFORM_F16_SUPPORTED|PLATFORM_F128_SUPPORTED|REGISTER_SIZE|COMPILER_SAFE_MODE|DEBUG_SYMBOLS|BACKTRACE|LLVM_VERSION|BENCHMARKING|TESTING|PANIC_MSG|MEMORY_ENVIRONMENT|ADDRESS_SANITIZER|MEMORY_SANITIZER|THREAD_SANITIZER|LANGUAGE_DEV_VERSION|AUTHORS|AUTHOR_EMAILS|PROJECT_VERSION)">
293 <token type="NameBuiltin" />
294 </rule>
295 <rule pattern="(void|bool|char|double|float|float16|bfloat|int128|ichar|int|iptr|isz|long|short|uint128|uint|ulong|uptr|ushort|usz|float128|any|fault|typeid)(\s*)(\?)?">
296 <bygroups>
297 <token type="NameBuiltin" />
298 <token type="Text" />
299 <token type="NameClass" />
300 </bygroups>
301 </rule>
302 <rule pattern="(\$alignof|\$assert|\$assignable|\$case|\$default|\$defined|\$echo|\$else|\$embed|\$endforeach|\$endfor|\$endif|\$endswitch|\$eval|\$evaltype|\$error|\$exec|\$extnameof|\$feature|\$foreach|\$for|\$if|\$include|\$is_const|\$nameof|\$offsetof|\$qnameof|\$sizeof|\$stringify|\$switch|\$typefrom|\$typeof|\$vacount|\$vatype|\$vaconst|\$vaarg|\$vaexpr|\$vasplat|alias|assert|asm|attrdef|bitstruct|break|case|catch|continue|default|defer|do|else|enum|extern|false|faultdef|foreach_r|foreach|for|fn|tlocal|if|inline|import|macro|module|nextcase|null|interface|return|static|struct|switch|true|try|typedef|union|while)(?!\w)">
303 <token type="Keyword" />
304 </rule>
305 <rule pattern="var|const">
306 <token type="KeywordDeclaration" />
307 </rule>
308 <rule pattern="\A#! ?/.*?\n">
309 <token type="CommentHashbang" />
310 </rule>
311 <rule pattern=""(\\\\|\\"|[^"])*"">
312 <token type="LiteralStringDouble" />
313 </rule>
314 <rule pattern="'(\\\\|\\'|[^'])*'">
315 <token type="LiteralStringChar" />
316 </rule>
317 <rule pattern="`(\\\\|\\`|[^`])*`">
318 <token type="LiteralStringDouble" />
319 </rule>
320 <rule pattern="([_a-z][a-z0-9_]*)(::)">
321 <bygroups>
322 <token type="NameNamespace" />
323 <token type="Punctuation" />
324 </bygroups>
325 </rule>
326 <rule pattern="[+-]?(?:0(?:[xX][0-9a-fA-F](?:_*[0-9a-fA-F])*|[oO][0-7](?:_*[0-7])*|[bB][10](?:_*[10])*)|[0-9](?:_*[0-9])*(?:_*[eE][+-]?[0-9]+)?)(?:[iIuU](?:8|16|32|64|128)?|[fF](?:32|64)?|[uU][lL])?">
327 <token type="LiteralNumber" />
328 </rule>
329 <rule pattern="@align|@benchmark|@bigendian|@builtin|@callconv|@compact|@const|@deprecated|@dynamic|@export|@extern|@finalizer|@format|@if|@inline|@init|@link|@littleendian|@local|@maydiscard|@naked|@noalias|@nodiscard|@noinit|@noinline|@nopadding|@norecurse|@noreturn|@nosanitize|@nostrip|@obfuscate|@operator|@operator_r|@operator_s|@optional|@overlap|@packed|@private|@public|@pure|@reflect|@safemacro|@section|@tag|@test|@unused|@used|@wasm|@weak|@winmain">
330 <token type="NameAttribute" />
331 </rule>
332 <rule pattern="\$\$abs|\$\$any_make|\$\$atomic_load|\$\$atomic_store|\$\$atomic_fetch_exchange|\$\$atomic_fetch_add|\$\$atomic_fetch_sub|\$\$atomic_fetch_and|\$\$atomic_fetch_nand|\$\$atomic_fetch_or|\$\$atomic_fetch_xor|\$\$atomic_fetch_max|\$\$atomic_fetch_min|\$\$atomic_fetch_inc_wrap|\$\$atomic_fetch_dec_wrap|\$\$bitreverse|\$\$breakpoint|\$\$bswap|\$\$ceil|\$\$compare_exchange|\$\$copysign|\$\$cos|\$\$clz|\$\$ctz|\$\$add|\$\$div|\$\$mod|\$\$mul|\$\$neg|\$\$sub|\$\$exp|\$\$exp2|\$\$expect|\$\$expect_with_probability|\$\$floor|\$\$fma|\$\$fmuladd|\$\$frameaddress|\$\$fshl|\$\$fshr|\$\$gather|\$\$get_rounding_mode|\$\$log|\$\$log10|\$\$log2|\$\$masked_load|\$\$masked_store|\$\$max|\$\$memcpy|\$\$memcpy_inline|\$\$memmove|\$\$memset|\$\$memset_inline|\$\$min|\$\$nearbyint|\$\$overflow_add|\$\$overflow_mul|\$\$overflow_sub|\$\$popcount|\$\$pow|\$\$pow_int|\$\$prefetch|\$\$reduce_add|\$\$reduce_and|\$\$reduce_fadd|\$\$reduce_fmul|\$\$reduce_max|\$\$reduce_min|\$\$reduce_mul|\$\$reduce_or|\$\$reduce_xor|\$\$reverse|\$\$returnaddress|\$\$rint|\$\$round|\$\$roundeven|\$\$sat_add|\$\$sat_shl|\$\$sat_sub|\$\$scatter|\$\$select|\$\$set_rounding_mode|\$\$str_hash|\$\$str_upper|\$\$str_lower|\$\$str_find|\$\$swizzle|\$\$swizzle2|\$\$sin|\$\$sqrt|\$\$syscall|\$\$sysclock|\$\$trap|\$\$trunc|\$\$unaligned_load|\$\$unaligned_store|\$\$unreachable|\$\$veccomplt|\$\$veccomple|\$\$veccompgt|\$\$veccompge|\$\$veccompeq|\$\$veccompne|\$\$volatile_load|\$\$volatile_store|\$\$wasm_memory_size|\$\$wasm_memory_grow|\$\$wstr16|\$\$wstr32|\$\$DATE|\$\$FILE|\$\$FILEPATH|\$\$FUNC|\$\$FUNCTION|\$\$LINE|\$\$LINE_RAW|\$\$MODULE|\$\$BENCHMARK_NAMES|\$\$BENCHMARK_FNS|\$\$TEST_NAMES|\$\$TEST_FNS|\$\$TIME">
333 <token type="NameBuiltin" />
334 </rule>
335 <rule pattern="([$#@]*[_a-z][a-z0-9A-Z_]*)(\s*)(\()">
336 <bygroups>
337 <token type="NameFunction" />
338 <token type="Text" />
339 <token type="Punctuation" />
340 </bygroups>
341 </rule>
342 <rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
343 <token type="NameOther" />
344 </rule>
345 <rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
346 <bygroups>
347 <token type="NameClass" />
348 <token type="Text" />
349 <token type="NameClass" />
350 </bygroups>
351 </rule>
352 <rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
353 <token type="NameConstant" />
354 </rule>
355 <rule pattern="\[<">
356 <token type="Punctuation" />
357 <push state="vector" />
358 </rule>
359 <rule pattern="\[">
360 <token type="Punctuation" />
361 <push state="index" />
362 </rule>
363 <rule pattern="(([\^&|+\-*/%=!]|(<|>){2})=|--|=>|>=|<=|(\||&|\+){1,3}|\?:|\?\?)|[?=<>%/\-\^*!~]">
364 <token type="Operator" />
365 </rule>
366 <rule pattern="[(){},;*:.!]">
367 <token type="Punctuation" />
368 </rule>
369 <rule pattern="\s+">
370 <token type="Text" />
371 </rule>
372 </state>
373 </rules>
374</lexer>