annotate vendor/github.com/alecthomas/chroma/v2/lexers/embedded/tcl.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
1 <lexer>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
2 <config>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
3 <name>Tcl</name>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4 <alias>tcl</alias>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5 <filename>*.tcl</filename>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6 <filename>*.rvt</filename>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 <mime_type>text/x-tcl</mime_type>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 <mime_type>text/x-script.tcl</mime_type>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 <mime_type>application/x-tcl</mime_type>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 </config>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 <rules>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 <state name="command-in-bracket">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 <rule pattern="\b(namespace|continue|variable|uplevel|foreach|return|update|elseif|global|rename|switch|upvar|error|vwait|catch|break|unset|array|apply|trace|after|while|then|else|expr|eval|proc|for|set|if)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 <push state="params-in-bracket"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 <rule pattern="\b(platform::shell|pkg::create|pkg_mkIndex|fconfigure|re_syntax|fileevent|platform|fblocked|lreverse|mathfunc|encoding|registry|lreplace|history|bgerror|llength|lsearch|linsert|lassign|lappend|refchan|unknown|package|lrepeat|msgcat|mathop|format|interp|lrange|string|source|lindex|socket|concat|regsub|regexp|loadTk|memory|binary|append|unload|subst|split|lsort|clock|close|flush|fcopy|chan|glob|time|gets|http|dict|file|puts|tell|join|read|exit|exec|open|list|scan|seek|incr|info|lset|load|dde|pwd|pid|eof|tm|cd)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 <token type="NameBuiltin"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 <push state="params-in-bracket"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 <rule pattern="([\w.-]+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 <push state="params-in-bracket"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 <rule pattern="#">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 <push state="comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
28 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
29 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
30 <state name="command-in-paren">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 <rule pattern="\b(namespace|continue|variable|uplevel|foreach|return|update|elseif|global|rename|switch|upvar|error|vwait|catch|break|unset|array|apply|trace|after|while|then|else|expr|eval|proc|for|set|if)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 <push state="params-in-paren"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 <rule pattern="\b(platform::shell|pkg::create|pkg_mkIndex|fconfigure|re_syntax|fileevent|platform|fblocked|lreverse|mathfunc|encoding|registry|lreplace|history|bgerror|llength|lsearch|linsert|lassign|lappend|refchan|unknown|package|lrepeat|msgcat|mathop|format|interp|lrange|string|source|lindex|socket|concat|regsub|regexp|loadTk|memory|binary|append|unload|subst|split|lsort|clock|close|flush|fcopy|chan|glob|time|gets|http|dict|file|puts|tell|join|read|exit|exec|open|list|scan|seek|incr|info|lset|load|dde|pwd|pid|eof|tm|cd)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 <token type="NameBuiltin"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 <push state="params-in-paren"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39 <rule pattern="([\w.-]+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
40 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
41 <push state="params-in-paren"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
42 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
43 <rule pattern="#">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
44 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
45 <push state="comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
46 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
47 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
48 <state name="command-in-brace">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
49 <rule pattern="\b(namespace|continue|variable|uplevel|foreach|return|update|elseif|global|rename|switch|upvar|error|vwait|catch|break|unset|array|apply|trace|after|while|then|else|expr|eval|proc|for|set|if)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
50 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
51 <push state="params-in-brace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
52 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
53 <rule pattern="\b(platform::shell|pkg::create|pkg_mkIndex|fconfigure|re_syntax|fileevent|platform|fblocked|lreverse|mathfunc|encoding|registry|lreplace|history|bgerror|llength|lsearch|linsert|lassign|lappend|refchan|unknown|package|lrepeat|msgcat|mathop|format|interp|lrange|string|source|lindex|socket|concat|regsub|regexp|loadTk|memory|binary|append|unload|subst|split|lsort|clock|close|flush|fcopy|chan|glob|time|gets|http|dict|file|puts|tell|join|read|exit|exec|open|list|scan|seek|incr|info|lset|load|dde|pwd|pid|eof|tm|cd)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
54 <token type="NameBuiltin"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
55 <push state="params-in-brace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
56 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
57 <rule pattern="([\w.-]+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
58 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
59 <push state="params-in-brace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
60 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
61 <rule pattern="#">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
62 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
63 <push state="comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
64 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
65 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
66 <state name="basic">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
67 <rule pattern="\(">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
68 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
69 <push state="paren"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
70 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
71 <rule pattern="\[">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
72 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
73 <push state="bracket"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
74 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
75 <rule pattern="\{">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
76 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
77 <push state="brace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
78 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
79 <rule pattern="&#34;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
80 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
81 <push state="string"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
82 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
83 <rule pattern="(eq|ne|in|ni)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
84 <token type="OperatorWord"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
85 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
86 <rule pattern="!=|==|&lt;&lt;|&gt;&gt;|&lt;=|&gt;=|&amp;&amp;|\|\||\*\*|[-+~!*/%&lt;&gt;&amp;^|?:]">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
87 <token type="Operator"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
88 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
89 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
90 <state name="params-in-bracket">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
91 <rule pattern="\]">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
92 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
93 <push state="#pop" state="#pop"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
94 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
95 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
96 <include state="params"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
97 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
98 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
99 <state name="data">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
100 <rule pattern="\s+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
101 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
102 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
103 <rule pattern="0x[a-fA-F0-9]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
104 <token type="LiteralNumberHex"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
105 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
106 <rule pattern="0[0-7]+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
107 <token type="LiteralNumberOct"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
108 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
109 <rule pattern="\d+\.\d+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
110 <token type="LiteralNumberFloat"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
111 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
112 <rule pattern="\d+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
113 <token type="LiteralNumberInteger"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
114 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
115 <rule pattern="\$([\w.:-]+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
116 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
117 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
118 <rule pattern="([\w.:-]+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
119 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
120 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
121 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
122 <state name="command">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
123 <rule pattern="\b(namespace|continue|variable|uplevel|foreach|return|update|elseif|global|rename|switch|upvar|error|vwait|catch|break|unset|array|apply|trace|after|while|then|else|expr|eval|proc|for|set|if)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
124 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
125 <push state="params"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
126 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
127 <rule pattern="\b(platform::shell|pkg::create|pkg_mkIndex|fconfigure|re_syntax|fileevent|platform|fblocked|lreverse|mathfunc|encoding|registry|lreplace|history|bgerror|llength|lsearch|linsert|lassign|lappend|refchan|unknown|package|lrepeat|msgcat|mathop|format|interp|lrange|string|source|lindex|socket|concat|regsub|regexp|loadTk|memory|binary|append|unload|subst|split|lsort|clock|close|flush|fcopy|chan|glob|time|gets|http|dict|file|puts|tell|join|read|exit|exec|open|list|scan|seek|incr|info|lset|load|dde|pwd|pid|eof|tm|cd)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
128 <token type="NameBuiltin"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
129 <push state="params"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
130 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
131 <rule pattern="([\w.-]+)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
132 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
133 <push state="params"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
134 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
135 <rule pattern="#">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
136 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
137 <push state="comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
138 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
139 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
140 <state name="params-in-brace">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
141 <rule pattern="\}">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
142 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
143 <push state="#pop" state="#pop"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
144 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
145 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
146 <include state="params"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
147 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
148 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
149 <state name="string-square">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
150 <rule pattern="\[">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
151 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
152 <push state="string-square"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
153 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
154 <rule pattern="(?s)(\\\\|\\[0-7]+|\\.|\\\n|[^\]\\])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
155 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
156 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
157 <rule pattern="\]">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
158 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
159 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
160 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
161 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
162 <state name="bracket">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
163 <rule pattern="\]">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
164 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
165 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
166 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
167 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
168 <include state="command-in-bracket"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
169 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
170 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
171 <include state="basic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
172 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
173 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
174 <include state="data"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
175 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
176 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
177 <state name="params-in-paren">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
178 <rule pattern="\)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
179 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
180 <push state="#pop" state="#pop"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
181 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
182 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
183 <include state="params"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
184 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
185 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
186 <state name="paren">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
187 <rule pattern="\)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
188 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
189 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
190 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
191 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
192 <include state="command-in-paren"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
193 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
194 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
195 <include state="basic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
196 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
197 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
198 <include state="data"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
199 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
200 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
201 <state name="comment">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
202 <rule pattern=".*[^\\]\n">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
203 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
204 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
205 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
206 <rule pattern=".*\\\n">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
207 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
208 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
209 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
210 <state name="root">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
211 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
212 <include state="command"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
213 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
214 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
215 <include state="basic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
216 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
217 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
218 <include state="data"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
219 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
220 <rule pattern="\}">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
221 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
222 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
223 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
224 <state name="brace">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
225 <rule pattern="\}">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
226 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
227 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
228 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
229 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
230 <include state="command-in-brace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
231 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
232 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
233 <include state="basic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
234 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
235 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
236 <include state="data"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
237 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
238 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
239 <state name="params">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
240 <rule pattern=";">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
241 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
242 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
243 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
244 <rule pattern="\n">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
245 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
246 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
247 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
248 <rule pattern="(else|elseif|then)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
249 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
250 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
251 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
252 <include state="basic"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
253 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
254 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
255 <include state="data"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
256 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
257 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
258 <state name="string">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
259 <rule pattern="\[">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
260 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
261 <push state="string-square"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
262 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
263 <rule pattern="(?s)(\\\\|\\[0-7]+|\\.|[^&#34;\\])">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
264 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
265 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
266 <rule pattern="&#34;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
267 <token type="LiteralStringDouble"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
268 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
269 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
270 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
271 </rules>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
272 </lexer>