...
1<lexer>
2 <config>
3 <name>Common Lisp</name>
4 <alias>common-lisp</alias>
5 <alias>cl</alias>
6 <alias>lisp</alias>
7 <filename>*.cl</filename>
8 <filename>*.lisp</filename>
9 <mime_type>text/x-common-lisp</mime_type>
10 <case_insensitive>true</case_insensitive>
11 </config>
12 <rules>
13 <state name="body">
14 <rule pattern="\s+">
15 <token type="Text"/>
16 </rule>
17 <rule pattern=";.*$">
18 <token type="CommentSingle"/>
19 </rule>
20 <rule pattern="#\|">
21 <token type="CommentMultiline"/>
22 <push state="multiline-comment"/>
23 </rule>
24 <rule pattern="#\d*Y.*$">
25 <token type="CommentSpecial"/>
26 </rule>
27 <rule pattern=""(\\.|\\\n|[^"\\])*"">
28 <token type="LiteralString"/>
29 </rule>
30 <rule pattern=":(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)">
31 <token type="LiteralStringSymbol"/>
32 </rule>
33 <rule pattern="::(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)">
34 <token type="LiteralStringSymbol"/>
35 </rule>
36 <rule pattern=":#(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)">
37 <token type="LiteralStringSymbol"/>
38 </rule>
39 <rule pattern="'(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)">
40 <token type="LiteralStringSymbol"/>
41 </rule>
42 <rule pattern="'">
43 <token type="Operator"/>
44 </rule>
45 <rule pattern="`">
46 <token type="Operator"/>
47 </rule>
48 <rule pattern="[-+]?\d+\.?(?=[ "()\'\n,;`])">
49 <token type="LiteralNumberInteger"/>
50 </rule>
51 <rule pattern="[-+]?\d+/\d+(?=[ "()\'\n,;`])">
52 <token type="LiteralNumber"/>
53 </rule>
54 <rule pattern="[-+]?(\d*\.\d+([defls][-+]?\d+)?|\d+(\.\d*)?[defls][-+]?\d+)(?=[ "()\'\n,;`])">
55 <token type="LiteralNumberFloat"/>
56 </rule>
57 <rule pattern="#\\.(?=[ "()\'\n,;`])">
58 <token type="LiteralStringChar"/>
59 </rule>
60 <rule pattern="#\\(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)">
61 <token type="LiteralStringChar"/>
62 </rule>
63 <rule pattern="#\(">
64 <token type="Operator"/>
65 <push state="body"/>
66 </rule>
67 <rule pattern="#\d*\*[01]*">
68 <token type="LiteralOther"/>
69 </rule>
70 <rule pattern="#:(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)">
71 <token type="LiteralStringSymbol"/>
72 </rule>
73 <rule pattern="#[.,]">
74 <token type="Operator"/>
75 </rule>
76 <rule pattern="#\'">
77 <token type="NameFunction"/>
78 </rule>
79 <rule pattern="#b[+-]?[01]+(/[01]+)?">
80 <token type="LiteralNumberBin"/>
81 </rule>
82 <rule pattern="#o[+-]?[0-7]+(/[0-7]+)?">
83 <token type="LiteralNumberOct"/>
84 </rule>
85 <rule pattern="#x[+-]?[0-9a-f]+(/[0-9a-f]+)?">
86 <token type="LiteralNumberHex"/>
87 </rule>
88 <rule pattern="#\d+r[+-]?[0-9a-z]+(/[0-9a-z]+)?">
89 <token type="LiteralNumber"/>
90 </rule>
91 <rule pattern="(#c)(\()">
92 <bygroups>
93 <token type="LiteralNumber"/>
94 <token type="Punctuation"/>
95 </bygroups>
96 <push state="body"/>
97 </rule>
98 <rule pattern="(#\d+a)(\()">
99 <bygroups>
100 <token type="LiteralOther"/>
101 <token type="Punctuation"/>
102 </bygroups>
103 <push state="body"/>
104 </rule>
105 <rule pattern="(#s)(\()">
106 <bygroups>
107 <token type="LiteralOther"/>
108 <token type="Punctuation"/>
109 </bygroups>
110 <push state="body"/>
111 </rule>
112 <rule pattern="#p?"(\\.|[^"])*"">
113 <token type="LiteralOther"/>
114 </rule>
115 <rule pattern="#\d+=">
116 <token type="Operator"/>
117 </rule>
118 <rule pattern="#\d+#">
119 <token type="Operator"/>
120 </rule>
121 <rule pattern="#+nil(?=[ "()\'\n,;`])\s*\(">
122 <token type="CommentPreproc"/>
123 <push state="commented-form"/>
124 </rule>
125 <rule pattern="#[+-]">
126 <token type="Operator"/>
127 </rule>
128 <rule pattern="(,@|,|\.)">
129 <token type="Operator"/>
130 </rule>
131 <rule pattern="(t|nil)(?=[ "()\'\n,;`])">
132 <token type="NameConstant"/>
133 </rule>
134 <rule pattern="\*(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)\*">
135 <token type="NameVariableGlobal"/>
136 </rule>
137 <rule pattern="(\|[^|]+\||(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~])(?:\\.|[\w!$%&*+-/<=>?@\[\]^{}~]|[#.:])*)">
138 <token type="NameVariable"/>
139 </rule>
140 <rule pattern="\(">
141 <token type="Punctuation"/>
142 <push state="body"/>
143 </rule>
144 <rule pattern="\)">
145 <token type="Punctuation"/>
146 <pop depth="1"/>
147 </rule>
148 </state>
149 <state name="root">
150 <rule>
151 <push state="body"/>
152 </rule>
153 </state>
154 <state name="multiline-comment">
155 <rule pattern="#\|">
156 <token type="CommentMultiline"/>
157 <push/>
158 </rule>
159 <rule pattern="\|#">
160 <token type="CommentMultiline"/>
161 <pop depth="1"/>
162 </rule>
163 <rule pattern="[^|#]+">
164 <token type="CommentMultiline"/>
165 </rule>
166 <rule pattern="[|#]">
167 <token type="CommentMultiline"/>
168 </rule>
169 </state>
170 <state name="commented-form">
171 <rule pattern="\(">
172 <token type="CommentPreproc"/>
173 <push/>
174 </rule>
175 <rule pattern="\)">
176 <token type="CommentPreproc"/>
177 <pop depth="1"/>
178 </rule>
179 <rule pattern="[^()]+">
180 <token type="CommentPreproc"/>
181 </rule>
182 </state>
183 </rules>
184</lexer>
View as plain text