<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>
