...

Text file src/github.com/alecthomas/chroma/v2/lexers/embedded/factor.xml

Documentation: github.com/alecthomas/chroma/v2/lexers/embedded

     1<lexer>
     2  <config>
     3    <name>Factor</name>
     4    <alias>factor</alias>
     5    <filename>*.factor</filename>
     6    <mime_type>text/x-factor</mime_type>
     7  </config>
     8  <rules>
     9    <state name="base">
    10      <rule pattern="\s+">
    11        <token type="Text"/>
    12      </rule>
    13      <rule pattern="((?:MACRO|MEMO|TYPED)?:[:]?)(\s+)(\S+)">
    14        <bygroups>
    15          <token type="Keyword"/>
    16          <token type="Text"/>
    17          <token type="NameFunction"/>
    18        </bygroups>
    19      </rule>
    20      <rule pattern="(M:[:]?)(\s+)(\S+)(\s+)(\S+)">
    21        <bygroups>
    22          <token type="Keyword"/>
    23          <token type="Text"/>
    24          <token type="NameClass"/>
    25          <token type="Text"/>
    26          <token type="NameFunction"/>
    27        </bygroups>
    28      </rule>
    29      <rule pattern="(C:)(\s+)(\S+)(\s+)(\S+)">
    30        <bygroups>
    31          <token type="Keyword"/>
    32          <token type="Text"/>
    33          <token type="NameFunction"/>
    34          <token type="Text"/>
    35          <token type="NameClass"/>
    36        </bygroups>
    37      </rule>
    38      <rule pattern="(GENERIC:)(\s+)(\S+)">
    39        <bygroups>
    40          <token type="Keyword"/>
    41          <token type="Text"/>
    42          <token type="NameFunction"/>
    43        </bygroups>
    44      </rule>
    45      <rule pattern="(HOOK:|GENERIC#)(\s+)(\S+)(\s+)(\S+)">
    46        <bygroups>
    47          <token type="Keyword"/>
    48          <token type="Text"/>
    49          <token type="NameFunction"/>
    50          <token type="Text"/>
    51          <token type="NameFunction"/>
    52        </bygroups>
    53      </rule>
    54      <rule pattern="\(\s">
    55        <token type="NameFunction"/>
    56        <push state="stackeffect"/>
    57      </rule>
    58      <rule pattern=";\s">
    59        <token type="Keyword"/>
    60      </rule>
    61      <rule pattern="(USING:)(\s+)">
    62        <bygroups>
    63          <token type="KeywordNamespace"/>
    64          <token type="Text"/>
    65        </bygroups>
    66        <push state="vocabs"/>
    67      </rule>
    68      <rule pattern="(USE:|UNUSE:|IN:|QUALIFIED:)(\s+)(\S+)">
    69        <bygroups>
    70          <token type="KeywordNamespace"/>
    71          <token type="Text"/>
    72          <token type="NameNamespace"/>
    73        </bygroups>
    74      </rule>
    75      <rule pattern="(QUALIFIED-WITH:)(\s+)(\S+)(\s+)(\S+)">
    76        <bygroups>
    77          <token type="KeywordNamespace"/>
    78          <token type="Text"/>
    79          <token type="NameNamespace"/>
    80          <token type="Text"/>
    81          <token type="NameNamespace"/>
    82        </bygroups>
    83      </rule>
    84      <rule pattern="(FROM:|EXCLUDE:)(\s+)(\S+)(\s+=&gt;\s)">
    85        <bygroups>
    86          <token type="KeywordNamespace"/>
    87          <token type="Text"/>
    88          <token type="NameNamespace"/>
    89          <token type="Text"/>
    90        </bygroups>
    91        <push state="words"/>
    92      </rule>
    93      <rule pattern="(RENAME:)(\s+)(\S+)(\s+)(\S+)(\s+=&gt;\s+)(\S+)">
    94        <bygroups>
    95          <token type="KeywordNamespace"/>
    96          <token type="Text"/>
    97          <token type="NameFunction"/>
    98          <token type="Text"/>
    99          <token type="NameNamespace"/>
   100          <token type="Text"/>
   101          <token type="NameFunction"/>
   102        </bygroups>
   103      </rule>
   104      <rule pattern="(ALIAS:|TYPEDEF:)(\s+)(\S+)(\s+)(\S+)">
   105        <bygroups>
   106          <token type="KeywordNamespace"/>
   107          <token type="Text"/>
   108          <token type="NameFunction"/>
   109          <token type="Text"/>
   110          <token type="NameFunction"/>
   111        </bygroups>
   112      </rule>
   113      <rule pattern="(DEFER:|FORGET:|POSTPONE:)(\s+)(\S+)">
   114        <bygroups>
   115          <token type="KeywordNamespace"/>
   116          <token type="Text"/>
   117          <token type="NameFunction"/>
   118        </bygroups>
   119      </rule>
   120      <rule pattern="(TUPLE:|ERROR:)(\s+)(\S+)(\s+&lt;\s+)(\S+)">
   121        <bygroups>
   122          <token type="Keyword"/>
   123          <token type="Text"/>
   124          <token type="NameClass"/>
   125          <token type="Text"/>
   126          <token type="NameClass"/>
   127        </bygroups>
   128        <push state="slots"/>
   129      </rule>
   130      <rule pattern="(TUPLE:|ERROR:|BUILTIN:)(\s+)(\S+)">
   131        <bygroups>
   132          <token type="Keyword"/>
   133          <token type="Text"/>
   134          <token type="NameClass"/>
   135        </bygroups>
   136        <push state="slots"/>
   137      </rule>
   138      <rule pattern="(MIXIN:|UNION:|INTERSECTION:)(\s+)(\S+)">
   139        <bygroups>
   140          <token type="Keyword"/>
   141          <token type="Text"/>
   142          <token type="NameClass"/>
   143        </bygroups>
   144      </rule>
   145      <rule pattern="(PREDICATE:)(\s+)(\S+)(\s+&lt;\s+)(\S+)">
   146        <bygroups>
   147          <token type="Keyword"/>
   148          <token type="Text"/>
   149          <token type="NameClass"/>
   150          <token type="Text"/>
   151          <token type="NameClass"/>
   152        </bygroups>
   153      </rule>
   154      <rule pattern="(C:)(\s+)(\S+)(\s+)(\S+)">
   155        <bygroups>
   156          <token type="Keyword"/>
   157          <token type="Text"/>
   158          <token type="NameFunction"/>
   159          <token type="Text"/>
   160          <token type="NameClass"/>
   161        </bygroups>
   162      </rule>
   163      <rule pattern="(INSTANCE:)(\s+)(\S+)(\s+)(\S+)">
   164        <bygroups>
   165          <token type="Keyword"/>
   166          <token type="Text"/>
   167          <token type="NameClass"/>
   168          <token type="Text"/>
   169          <token type="NameClass"/>
   170        </bygroups>
   171      </rule>
   172      <rule pattern="(SLOT:)(\s+)(\S+)">
   173        <bygroups>
   174          <token type="Keyword"/>
   175          <token type="Text"/>
   176          <token type="NameFunction"/>
   177        </bygroups>
   178      </rule>
   179      <rule pattern="(SINGLETON:)(\s+)(\S+)">
   180        <bygroups>
   181          <token type="Keyword"/>
   182          <token type="Text"/>
   183          <token type="NameClass"/>
   184        </bygroups>
   185      </rule>
   186      <rule pattern="SINGLETONS:">
   187        <token type="Keyword"/>
   188        <push state="classes"/>
   189      </rule>
   190      <rule pattern="(CONSTANT:|SYMBOL:|MAIN:|HELP:)(\s+)(\S+)">
   191        <bygroups>
   192          <token type="Keyword"/>
   193          <token type="Text"/>
   194          <token type="NameFunction"/>
   195        </bygroups>
   196      </rule>
   197      <rule pattern="SYMBOLS:\s">
   198        <token type="Keyword"/>
   199        <push state="words"/>
   200      </rule>
   201      <rule pattern="SYNTAX:\s">
   202        <token type="Keyword"/>
   203      </rule>
   204      <rule pattern="ALIEN:\s">
   205        <token type="Keyword"/>
   206      </rule>
   207      <rule pattern="(STRUCT:)(\s+)(\S+)">
   208        <bygroups>
   209          <token type="Keyword"/>
   210          <token type="Text"/>
   211          <token type="NameClass"/>
   212        </bygroups>
   213      </rule>
   214      <rule pattern="(FUNCTION:)(\s+\S+\s+)(\S+)(\s+\(\s+[^)]+\)\s)">
   215        <bygroups>
   216          <token type="KeywordNamespace"/>
   217          <token type="Text"/>
   218          <token type="NameFunction"/>
   219          <token type="Text"/>
   220        </bygroups>
   221      </rule>
   222      <rule pattern="(FUNCTION-ALIAS:)(\s+)(\S+)(\s+\S+\s+)(\S+)(\s+\(\s+[^)]+\)\s)">
   223        <bygroups>
   224          <token type="KeywordNamespace"/>
   225          <token type="Text"/>
   226          <token type="NameFunction"/>
   227          <token type="Text"/>
   228          <token type="NameFunction"/>
   229          <token type="Text"/>
   230        </bygroups>
   231      </rule>
   232      <rule pattern="(?:&lt;PRIVATE|PRIVATE&gt;)\s">
   233        <token type="KeywordNamespace"/>
   234      </rule>
   235      <rule pattern="&#34;&#34;&#34;\s+(?:.|\n)*?\s+&#34;&#34;&#34;">
   236        <token type="LiteralString"/>
   237      </rule>
   238      <rule pattern="&#34;(?:\\\\|\\&#34;|[^&#34;])*&#34;">
   239        <token type="LiteralString"/>
   240      </rule>
   241      <rule pattern="\S+&#34;\s+(?:\\\\|\\&#34;|[^&#34;])*&#34;">
   242        <token type="LiteralString"/>
   243      </rule>
   244      <rule pattern="CHAR:\s+(?:\\[\\abfnrstv]|[^\\]\S*)\s">
   245        <token type="LiteralStringChar"/>
   246      </rule>
   247      <rule pattern="!\s+.*$">
   248        <token type="Comment"/>
   249      </rule>
   250      <rule pattern="#!\s+.*$">
   251        <token type="Comment"/>
   252      </rule>
   253      <rule pattern="/\*\s+(?:.|\n)*?\s\*/\s">
   254        <token type="Comment"/>
   255      </rule>
   256      <rule pattern="[tf]\s">
   257        <token type="NameConstant"/>
   258      </rule>
   259      <rule pattern="[\\$]\s+\S+">
   260        <token type="NameConstant"/>
   261      </rule>
   262      <rule pattern="M\\\s+\S+\s+\S+">
   263        <token type="NameConstant"/>
   264      </rule>
   265      <rule pattern="[+-]?(?:[\d,]*\d)?\.(?:\d([\d,]*\d)?)?(?:[eE][+-]?\d+)?\s">
   266        <token type="LiteralNumber"/>
   267      </rule>
   268      <rule pattern="[+-]?\d(?:[\d,]*\d)?(?:[eE][+-]?\d+)?\s">
   269        <token type="LiteralNumber"/>
   270      </rule>
   271      <rule pattern="0x[a-fA-F\d](?:[a-fA-F\d,]*[a-fA-F\d])?(?:p\d([\d,]*\d)?)?\s">
   272        <token type="LiteralNumber"/>
   273      </rule>
   274      <rule pattern="NAN:\s+[a-fA-F\d](?:[a-fA-F\d,]*[a-fA-F\d])?(?:p\d([\d,]*\d)?)?\s">
   275        <token type="LiteralNumber"/>
   276      </rule>
   277      <rule pattern="0b[01]+\s">
   278        <token type="LiteralNumberBin"/>
   279      </rule>
   280      <rule pattern="0o[0-7]+\s">
   281        <token type="LiteralNumberOct"/>
   282      </rule>
   283      <rule pattern="(?:\d([\d,]*\d)?)?\+\d(?:[\d,]*\d)?/\d(?:[\d,]*\d)?\s">
   284        <token type="LiteralNumber"/>
   285      </rule>
   286      <rule pattern="(?:\-\d([\d,]*\d)?)?\-\d(?:[\d,]*\d)?/\d(?:[\d,]*\d)?\s">
   287        <token type="LiteralNumber"/>
   288      </rule>
   289      <rule pattern="(?:deprecated|final|foldable|flushable|inline|recursive)\s">
   290        <token type="Keyword"/>
   291      </rule>
   292      <rule pattern="(identity-hashcode|callstack&gt;array|identity-tuple\?|identity-tuple|retainstack|callstack\?|tri-curry\*|tri-curry@|tri-curry|&lt;wrapper&gt;|datastack|bi-curry@|bi-curry\*|hashcode\*|callstack|\?execute|hashcode|boolean\?|compose\?|&gt;boolean|wrapper\?|bi-curry|unless\*|boolean|assert\?|\(clone\)|either\?|prepose|assert=|execute|wrapper|compose|3curry|assert|2curry|curry\?|object|equal\?|tuple\?|unless|build|3drop|same\?|2tri\*|2tri@|both\?|3keep|4drop|throw|2over|swapd|clear|2keep|2drop|until|curry|4keep|clone|while|tuple|when\*|-rot|tri@|dupd|drop|tri\*|call|when|with|4dup|4dip|3tri|3dup|3dip|2tri|keep|loop|most|2nip|swap|2dup|null|2dip|2bi\*|2bi@|pick|over|and|rot|not|nip|new|if\*|tri|2bi|boa|eq\?|dup|3bi|dip|die|bi\*|bi@|\?if|xor|bi|do|if|or|\?|=)\s">
   293        <token type="NameBuiltin"/>
   294      </rule>
   295      <rule pattern="(assoc-clone-like|assoc-filter-as|assoc-partition|assoc-intersect|assoc-hashcode|assoc-combine|assoc-filter!|assoc-subset\?|assoc-union!|maybe-set-at|extract-keys|assoc-map-as|assoc-differ|assoc-refine|assoc-empty\?|assoc-filter|assoc-diff!|sift-values|assoc-union|assoc-stack|clear-assoc|assoc-all\?|delete-at\*|assoc-find|substitute|assoc-each|assoc-size|assoc-diff|assoc-any\?|assoc-like|rename-at|sift-keys|new-assoc|map&gt;assoc|value-at\*|assoc-map|delete-at|change-at|assoc&gt;map|value-at|push-at|assoc=|values|set-at|&lt;enum&gt;|inc-at|2cache|value\?|assoc\?|&gt;alist|cache|enum\?|assoc|unzip|key\?|enum|keys|\?at|\?of|zip|at\+|at\*|at|of)\s">
   296        <token type="NameBuiltin"/>
   297      </rule>
   298      <rule pattern="(shallow-spread&gt;quot|recursive-hashcode|linear-case-quot|deep-spread&gt;quot|to-fixed-point|execute-effect|wrong-values\?|4cleave&gt;quot|2cleave&gt;quot|wrong-values|3cleave&gt;quot|cleave&gt;quot|call-effect|alist&gt;quot|case&gt;quot|case-find|cond&gt;quot|no-case\?|no-cond\?|no-case|no-cond|4cleave|3cleave|2cleave|cleave|spread|cond|case)\s">
   299        <token type="NameBuiltin"/>
   300      </rule>
   301      <rule pattern="(log2-expects-positive\?|integer&gt;fixnum-strict|log2-expects-positive|out-of-fixnum-range\?|out-of-fixnum-range|find-last-integer|next-power-of-2|\(all-integers\?\)|integer&gt;fixnum|\(find-integer\)|\(each-integer\)|imaginary-part|fp-nan-payload|all-integers\?|find-integer|each-integer|fp-infinity\?|fp-special\?|fp-bitwise=|bits&gt;double|double&gt;bits|power-of-2\?|unless-zero|denominator|next-float|bits&gt;float|float&gt;bits|prev-float|unordered\?|real-part|when-zero|numerator|rational\?|&gt;integer|rational|complex\?|&lt;fp-nan&gt;|fp-qnan\?|fp-snan\?|integer\?|number=|bignum\?|integer|&gt;fixnum|fp-sign|fp-nan\?|fixnum\?|number\?|complex|if-zero|&gt;bignum|bignum|number|fixnum|float\?|bitxor|ratio\?|bitnot|bitand|&gt;float|real\?|bitor|zero\?|even\?|times|shift|float|recip|align|ratio|neg\?|real|log2|bit\?|odd\?|/mod|\?1\+|mod|rem|neg|sgn|u&lt;=|u&gt;=|abs|u&gt;|2/|2\^|/i|/f|sq|&lt;=|u&lt;|&gt;=|-|\+|&lt;|\*|/|&gt;)\s">
   302        <token type="NameBuiltin"/>
   303      </rule>
   304      <rule pattern="(non-negative-integer-expected\?|non-negative-integer-expected|immutable-sequence\?|immutable-sequence|virtual-sequence\?|sequence-hashcode|cartesian-product|check-slice-error|unclip-last-slice|assert-sequence=|assert-sequence\?|virtual-exemplar|virtual-sequence|assert-sequence|trim-head-slice|last-index-from|find-index-from|trim-tail-slice|find-last-from|cartesian-each|collapse-slice|but-last-slice|map-find-last|cartesian-map|collector-for|bounds-error\?|accumulate-as|replace-slice|bounds-check\?|binary-reduce|new-resizable|unless-empty|delete-slice|replicate-as|map-integers|selector-for|bounds-check|reduce-index|bounds-error|unclip-slice|new-sequence|&lt;repetition&gt;|slice-error\?|slice-error|unclip-last|drop-prefix|supremum-by|push-either|2map-reduce|accumulate!|tail-slice\*|repetition\?|check-slice|iota-tuple\?|remove-nth!|sum-lengths|head-slice\*|find-index|clone-like|delete-all|change-nth|prepend-as|member-eq\?|max-length|each-index|map-reduce|iota-tuple|produce-as|snip-slice|accumulate|remove-eq!|last-index|min-length|remove-nth|&lt;reversed&gt;|repetition|tail-slice|3append-as|when-empty|interleave|insert-nth|infimum-by|index-from|set-second|immutable\?|rest-slice|set-fourth|head-slice|trim-slice|set-length|set-third|concat-as|immutable|trim-tail|cut-slice|collector|set-first|sequence\?|sequence=|midpoint@|trim-head|each-from|reversed\?|map-index|partition|find-last|2selector|2sequence|replicate|find-from|filter-as|3sequence|append-as|4sequence|remove-eq|1sequence|virtual@|push-all|lengthen|shorter\?|map-find|reverse!|reversed|exchange|pad-tail|pad-head|surround|selector|shortest|sequence|set-last|mismatch|supremum|new-like|if-empty|but-last|\?set-nth|filter!|harvest|member\?|map-sum|indices|padding|set-nth|2map-as|shorter|shorten|prepend|infimum|2reduce|append!|product|subseq\?|longest|longer\?|push-if|suffix!|reverse|join-as|remove!|3append|\?second|3map-as|&lt;slice&gt;|produce|length|\?first|start\*|longer|remove|subseq|unclip|first2|first3|reduce|second|follow|filter|slice\?|map-as|empty\?|fourth|suffix|halves|concat|first4|prefix|append|index|short|2all\?|count|2each|third|tail\*|slice|first|tail\?|head\*|3each|head\?|start|\?last|join|iota|last|like|snip|map!|head|glue|move|tail|2map|find|sift|flip|nths|trim|each|cut\*|3map|pop\*|copy|any\?|all\?|\?nth|push|rest|sum|nth|pop|map|cut)\s">
   305        <token type="NameBuiltin"/>
   306      </rule>
   307      <rule pattern="(init-namespaces|with-variables|with-variable|set-namestack|change-global|with-global|initialize|get-global|set-global|with-scope|make-assoc|is-global|namespace|namestack|counter|change|toggle|global|set|get|dec|off|inc|on|\+@)\s">
   308        <token type="NameBuiltin"/>
   309      </rule>
   310      <rule pattern="(resize-array|&lt;array&gt;|1array|2array|3array|4array|&gt;array|array\?|array|pair\?|pair)\s">
   311        <token type="NameBuiltin"/>
   312      </rule>
   313      <rule pattern="(\(stream-contents-by-length-or-block\)|with-input-output\+error-streams\*|with-input-output\+error-streams|\(stream-contents-by-element\)|\(stream-contents-by-length\)|stream-read-partial-unsafe|\(stream-contents-by-block\)|with-output\+error-stream\*|\(each-stream-block-slice\)|stream-read-partial-into|with-output\+error-stream|each-stream-block-slice|invalid-read-buffer\?|stream-read-partial|stream-element-type|\(each-stream-block\)|with-output-stream\*|invalid-read-buffer|with-output-stream|with-input-stream\*|stream-read-unsafe|with-error-stream\*|with-error-stream|stream-read-until|each-stream-block|with-output&gt;error|with-input-stream|with-error&gt;output|read-partial-into|stream-contents\*|each-stream-line|stream-seekable\?|stream-read-into|each-block-slice|each-block-size|stream-contents|bad-seek-type\?|seek-absolute\?|output-stream\?|seek-relative\?|stream-write1|with-streams\*|output-stream|stream-length|bad-seek-type|seek-absolute|input-stream\?|stream-readln|seek-relative|with-streams|read-partial|stream-copy\*|stream-flush|stream-read1|stream-lines|stream-write|stream-print|error-stream|input-stream|stream-tell|\+character\+|stream-copy|each-morsel|seek-output|stream-read|tell-output|stream-seek|read-until|seek-input|each-block|tell-input|each-line|seek-end\?|read-into|stream-nl|stream-bl|contents|seek-end|write1|\+byte\+|readln|write|read1|print|flush|lines|read|nl|bl)\s">
   314        <token type="NameBuiltin"/>
   315      </rule>
   316      <rule pattern="(resize-string|&lt;string&gt;|1string|&gt;string|string\?|string)\s">
   317        <token type="NameBuiltin"/>
   318      </rule>
   319      <rule pattern="(&lt;vector&gt;|1vector|&gt;vector|vector\?|vector|\?push)\s">
   320        <token type="NameBuiltin"/>
   321      </rule>
   322      <rule pattern="(current-continuation|return-continuation|callback-error-hook|error-continuation|attempt-all-error\?|thread-error-hook|attempt-all-error|rethrow-restarts|continue-restart|compute-restarts|error-in-thread|throw-continue|throw-restarts|with-datastack|&lt;continuation&gt;|original-error|ignore-errors|continue-with|continuation\?|in-callback\?|continuation|error-thread|attempt-all|&lt;condition&gt;|with-return|condition\?|&lt;restart&gt;|condition|continue|restart\?|restarts|rethrow|callcc0|recover|restart|cleanup|callcc1|return|error|ifcc)\s">
   323        <token type="NameBuiltin"/>
   324      </rule>
   325      <rule pattern="\S+">
   326        <token type="Text"/>
   327      </rule>
   328    </state>
   329    <state name="stackeffect">
   330      <rule pattern="\s+">
   331        <token type="Text"/>
   332      </rule>
   333      <rule pattern="\(\s+">
   334        <token type="NameFunction"/>
   335        <push state="stackeffect"/>
   336      </rule>
   337      <rule pattern="\)\s">
   338        <token type="NameFunction"/>
   339        <pop depth="1"/>
   340      </rule>
   341      <rule pattern="--\s">
   342        <token type="NameFunction"/>
   343      </rule>
   344      <rule pattern="\S+">
   345        <token type="NameVariable"/>
   346      </rule>
   347    </state>
   348    <state name="slots">
   349      <rule pattern="\s+">
   350        <token type="Text"/>
   351      </rule>
   352      <rule pattern=";\s">
   353        <token type="Keyword"/>
   354        <pop depth="1"/>
   355      </rule>
   356      <rule pattern="(\{\s+)(\S+)(\s+[^}]+\s+\}\s)">
   357        <bygroups>
   358          <token type="Text"/>
   359          <token type="NameVariable"/>
   360          <token type="Text"/>
   361        </bygroups>
   362      </rule>
   363      <rule pattern="\S+">
   364        <token type="NameVariable"/>
   365      </rule>
   366    </state>
   367    <state name="vocabs">
   368      <rule pattern="\s+">
   369        <token type="Text"/>
   370      </rule>
   371      <rule pattern=";\s">
   372        <token type="Keyword"/>
   373        <pop depth="1"/>
   374      </rule>
   375      <rule pattern="\S+">
   376        <token type="NameNamespace"/>
   377      </rule>
   378    </state>
   379    <state name="classes">
   380      <rule pattern="\s+">
   381        <token type="Text"/>
   382      </rule>
   383      <rule pattern=";\s">
   384        <token type="Keyword"/>
   385        <pop depth="1"/>
   386      </rule>
   387      <rule pattern="\S+">
   388        <token type="NameClass"/>
   389      </rule>
   390    </state>
   391    <state name="words">
   392      <rule pattern="\s+">
   393        <token type="Text"/>
   394      </rule>
   395      <rule pattern=";\s">
   396        <token type="Keyword"/>
   397        <pop depth="1"/>
   398      </rule>
   399      <rule pattern="\S+">
   400        <token type="NameFunction"/>
   401      </rule>
   402    </state>
   403    <state name="root">
   404      <rule pattern="#!.*$">
   405        <token type="CommentPreproc"/>
   406      </rule>
   407      <rule>
   408        <push state="base"/>
   409      </rule>
   410    </state>
   411  </rules>
   412</lexer>

View as plain text