annotate vendor/github.com/alecthomas/chroma/v2/lexers/embedded/antlr.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>ANTLR</name>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
4 <alias>antlr</alias>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
5 </config>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
6 <rules>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
7 <state name="nested-arg-action">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
8 <rule pattern="([^$\[\]\&#39;&#34;/]+|&#34;(\\\\|\\&#34;|[^&#34;])*&#34;|&#39;(\\\\|\\&#39;|[^&#39;])*&#39;|//.*$\n?|/\*(.|\n)*?\*/|/(?!\*)(\\\\|\\/|[^/])*/|/)+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
9 <token type="Other"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
10 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
11 <rule pattern="\[">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
12 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
13 <push/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
14 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
15 <rule pattern="\]">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
16 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
17 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
18 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
19 <rule pattern="(\$[a-zA-Z]+)(\.?)(text|value)?">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
20 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
21 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
22 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
23 <token type="NameProperty"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
24 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
25 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
26 <rule pattern="(\\\\|\\\]|\\\[|[^\[\]])+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
27 <token type="Other"/>
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="exception">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
31 <rule pattern="\n">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
32 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
33 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
34 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
35 <rule pattern="\s">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
36 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
37 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
38 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
39 <include state="comments"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
40 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
41 <rule pattern="\[">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
42 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
43 <push state="nested-arg-action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
44 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
45 <rule pattern="\{">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
46 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
47 <push state="action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
48 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
49 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
50 <state name="whitespace">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
51 <rule pattern="\s+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
52 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
53 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
54 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
55 <state name="root">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
56 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
57 <include state="whitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
58 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
59 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
60 <include state="comments"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
61 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
62 <rule pattern="(lexer|parser|tree)?(\s*)(grammar\b)(\s*)([A-Za-z]\w*)(;)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
63 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
64 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
65 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
66 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
67 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
68 <token type="NameClass"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
69 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
70 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
71 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
72 <rule pattern="options\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
73 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
74 <push state="options"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
75 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
76 <rule pattern="tokens\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
77 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
78 <push state="tokens"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
79 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
80 <rule pattern="(scope)(\s*)([A-Za-z]\w*)(\s*)(\{)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
81 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
82 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
83 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
84 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
85 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
86 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
87 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
88 <push state="action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
89 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
90 <rule pattern="(catch|finally)\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
91 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
92 <push state="exception"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
93 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
94 <rule pattern="(@[A-Za-z]\w*)(\s*)(::)?(\s*)([A-Za-z]\w*)(\s*)(\{)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
95 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
96 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
97 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
98 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
99 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
100 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
101 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
102 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
103 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
104 <push state="action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
105 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
106 <rule pattern="((?:protected|private|public|fragment)\b)?(\s*)([A-Za-z]\w*)(!)?">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
107 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
108 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
109 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
110 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
111 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
112 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
113 <push state="rule-alts" state="rule-prelims"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
114 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
115 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
116 <state name="tokens">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
117 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
118 <include state="whitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
119 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
120 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
121 <include state="comments"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
122 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
123 <rule pattern="\{">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
124 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
125 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
126 <rule pattern="([A-Z]\w*)(\s*)(=)?(\s*)(\&#39;(?:\\\\|\\\&#39;|[^\&#39;]*)\&#39;)?(\s*)(;)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
127 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
128 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
129 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
130 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
131 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
132 <token type="LiteralString"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
133 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
134 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
135 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
136 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
137 <rule pattern="\}">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
138 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
139 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
140 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
141 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
142 <state name="options">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
143 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
144 <include state="whitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
145 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
146 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
147 <include state="comments"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
148 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
149 <rule pattern="\{">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
150 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
151 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
152 <rule pattern="([A-Za-z]\w*)(\s*)(=)(\s*)([A-Za-z]\w*|\&#39;(?:\\\\|\\\&#39;|[^\&#39;]*)\&#39;|[0-9]+|\*)(\s*)(;)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
153 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
154 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
155 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
156 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
157 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
158 <token type="Text"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
159 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
160 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
161 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
162 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
163 <rule pattern="\}">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
164 <token type="Punctuation"/>
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 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
168 <state name="rule-alts">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
169 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
170 <include state="whitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
171 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
172 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
173 <include state="comments"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
174 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
175 <rule pattern="options\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
176 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
177 <push state="options"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
178 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
179 <rule pattern=":">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
180 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
181 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
182 <rule pattern="&#39;(\\\\|\\&#39;|[^&#39;])*&#39;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
183 <token type="LiteralString"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
184 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
185 <rule pattern="&#34;(\\\\|\\&#34;|[^&#34;])*&#34;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
186 <token type="LiteralString"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
187 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
188 <rule pattern="&lt;&lt;([^&gt;]|&gt;[^&gt;])&gt;&gt;">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
189 <token type="LiteralString"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
190 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
191 <rule pattern="\$?[A-Z_]\w*">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
192 <token type="NameConstant"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
193 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
194 <rule pattern="\$?[a-z_]\w*">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
195 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
196 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
197 <rule pattern="(\+|\||-&gt;|=&gt;|=|\(|\)|\.\.|\.|\?|\*|\^|!|\#|~)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
198 <token type="Operator"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
199 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
200 <rule pattern=",">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
201 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
202 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
203 <rule pattern="\[">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
204 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
205 <push state="nested-arg-action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
206 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
207 <rule pattern="\{">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
208 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
209 <push state="action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
210 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
211 <rule pattern=";">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
212 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
213 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
214 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
215 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
216 <state name="rule-prelims">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
217 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
218 <include state="whitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
219 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
220 <rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
221 <include state="comments"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
222 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
223 <rule pattern="returns\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
224 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
225 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
226 <rule pattern="\[">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
227 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
228 <push state="nested-arg-action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
229 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
230 <rule pattern="\{">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
231 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
232 <push state="action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
233 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
234 <rule pattern="(throws)(\s+)([A-Za-z]\w*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
235 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
236 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
237 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
238 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
239 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
240 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
241 <rule pattern="(,)(\s*)([A-Za-z]\w*)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
242 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
243 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
244 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
245 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
246 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
247 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
248 <rule pattern="options\b">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
249 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
250 <push state="options"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
251 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
252 <rule pattern="(scope)(\s+)(\{)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
253 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
254 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
255 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
256 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
257 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
258 <push state="action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
259 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
260 <rule pattern="(scope)(\s+)([A-Za-z]\w*)(\s*)(;)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
261 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
262 <token type="Keyword"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
263 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
264 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
265 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
266 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
267 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
268 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
269 <rule pattern="(@[A-Za-z]\w*)(\s*)(\{)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
270 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
271 <token type="NameLabel"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
272 <token type="TextWhitespace"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
273 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
274 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
275 <push state="action"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
276 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
277 <rule pattern=":">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
278 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
279 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
280 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
281 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
282 <state name="action">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
283 <rule pattern="([^${}\&#39;&#34;/\\]+|&#34;(\\\\|\\&#34;|[^&#34;])*&#34;|&#39;(\\\\|\\&#39;|[^&#39;])*&#39;|//.*$\n?|/\*(.|\n)*?\*/|/(?!\*)(\\\\|\\/|[^/])*/|\\(?!%)|/)+">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
284 <token type="Other"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
285 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
286 <rule pattern="(\\)(%)">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
287 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
288 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
289 <token type="Other"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
290 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
291 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
292 <rule pattern="(\$[a-zA-Z]+)(\.?)(text|value)?">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
293 <bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
294 <token type="NameVariable"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
295 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
296 <token type="NameProperty"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
297 </bygroups>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
298 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
299 <rule pattern="\{">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
300 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
301 <push/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
302 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
303 <rule pattern="\}">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
304 <token type="Punctuation"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
305 <pop depth="1"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
306 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
307 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
308 <state name="comments">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
309 <rule pattern="//.*$">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
310 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
311 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
312 <rule pattern="/\*(.|\n)*?\*/">
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
313 <token type="Comment"/>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
314 </rule>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
315 </state>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
316 </rules>
787b5ee0289d Use vendored modules
yakumo.izuru
parents:
diff changeset
317 </lexer>