Files
cheat/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/c3.xml
Christopher Allen Lane 2a19755804 chore: modernize CI and update Go toolchain
- Bump Go from 1.19 to 1.26 and update all dependencies
- Rewrite CI workflow with matrix strategy (Linux, macOS, Windows)
- Update GitHub Actions to current versions (checkout@v4, setup-go@v5)
- Update CodeQL actions from v1 to v3
- Fix cross-platform bug in mock/path.go (path.Join -> filepath.Join)
- Clean up dependabot config (weekly schedule, remove stale ignore)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:58:51 -05:00

375 lines
19 KiB
XML

<lexer>
<config>
<name>C3</name>
<alias>c3</alias>
<filename>*.c3</filename>
<filename>*.c3i</filename>
<filename>*.c3t</filename>
<dot_all>true</dot_all>
</config>
<rules>
<state name="vector">
<rule pattern="&#62;\]">
<token type="Punctuation" />
<pop depth="1" />
</rule>
<rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
<token type="LiteralStringDouble" />
</rule>
<rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
<token type="LiteralStringChar" />
</rule>
<rule pattern="`(\\\\|\\`|[^`])*`">
<token type="LiteralStringDouble" />
</rule>
<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])?">
<token type="LiteralNumber" />
</rule>
<rule pattern="\*">
<token type="LiteralNumber" />
</rule>
<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)">
<token type="NameBuiltin" />
</rule>
<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)">
<token type="Keyword" />
</rule>
<rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
<token type="NameOther" />
</rule>
<rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
<bygroups>
<token type="NameClass" />
<token type="Text" />
<token type="NameClass" />
</bygroups>
</rule>
<rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
<token type="NameConstant" />
</rule>
<rule pattern="\[&#60;">
<token type="Punctuation" />
<push state="vector" />
</rule>
<rule pattern="\[">
<token type="Punctuation" />
<push state="index" />
</rule>
<rule pattern="(--|&#61;&#62;|&#62;&#61;|&#60;&#61;|(\||&amp;|\+){1,3}|\?:|\?\?|\.\.)|[:?&#61;&#60;&#62;%/\-\^!~]">
<token type="Operator" />
</rule>
<rule pattern="[(){},;.!]">
<token type="Punctuation" />
</rule>
<rule pattern="\s+">
<token type="Text" />
</rule>
</state>
<state name="index">
<rule pattern="\]">
<token type="Punctuation" />
<pop depth="1" />
</rule>
<rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
<token type="LiteralStringDouble" />
</rule>
<rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
<token type="LiteralStringChar" />
</rule>
<rule pattern="`(\\\\|\\`|[^`])*`">
<token type="LiteralStringDouble" />
</rule>
<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])?">
<token type="LiteralNumber" />
</rule>
<rule pattern="\*">
<token type="LiteralNumber" />
</rule>
<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)">
<token type="NameBuiltin" />
</rule>
<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)">
<token type="Keyword" />
</rule>
<rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
<token type="NameOther" />
</rule>
<rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
<bygroups>
<token type="NameClass" />
<token type="Text" />
<token type="NameClass" />
</bygroups>
</rule>
<rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
<token type="NameConstant" />
</rule>
<rule pattern="\[&#60;">
<token type="Punctuation" />
<push state="vector" />
</rule>
<rule pattern="\[">
<token type="Punctuation" />
<push state="index" />
</rule>
<rule pattern="(--|&#61;&#62;|&#62;&#61;|&#60;&#61;|(\||&amp;|\+){1,3}|\?:|\?\?|\.\.)|[:?&#61;&#60;&#62;%/\-\^!~]">
<token type="Operator" />
</rule>
<rule pattern="[(){},;.!]">
<token type="Punctuation" />
</rule>
<rule pattern="\s+">
<token type="Text" />
</rule>
</state>
<state name="function_type">
<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">
<token type="NameBuiltin" />
</rule>
<rule pattern="\[&#60;">
<token type="Punctuation" />
<push state="vector" />
</rule>
<rule pattern="\[">
<token type="Punctuation" />
<push state="index" />
</rule>
<rule pattern="\s*\(">
<token type="Punctuation" />
<pop depth="1" />
</rule>
<rule pattern="\.">
<token type="Punctuation" />
</rule>
<rule pattern="\s*(\*)">
<token type="Operator" />
</rule>
<rule pattern="[$@]?(_)?[A-Z][a-zA-Z_0-9]*">
<token type="NameClass" />
</rule>
<rule pattern="\s*\?">
<token type="NameClass" />
</rule>
<rule pattern="\s+">
<token type="Text" />
<push state="function_name" />
</rule>
<rule pattern="[@]?[_a-z][a-zA-Z_0-9]*">
<token type="NameFunction" />
<pop depth="1" />
</rule>
<rule pattern="[$]?[_a-z][a-zA-Z_0-9]*">
<token type="Keyword" />
<pop depth="1" />
</rule>
</state>
<state name="function_name">
<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])">
<token type="NameBuiltin" />
</rule>
<rule pattern="[@]?[_a-z][a-zA-Z_0-9]*">
<token type="NameFunction" />
<pop depth="2" />
</rule>
<rule pattern="([$@]?(?:_)?[A-Z][a-zA-Z_0-9]*)">
<token type="NameClass" />
</rule>
<rule pattern="\.|\s*(\*)">
<token type="Punctuation" />
</rule>
<rule pattern="\[&#60;">
<token type="Punctuation" />
<push state="vector" />
</rule>
<rule pattern="\[">
<token type="Punctuation" />
<push state="index" />
</rule>
<rule pattern="\(">
<token type="Punctuation" />
<pop depth="1" />
</rule>
</state>
<state name="path_segment">
<rule pattern="[_a-z][a-z0-9_]*">
<token type="NameNamespace" />
</rule>
<rule pattern="(::|,)">
<token type="Punctuation" />
</rule>
<rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
<token type="LiteralStringDouble" />
</rule>
<rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
<token type="LiteralStringChar" />
</rule>
<rule pattern="`(\\\\|\\`|[^`])*`">
<token type="LiteralStringDouble" />
</rule>
<rule pattern="(\s*)(\{)(\s*)([$@]?(?:_)?[A-Z][a-zA-Z_0-9]*)(?:(\s*)(,)(\s*)([$@]?(?:_)?[A-Z][a-zA-Z_0-9]*))*(\s*)(\})">
<bygroups>
<token type="Text" />
<token type="Punctuation" />
<token type="Text" />
<token type="NameClass" />
<token type="Text" />
<token type="Punctuation" />
<token type="Text" />
<token type="NameClass" />
<token type="Text" />
<token type="Punctuation" />
</bygroups>
</rule>
<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">
<token type="NameAttribute" />
</rule>
<rule pattern="(([\^&amp;|+\-*/%=!]|(&#60;|&#62;){2})=|--|&#61;&#62;|&#62;&#61;|&#60;&#61;|(\||&amp;|\+){1,3}|\?:|\?\?)|[?&#61;&#60;&#62;%/\-\^*!~]">
<token type="Operator" />
</rule>
<rule pattern="[(){}[\],*:.!]">
<token type="Punctuation" />
</rule>
<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)">
<token type="Keyword" />
</rule>
<rule pattern="([$#@]*[_a-z][a-z0-9A-Z_]*)(\s*)(\()">
<bygroups>
<token type="NameFunction" />
<token type="Text" />
<token type="Punctuation" />
</bygroups>
</rule>
<rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
<token type="NameOther" />
</rule>
<rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
<bygroups>
<token type="NameClass" />
<token type="Text" />
<token type="NameClass" />
</bygroups>
</rule>
<rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
<token type="NameConstant" />
</rule>
<rule pattern="\[&#60;">
<token type="Punctuation" />
<push state="vector" />
</rule>
<rule pattern="[;]">
<token type="Punctuation" />
<pop depth="1" />
</rule>
<rule pattern="\s+">
<token type="Text" />
</rule>
</state>
<state name="root">
<rule pattern="//.*?\n">
<token type="CommentSingle"/>
</rule>
<rule pattern="/\*.*?\*/">
<token type="CommentMultiline"/>
</rule>
<rule pattern="&#60;\*.*?\*&#62;">
<token type="CommentMultiline"/>
</rule>
<rule pattern="(module|import)(\s+)">
<bygroups>
<token type="Keyword" />
<token type="Text" />
</bygroups>
<push state="path_segment" />
</rule>
<rule pattern="(extern)?(fn|macro)(\s+)">
<bygroups>
<token type="Keyword" />
<token type="Keyword" />
<token type="Text" />
</bygroups>
<push state="function_type" />
</rule>
<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)">
<token type="NameBuiltin" />
</rule>
<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*)(\?)?">
<bygroups>
<token type="NameBuiltin" />
<token type="Text" />
<token type="NameClass" />
</bygroups>
</rule>
<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)">
<token type="Keyword" />
</rule>
<rule pattern="var|const">
<token type="KeywordDeclaration" />
</rule>
<rule pattern="\A#! ?/.*?\n">
<token type="CommentHashbang" />
</rule>
<rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
<token type="LiteralStringDouble" />
</rule>
<rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
<token type="LiteralStringChar" />
</rule>
<rule pattern="`(\\\\|\\`|[^`])*`">
<token type="LiteralStringDouble" />
</rule>
<rule pattern="([_a-z][a-z0-9_]*)(::)">
<bygroups>
<token type="NameNamespace" />
<token type="Punctuation" />
</bygroups>
</rule>
<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])?">
<token type="LiteralNumber" />
</rule>
<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">
<token type="NameAttribute" />
</rule>
<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">
<token type="NameBuiltin" />
</rule>
<rule pattern="([$#@]*[_a-z][a-z0-9A-Z_]*)(\s*)(\()">
<bygroups>
<token type="NameFunction" />
<token type="Text" />
<token type="Punctuation" />
</bygroups>
</rule>
<rule pattern="[$#@]*[_a-z][a-z0-9A-Z_]*">
<token type="NameOther" />
</rule>
<rule pattern="([$@]?(?:_)?[A-Z][a-z0-9A-Z_]*)(\s*)(\?)?">
<bygroups>
<token type="NameClass" />
<token type="Text" />
<token type="NameClass" />
</bygroups>
</rule>
<rule pattern="[$]?(_)?[A-Z][0-9A-Z_]*">
<token type="NameConstant" />
</rule>
<rule pattern="\[&#60;">
<token type="Punctuation" />
<push state="vector" />
</rule>
<rule pattern="\[">
<token type="Punctuation" />
<push state="index" />
</rule>
<rule pattern="(([\^&amp;|+\-*/%=!]|(&#60;|&#62;){2})=|--|&#61;&#62;|&#62;&#61;|&#60;&#61;|(\||&amp;|\+){1,3}|\?:|\?\?)|[?&#61;&#60;&#62;%/\-\^*!~]">
<token type="Operator" />
</rule>
<rule pattern="[(){},;*:.!]">
<token type="Punctuation" />
</rule>
<rule pattern="\s+">
<token type="Text" />
</rule>
</state>
</rules>
</lexer>