...
1<lexer>
2 <config>
3 <name>Gnuplot</name>
4 <alias>gnuplot</alias>
5 <filename>*.plot</filename>
6 <filename>*.plt</filename>
7 <mime_type>text/x-gnuplot</mime_type>
8 </config>
9 <rules>
10 <state name="whitespace">
11 <rule pattern="#">
12 <token type="Comment"/>
13 <push state="comment"/>
14 </rule>
15 <rule pattern="[ \t\v\f]+">
16 <token type="Text"/>
17 </rule>
18 </state>
19 <state name="save">
20 <rule pattern="functions\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|f\b|set\b|se\b|s\b|terminal\b|termina\b|termin\b|termi\b|term\b|ter\b|te\b|t\b|variables\b|variable\b|variabl\b|variab\b|varia\b|vari\b|var\b|va\b|v\b">
21 <token type="NameBuiltin"/>
22 </rule>
23 <rule>
24 <include state="genericargs"/>
25 </rule>
26 </state>
27 <state name="pause">
28 <rule pattern="(mouse|any|button1|button2|button3)\b">
29 <token type="NameBuiltin"/>
30 </rule>
31 <rule pattern="keypress\b|keypres\b|keypre\b|keypr\b|keyp\b|key\b">
32 <token type="NameBuiltin"/>
33 </rule>
34 <rule>
35 <include state="genericargs"/>
36 </rule>
37 </state>
38 <state name="plot">
39 <rule pattern="axes\b|axe\b|ax\b|axis\b|axi\b|binary\b|binar\b|bina\b|bin\b|every\b|ever\b|eve\b|ev\b|index\b|inde\b|ind\b|in\b|i\b|matrix\b|matri\b|matr\b|mat\b|smooth\b|smoot\b|smoo\b|smo\b|sm\b|s\b|thru\b|title\b|titl\b|tit\b|ti\b|t\b|notitle\b|notitl\b|notit\b|noti\b|not\b|using\b|usin\b|usi\b|us\b|u\b|with\b|wit\b|wi\b|w\b">
40 <token type="NameBuiltin"/>
41 </rule>
42 <rule>
43 <include state="genericargs"/>
44 </rule>
45 </state>
46 <state name="if">
47 <rule pattern="\)">
48 <token type="Punctuation"/>
49 <pop depth="1"/>
50 </rule>
51 <rule>
52 <include state="genericargs"/>
53 </rule>
54 </state>
55 <state name="genericargs">
56 <rule>
57 <include state="noargs"/>
58 </rule>
59 <rule pattern=""">
60 <token type="LiteralString"/>
61 <push state="dqstring"/>
62 </rule>
63 <rule pattern="'">
64 <token type="LiteralString"/>
65 <push state="sqstring"/>
66 </rule>
67 <rule pattern="(\d+\.\d*|\.\d+|\d+)[eE][+-]?\d+">
68 <token type="LiteralNumberFloat"/>
69 </rule>
70 <rule pattern="(\d+\.\d*|\.\d+)">
71 <token type="LiteralNumberFloat"/>
72 </rule>
73 <rule pattern="-?\d+">
74 <token type="LiteralNumberInteger"/>
75 </rule>
76 <rule pattern="[,.~!%^&*+=|?:<>/-]">
77 <token type="Operator"/>
78 </rule>
79 <rule pattern="[{}()\[\]]">
80 <token type="Punctuation"/>
81 </rule>
82 <rule pattern="(eq|ne)\b">
83 <token type="OperatorWord"/>
84 </rule>
85 <rule pattern="([a-zA-Z_]\w*)(\s*)(\()">
86 <bygroups>
87 <token type="NameFunction"/>
88 <token type="Text"/>
89 <token type="Punctuation"/>
90 </bygroups>
91 </rule>
92 <rule pattern="[a-zA-Z_]\w*">
93 <token type="Name"/>
94 </rule>
95 <rule pattern="@[a-zA-Z_]\w*">
96 <token type="NameConstant"/>
97 </rule>
98 <rule pattern="\\\n">
99 <token type="Text"/>
100 </rule>
101 </state>
102 <state name="comment">
103 <rule pattern="[^\\\n]">
104 <token type="Comment"/>
105 </rule>
106 <rule pattern="\\\n">
107 <token type="Comment"/>
108 </rule>
109 <rule pattern="\\">
110 <token type="Comment"/>
111 </rule>
112 <rule>
113 <pop depth="1"/>
114 </rule>
115 </state>
116 <state name="root">
117 <rule>
118 <include state="whitespace"/>
119 </rule>
120 <rule pattern="bind\b|bin\b|bi\b">
121 <token type="Keyword"/>
122 <push state="bind"/>
123 </rule>
124 <rule pattern="exit\b|exi\b|ex\b|quit\b|qui\b|qu\b|q\b">
125 <token type="Keyword"/>
126 <push state="quit"/>
127 </rule>
128 <rule pattern="fit\b|fi\b|f\b">
129 <token type="Keyword"/>
130 <push state="fit"/>
131 </rule>
132 <rule pattern="(if)(\s*)(\()">
133 <bygroups>
134 <token type="Keyword"/>
135 <token type="Text"/>
136 <token type="Punctuation"/>
137 </bygroups>
138 <push state="if"/>
139 </rule>
140 <rule pattern="else\b">
141 <token type="Keyword"/>
142 </rule>
143 <rule pattern="pause\b|paus\b|pau\b|pa\b">
144 <token type="Keyword"/>
145 <push state="pause"/>
146 </rule>
147 <rule pattern="plot\b|plo\b|pl\b|p\b|replot\b|replo\b|repl\b|rep\b|splot\b|splo\b|spl\b|sp\b">
148 <token type="Keyword"/>
149 <push state="plot"/>
150 </rule>
151 <rule pattern="save\b|sav\b|sa\b">
152 <token type="Keyword"/>
153 <push state="save"/>
154 </rule>
155 <rule pattern="set\b|se\b">
156 <token type="Keyword"/>
157 <push state="genericargs" state="optionarg"/>
158 </rule>
159 <rule pattern="show\b|sho\b|sh\b|unset\b|unse\b|uns\b">
160 <token type="Keyword"/>
161 <push state="noargs" state="optionarg"/>
162 </rule>
163 <rule pattern="lower\b|lowe\b|low\b|raise\b|rais\b|rai\b|ra\b|call\b|cal\b|ca\b|cd\b|clear\b|clea\b|cle\b|cl\b|help\b|hel\b|he\b|h\b|\?\b|history\b|histor\b|histo\b|hist\b|his\b|hi\b|load\b|loa\b|lo\b|l\b|print\b|prin\b|pri\b|pr\b|pwd\b|reread\b|rerea\b|rere\b|rer\b|re\b|reset\b|rese\b|res\b|screendump\b|screendum\b|screendu\b|screend\b|screen\b|scree\b|scre\b|scr\b|shell\b|shel\b|she\b|system\b|syste\b|syst\b|sys\b|sy\b|update\b|updat\b|upda\b|upd\b|up\b">
164 <token type="Keyword"/>
165 <push state="genericargs"/>
166 </rule>
167 <rule pattern="pwd\b|reread\b|rerea\b|rere\b|rer\b|re\b|reset\b|rese\b|res\b|screendump\b|screendum\b|screendu\b|screend\b|screen\b|scree\b|scre\b|scr\b|shell\b|shel\b|she\b|test\b">
168 <token type="Keyword"/>
169 <push state="noargs"/>
170 </rule>
171 <rule pattern="([a-zA-Z_]\w*)(\s*)(=)">
172 <bygroups>
173 <token type="NameVariable"/>
174 <token type="Text"/>
175 <token type="Operator"/>
176 </bygroups>
177 <push state="genericargs"/>
178 </rule>
179 <rule pattern="([a-zA-Z_]\w*)(\s*\(.*?\)\s*)(=)">
180 <bygroups>
181 <token type="NameFunction"/>
182 <token type="Text"/>
183 <token type="Operator"/>
184 </bygroups>
185 <push state="genericargs"/>
186 </rule>
187 <rule pattern="@[a-zA-Z_]\w*">
188 <token type="NameConstant"/>
189 </rule>
190 <rule pattern=";">
191 <token type="Keyword"/>
192 </rule>
193 </state>
194 <state name="dqstring">
195 <rule pattern=""">
196 <token type="LiteralString"/>
197 <pop depth="1"/>
198 </rule>
199 <rule pattern="\\([\\abfnrtv"\']|x[a-fA-F0-9]{2,4}|[0-7]{1,3})">
200 <token type="LiteralStringEscape"/>
201 </rule>
202 <rule pattern="[^\\"\n]+">
203 <token type="LiteralString"/>
204 </rule>
205 <rule pattern="\\\n">
206 <token type="LiteralString"/>
207 </rule>
208 <rule pattern="\\">
209 <token type="LiteralString"/>
210 </rule>
211 <rule pattern="\n">
212 <token type="LiteralString"/>
213 <pop depth="1"/>
214 </rule>
215 </state>
216 <state name="optionarg">
217 <rule>
218 <include state="whitespace"/>
219 </rule>
220 <rule pattern="all\b|al\b|a\b|angles\b|angle\b|angl\b|ang\b|an\b|arrow\b|arro\b|arr\b|ar\b|autoscale\b|autoscal\b|autosca\b|autosc\b|autos\b|auto\b|aut\b|au\b|bars\b|bar\b|ba\b|b\b|border\b|borde\b|bord\b|bor\b|boxwidth\b|boxwidt\b|boxwid\b|boxwi\b|boxw\b|box\b|clabel\b|clabe\b|clab\b|cla\b|cl\b|clip\b|cli\b|cl\b|c\b|cntrparam\b|cntrpara\b|cntrpar\b|cntrpa\b|cntrp\b|cntr\b|cnt\b|cn\b|contour\b|contou\b|conto\b|cont\b|con\b|co\b|data\b|dat\b|da\b|datafile\b|datafil\b|datafi\b|dataf\b|data\b|dgrid3d\b|dgrid3\b|dgrid\b|dgri\b|dgr\b|dg\b|dummy\b|dumm\b|dum\b|du\b|encoding\b|encodin\b|encodi\b|encod\b|enco\b|enc\b|decimalsign\b|decimalsig\b|decimalsi\b|decimals\b|decimal\b|decima\b|decim\b|deci\b|dec\b|fit\b|fontpath\b|fontpat\b|fontpa\b|fontp\b|font\b|format\b|forma\b|form\b|for\b|fo\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|functions\b|function\b|functio\b|functi\b|funct\b|func\b|fun\b|fu\b|grid\b|gri\b|gr\b|g\b|hidden3d\b|hidden3\b|hidden\b|hidde\b|hidd\b|hid\b|historysize\b|historysiz\b|historysi\b|historys\b|history\b|histor\b|histo\b|hist\b|his\b|isosamples\b|isosample\b|isosampl\b|isosamp\b|isosam\b|isosa\b|isos\b|iso\b|is\b|key\b|ke\b|k\b|keytitle\b|keytitl\b|keytit\b|keyti\b|keyt\b|label\b|labe\b|lab\b|la\b|linestyle\b|linestyl\b|linesty\b|linest\b|lines\b|line\b|lin\b|li\b|ls\b|loadpath\b|loadpat\b|loadpa\b|loadp\b|load\b|loa\b|locale\b|local\b|loca\b|loc\b|logscale\b|logscal\b|logsca\b|logsc\b|logs\b|log\b|macros\b|macro\b|macr\b|mac\b|mapping\b|mappin\b|mappi\b|mapp\b|map\b|mapping3d\b|mapping3\b|mapping\b|mappin\b|mappi\b|mapp\b|map\b|margin\b|margi\b|marg\b|mar\b|lmargin\b|lmargi\b|lmarg\b|lmar\b|rmargin\b|rmargi\b|rmarg\b|rmar\b|tmargin\b|tmargi\b|tmarg\b|tmar\b|bmargin\b|bmargi\b|bmarg\b|bmar\b|mouse\b|mous\b|mou\b|mo\b|multiplot\b|multiplo\b|multipl\b|multip\b|multi\b|mxtics\b|mxtic\b|mxti\b|mxt\b|nomxtics\b|nomxtic\b|nomxti\b|nomxt\b|mx2tics\b|mx2tic\b|mx2ti\b|mx2t\b|nomx2tics\b|nomx2tic\b|nomx2ti\b|nomx2t\b|mytics\b|mytic\b|myti\b|myt\b|nomytics\b|nomytic\b|nomyti\b|nomyt\b|my2tics\b|my2tic\b|my2ti\b|my2t\b|nomy2tics\b|nomy2tic\b|nomy2ti\b|nomy2t\b|mztics\b|mztic\b|mzti\b|mzt\b|nomztics\b|nomztic\b|nomzti\b|nomzt\b|mcbtics\b|mcbtic\b|mcbti\b|mcbt\b|nomcbtics\b|nomcbtic\b|nomcbti\b|nomcbt\b|offsets\b|offset\b|offse\b|offs\b|off\b|of\b|origin\b|origi\b|orig\b|ori\b|or\b|output\b|outpu\b|outp\b|out\b|ou\b|o\b|parametric\b|parametri\b|parametr\b|paramet\b|parame\b|param\b|para\b|par\b|pa\b|pm3d\b|pm3\b|pm\b|palette\b|palett\b|palet\b|pale\b|pal\b|colorbox\b|colorbo\b|colorb\b|plot\b|plo\b|pl\b|p\b|pointsize\b|pointsiz\b|pointsi\b|points\b|point\b|poin\b|poi\b|polar\b|pola\b|pol\b|print\b|prin\b|pri\b|pr\b|object\b|objec\b|obje\b|obj\b|samples\b|sample\b|sampl\b|samp\b|sam\b|sa\b|size\b|siz\b|si\b|style\b|styl\b|sty\b|st\b|surface\b|surfac\b|surfa\b|surf\b|sur\b|su\b|table\b|terminal\b|termina\b|termin\b|termi\b|term\b|ter\b|te\b|t\b|termoptions\b|termoption\b|termoptio\b|termopti\b|termopt\b|termop\b|termo\b|tics\b|tic\b|ti\b|ticscale\b|ticscal\b|ticsca\b|ticsc\b|ticslevel\b|ticsleve\b|ticslev\b|ticsle\b|ticsl\b|timefmt\b|timefm\b|timef\b|timestamp\b|timestam\b|timesta\b|timest\b|times\b|time\b|tim\b|title\b|titl\b|tit\b|variables\b|variable\b|variabl\b|variab\b|varia\b|vari\b|var\b|va\b|v\b|version\b|versio\b|versi\b|vers\b|ver\b|ve\b|view\b|vie\b|vi\b|xyplane\b|xyplan\b|xypla\b|xypl\b|xyp\b|xdata\b|xdat\b|xda\b|x2data\b|x2dat\b|x2da\b|ydata\b|ydat\b|yda\b|y2data\b|y2dat\b|y2da\b|zdata\b|zdat\b|zda\b|cbdata\b|cbdat\b|cbda\b|xlabel\b|xlabe\b|xlab\b|xla\b|xl\b|x2label\b|x2labe\b|x2lab\b|x2la\b|x2l\b|ylabel\b|ylabe\b|ylab\b|yla\b|yl\b|y2label\b|y2labe\b|y2lab\b|y2la\b|y2l\b|zlabel\b|zlabe\b|zlab\b|zla\b|zl\b|cblabel\b|cblabe\b|cblab\b|cbla\b|cbl\b|xtics\b|xtic\b|xti\b|noxtics\b|noxtic\b|noxti\b|x2tics\b|x2tic\b|x2ti\b|nox2tics\b|nox2tic\b|nox2ti\b|ytics\b|ytic\b|yti\b|noytics\b|noytic\b|noyti\b|y2tics\b|y2tic\b|y2ti\b|noy2tics\b|noy2tic\b|noy2ti\b|ztics\b|ztic\b|zti\b|noztics\b|noztic\b|nozti\b|cbtics\b|cbtic\b|cbti\b|nocbtics\b|nocbtic\b|nocbti\b|xdtics\b|xdtic\b|xdti\b|noxdtics\b|noxdtic\b|noxdti\b|x2dtics\b|x2dtic\b|x2dti\b|nox2dtics\b|nox2dtic\b|nox2dti\b|ydtics\b|ydtic\b|ydti\b|noydtics\b|noydtic\b|noydti\b|y2dtics\b|y2dtic\b|y2dti\b|noy2dtics\b|noy2dtic\b|noy2dti\b|zdtics\b|zdtic\b|zdti\b|nozdtics\b|nozdtic\b|nozdti\b|cbdtics\b|cbdtic\b|cbdti\b|nocbdtics\b|nocbdtic\b|nocbdti\b|xmtics\b|xmtic\b|xmti\b|noxmtics\b|noxmtic\b|noxmti\b|x2mtics\b|x2mtic\b|x2mti\b|nox2mtics\b|nox2mtic\b|nox2mti\b|ymtics\b|ymtic\b|ymti\b|noymtics\b|noymtic\b|noymti\b|y2mtics\b|y2mtic\b|y2mti\b|noy2mtics\b|noy2mtic\b|noy2mti\b|zmtics\b|zmtic\b|zmti\b|nozmtics\b|nozmtic\b|nozmti\b|cbmtics\b|cbmtic\b|cbmti\b|nocbmtics\b|nocbmtic\b|nocbmti\b|xrange\b|xrang\b|xran\b|xra\b|xr\b|x2range\b|x2rang\b|x2ran\b|x2ra\b|x2r\b|yrange\b|yrang\b|yran\b|yra\b|yr\b|y2range\b|y2rang\b|y2ran\b|y2ra\b|y2r\b|zrange\b|zrang\b|zran\b|zra\b|zr\b|cbrange\b|cbrang\b|cbran\b|cbra\b|cbr\b|rrange\b|rrang\b|rran\b|rra\b|rr\b|trange\b|trang\b|tran\b|tra\b|tr\b|urange\b|urang\b|uran\b|ura\b|ur\b|vrange\b|vrang\b|vran\b|vra\b|vr\b|xzeroaxis\b|xzeroaxi\b|xzeroax\b|xzeroa\b|x2zeroaxis\b|x2zeroaxi\b|x2zeroax\b|x2zeroa\b|yzeroaxis\b|yzeroaxi\b|yzeroax\b|yzeroa\b|y2zeroaxis\b|y2zeroaxi\b|y2zeroax\b|y2zeroa\b|zzeroaxis\b|zzeroaxi\b|zzeroax\b|zzeroa\b|zeroaxis\b|zeroaxi\b|zeroax\b|zeroa\b|zero\b|zer\b|ze\b|z\b">
221 <token type="NameBuiltin"/>
222 <pop depth="1"/>
223 </rule>
224 </state>
225 <state name="bind">
226 <rule pattern="!">
227 <token type="Keyword"/>
228 <pop depth="1"/>
229 </rule>
230 <rule pattern="allwindows\b|allwindow\b|allwindo\b|allwind\b|allwin\b|allwi\b|allw\b|all\b">
231 <token type="NameBuiltin"/>
232 </rule>
233 <rule>
234 <include state="genericargs"/>
235 </rule>
236 </state>
237 <state name="fit">
238 <rule pattern="via\b">
239 <token type="NameBuiltin"/>
240 </rule>
241 <rule>
242 <include state="plot"/>
243 </rule>
244 </state>
245 <state name="noargs">
246 <rule>
247 <include state="whitespace"/>
248 </rule>
249 <rule pattern=";">
250 <token type="Punctuation"/>
251 <pop depth="1"/>
252 </rule>
253 <rule pattern="\n">
254 <token type="Text"/>
255 <pop depth="1"/>
256 </rule>
257 </state>
258 <state name="sqstring">
259 <rule pattern="''">
260 <token type="LiteralString"/>
261 </rule>
262 <rule pattern="'">
263 <token type="LiteralString"/>
264 <pop depth="1"/>
265 </rule>
266 <rule pattern="[^\\'\n]+">
267 <token type="LiteralString"/>
268 </rule>
269 <rule pattern="\\\n">
270 <token type="LiteralString"/>
271 </rule>
272 <rule pattern="\\">
273 <token type="LiteralString"/>
274 </rule>
275 <rule pattern="\n">
276 <token type="LiteralString"/>
277 <pop depth="1"/>
278 </rule>
279 </state>
280 <state name="quit">
281 <rule pattern="gnuplot\b">
282 <token type="Keyword"/>
283 </rule>
284 <rule>
285 <include state="noargs"/>
286 </rule>
287 </state>
288 </rules>
289</lexer>
View as plain text