...
1<lexer>
2 <config>
3 <name>Turtle</name>
4 <alias>turtle</alias>
5 <filename>*.ttl</filename>
6 <mime_type>text/turtle</mime_type>
7 <mime_type>application/x-turtle</mime_type>
8 <case_insensitive>true</case_insensitive>
9 <not_multiline>true</not_multiline>
10 </config>
11 <rules>
12 <state name="triple-double-quoted-string">
13 <rule pattern=""""">
14 <token type="LiteralString"/>
15 <push state="end-of-string"/>
16 </rule>
17 <rule pattern="[^\\]+">
18 <token type="LiteralString"/>
19 </rule>
20 <rule pattern="\\">
21 <token type="LiteralString"/>
22 <push state="string-escape"/>
23 </rule>
24 </state>
25 <state name="single-double-quoted-string">
26 <rule pattern=""">
27 <token type="LiteralString"/>
28 <push state="end-of-string"/>
29 </rule>
30 <rule pattern="[^"\\\n]+">
31 <token type="LiteralString"/>
32 </rule>
33 <rule pattern="\\">
34 <token type="LiteralString"/>
35 <push state="string-escape"/>
36 </rule>
37 </state>
38 <state name="triple-single-quoted-string">
39 <rule pattern="'''">
40 <token type="LiteralString"/>
41 <push state="end-of-string"/>
42 </rule>
43 <rule pattern="[^\\]+">
44 <token type="LiteralString"/>
45 </rule>
46 <rule pattern="\\">
47 <token type="LiteralString"/>
48 <push state="string-escape"/>
49 </rule>
50 </state>
51 <state name="single-single-quoted-string">
52 <rule pattern="'">
53 <token type="LiteralString"/>
54 <push state="end-of-string"/>
55 </rule>
56 <rule pattern="[^'\\\n]+">
57 <token type="LiteralString"/>
58 </rule>
59 <rule pattern="\\">
60 <token type="LiteralString"/>
61 <push state="string-escape"/>
62 </rule>
63 </state>
64 <state name="string-escape">
65 <rule pattern=".">
66 <token type="LiteralString"/>
67 <pop depth="1"/>
68 </rule>
69 </state>
70 <state name="end-of-string">
71 <rule pattern="(@)([a-z]+(:?-[a-z0-9]+)*)">
72 <bygroups>
73 <token type="Operator"/>
74 <token type="GenericEmph"/>
75 <token type="GenericEmph"/>
76 </bygroups>
77 <pop depth="2"/>
78 </rule>
79 <rule pattern="(\^\^)(<[^<>"{}|^`\\\x00-\x20]*>)">
80 <bygroups>
81 <token type="Operator"/>
82 <token type="GenericEmph"/>
83 </bygroups>
84 <pop depth="2"/>
85 </rule>
86 <rule pattern="(\^\^)((?:[a-z][\w-]*)?\:)([a-z][\w-]*)">
87 <bygroups>
88 <token type="Operator"/>
89 <token type="GenericEmph"/>
90 <token type="GenericEmph"/>
91 </bygroups>
92 <pop depth="2"/>
93 </rule>
94 <rule>
95 <pop depth="2"/>
96 </rule>
97 </state>
98 <state name="root">
99 <rule pattern="\s+">
100 <token type="TextWhitespace"/>
101 </rule>
102 <rule pattern="(@base|BASE)(\s+)(<[^<>"{}|^`\\\x00-\x20]*>)(\s*)(\.?)">
103 <bygroups>
104 <token type="Keyword"/>
105 <token type="TextWhitespace"/>
106 <token type="NameVariable"/>
107 <token type="TextWhitespace"/>
108 <token type="Punctuation"/>
109 </bygroups>
110 </rule>
111 <rule pattern="(@prefix|PREFIX)(\s+)((?:[a-z][\w-]*)?\:)(\s+)(<[^<>"{}|^`\\\x00-\x20]*>)(\s*)(\.?)">
112 <bygroups>
113 <token type="Keyword"/>
114 <token type="TextWhitespace"/>
115 <token type="NameNamespace"/>
116 <token type="TextWhitespace"/>
117 <token type="NameVariable"/>
118 <token type="TextWhitespace"/>
119 <token type="Punctuation"/>
120 </bygroups>
121 </rule>
122 <rule pattern="(?<=\s)a(?=\s)">
123 <token type="KeywordType"/>
124 </rule>
125 <rule pattern="(<[^<>"{}|^`\\\x00-\x20]*>)">
126 <token type="NameVariable"/>
127 </rule>
128 <rule pattern="((?:[a-z][\w-]*)?\:)([a-z][\w-]*)">
129 <bygroups>
130 <token type="NameNamespace"/>
131 <token type="NameTag"/>
132 </bygroups>
133 </rule>
134 <rule pattern="#[^\n]+">
135 <token type="Comment"/>
136 </rule>
137 <rule pattern="\b(true|false)\b">
138 <token type="Literal"/>
139 </rule>
140 <rule pattern="[+\-]?\d*\.\d+">
141 <token type="LiteralNumberFloat"/>
142 </rule>
143 <rule pattern="[+\-]?\d*(:?\.\d+)?E[+\-]?\d+">
144 <token type="LiteralNumberFloat"/>
145 </rule>
146 <rule pattern="[+\-]?\d+">
147 <token type="LiteralNumberInteger"/>
148 </rule>
149 <rule pattern="[\[\](){}.;,:^]">
150 <token type="Punctuation"/>
151 </rule>
152 <rule pattern=""""">
153 <token type="LiteralString"/>
154 <push state="triple-double-quoted-string"/>
155 </rule>
156 <rule pattern=""">
157 <token type="LiteralString"/>
158 <push state="single-double-quoted-string"/>
159 </rule>
160 <rule pattern="'''">
161 <token type="LiteralString"/>
162 <push state="triple-single-quoted-string"/>
163 </rule>
164 <rule pattern="'">
165 <token type="LiteralString"/>
166 <push state="single-single-quoted-string"/>
167 </rule>
168 </state>
169 </rules>
170</lexer>
View as plain text