|
1 # -*- coding: utf-8 -*- |
|
2 """ |
|
3 pygments.lexers.freefem |
|
4 ~~~~~~~~~~~~~~~~~~~~~~~ |
|
5 |
|
6 Lexer for FreeFem++ language. |
|
7 |
|
8 :copyright: Copyright 2006-2019 by the Pygments team, see AUTHORS. |
|
9 :license: BSD, see LICENSE for details. |
|
10 """ |
|
11 |
|
12 from pygments.lexer import RegexLexer, include, bygroups, inherit, words, \ |
|
13 default |
|
14 from pygments.token import Text, Comment, Operator, Keyword, Name, String, \ |
|
15 Number, Punctuation |
|
16 |
|
17 from pygments.lexers.c_cpp import CLexer, CppLexer |
|
18 from pygments.lexers import _mql_builtins |
|
19 |
|
20 __all__ = ['FreeFemLexer'] |
|
21 |
|
22 |
|
23 class FreeFemLexer(CppLexer): |
|
24 """ |
|
25 For `FreeFem++ <https://freefem.org/>`_ source. |
|
26 |
|
27 This is an extension of the CppLexer, as the FreeFem Language is a superset |
|
28 of C++. |
|
29 |
|
30 .. versionadded:: 2.4 |
|
31 """ |
|
32 |
|
33 name = 'Freefem' |
|
34 aliases = ['freefem'] |
|
35 filenames = ['*.edp'] |
|
36 mimetypes = ['text/x-freefem'] |
|
37 |
|
38 # Language operators |
|
39 operators = {'+', '-', '*', '.*', '/', './', '%', '^', '^-1', ':', '\''} |
|
40 |
|
41 # types |
|
42 types = {'bool', 'border', 'complex', 'dmatrix', 'fespace', 'func', 'gslspline', |
|
43 'ifstream', 'int', 'macro', 'matrix', 'mesh', 'mesh3', 'mpiComm', |
|
44 'mpiGroup', 'mpiRequest', 'NewMacro', 'EndMacro', 'ofstream', 'Pmmap', |
|
45 'problem', 'Psemaphore', 'real', 'solve', 'string', 'varf'} |
|
46 |
|
47 # finite element spaces |
|
48 fespaces = {'BDM1', 'BDM1Ortho', 'Edge03d', 'Edge13d', 'Edge23d', 'FEQF', 'HCT', |
|
49 'P0', 'P03d', 'P0Edge', 'P1', 'P13d', 'P1b', 'P1b3d', 'P1bl', 'P1bl3d', |
|
50 'P1dc', 'P1Edge', 'P1nc', 'P2', 'P23d', 'P2b', 'P2BR', 'P2dc', 'P2Edge', |
|
51 'P2h', 'P2Morley', 'P2pnc', 'P3', 'P3dc', 'P3Edge', 'P4', 'P4dc', |
|
52 'P4Edge', 'P5Edge', 'RT0', 'RT03d', 'RT0Ortho', 'RT1', 'RT1Ortho', |
|
53 'RT2', 'RT2Ortho'} |
|
54 |
|
55 # preprocessor |
|
56 preprocessor = {'ENDIFMACRO', 'include', 'IFMACRO', 'load'} |
|
57 |
|
58 # Language keywords |
|
59 keywords = { |
|
60 'adj', |
|
61 'append', |
|
62 'area', |
|
63 'ARGV', |
|
64 'be', |
|
65 'binary', |
|
66 'BoundaryEdge', |
|
67 'bordermeasure', |
|
68 'CG', |
|
69 'Cholesky', |
|
70 'cin', |
|
71 'cout', |
|
72 'Crout', |
|
73 'default', |
|
74 'diag', |
|
75 'edgeOrientation', |
|
76 'endl', |
|
77 'false', |
|
78 'ffind', |
|
79 'FILE', |
|
80 'find', |
|
81 'fixed', |
|
82 'flush', |
|
83 'GMRES', |
|
84 'good', |
|
85 'hTriangle', |
|
86 'im', |
|
87 'imax', |
|
88 'imin', |
|
89 'InternalEdge', |
|
90 'l1', |
|
91 'l2', |
|
92 'label', |
|
93 'lenEdge', |
|
94 'length', |
|
95 'LINE', |
|
96 'linfty', |
|
97 'LU', |
|
98 'm', |
|
99 'max', |
|
100 'measure', |
|
101 'min', |
|
102 'mpiAnySource', |
|
103 'mpiBAND', |
|
104 'mpiBXOR', |
|
105 'mpiCommWorld', |
|
106 'mpiLAND', |
|
107 'mpiLOR', |
|
108 'mpiLXOR', |
|
109 'mpiMAX', |
|
110 'mpiMIN', |
|
111 'mpiPROD', |
|
112 'mpirank', |
|
113 'mpisize', |
|
114 'mpiSUM', |
|
115 'mpiUndefined', |
|
116 'n', |
|
117 'N', |
|
118 'nbe', |
|
119 'ndof', |
|
120 'ndofK', |
|
121 'noshowbase', |
|
122 'noshowpos', |
|
123 'notaregion', |
|
124 'nt', |
|
125 'nTonEdge', |
|
126 'nuEdge', |
|
127 'nuTriangle', |
|
128 'nv', |
|
129 'P', |
|
130 'pi', |
|
131 'precision', |
|
132 'qf1pE', |
|
133 'qf1pElump', |
|
134 'qf1pT', |
|
135 'qf1pTlump', |
|
136 'qfV1', |
|
137 'qfV1lump', |
|
138 'qf2pE', |
|
139 'qf2pT', |
|
140 'qf2pT4P1', |
|
141 'qfV2', |
|
142 'qf3pE', |
|
143 'qf4pE', |
|
144 'qf5pE', |
|
145 'qf5pT', |
|
146 'qfV5', |
|
147 'qf7pT', |
|
148 'qf9pT', |
|
149 'qfnbpE', |
|
150 'quantile', |
|
151 're', |
|
152 'region', |
|
153 'rfind', |
|
154 'scientific', |
|
155 'searchMethod', |
|
156 'setw', |
|
157 'showbase', |
|
158 'showpos', |
|
159 'sparsesolver', |
|
160 'sum', |
|
161 'tellp', |
|
162 'true', |
|
163 'UMFPACK', |
|
164 'unused', |
|
165 'whoinElement', |
|
166 'verbosity', |
|
167 'version', |
|
168 'volume', |
|
169 'x', |
|
170 'y', |
|
171 'z' |
|
172 } |
|
173 |
|
174 # Language shipped functions and class ( ) |
|
175 functions = { |
|
176 'abs', |
|
177 'acos', |
|
178 'acosh', |
|
179 'adaptmesh', |
|
180 'adj', |
|
181 'AffineCG', |
|
182 'AffineGMRES', |
|
183 'arg', |
|
184 'asin', |
|
185 'asinh', |
|
186 'assert', |
|
187 'atan', |
|
188 'atan2', |
|
189 'atanh', |
|
190 'atof', |
|
191 'atoi', |
|
192 'BFGS', |
|
193 'broadcast', |
|
194 'buildlayers', |
|
195 'buildmesh', |
|
196 'ceil', |
|
197 'chi', |
|
198 'complexEigenValue', |
|
199 'copysign', |
|
200 'change', |
|
201 'checkmovemesh', |
|
202 'clock', |
|
203 'cmaes', |
|
204 'conj', |
|
205 'convect', |
|
206 'cos', |
|
207 'cosh', |
|
208 'cube', |
|
209 'd', |
|
210 'dd', |
|
211 'dfft', |
|
212 'diffnp', |
|
213 'diffpos', |
|
214 'dimKrylov', |
|
215 'dist', |
|
216 'dumptable', |
|
217 'dx', |
|
218 'dxx', |
|
219 'dxy', |
|
220 'dxz', |
|
221 'dy', |
|
222 'dyx', |
|
223 'dyy', |
|
224 'dyz', |
|
225 'dz', |
|
226 'dzx', |
|
227 'dzy', |
|
228 'dzz', |
|
229 'EigenValue', |
|
230 'emptymesh', |
|
231 'erf', |
|
232 'erfc', |
|
233 'exec', |
|
234 'exit', |
|
235 'exp', |
|
236 'fdim', |
|
237 'floor', |
|
238 'fmax', |
|
239 'fmin', |
|
240 'fmod', |
|
241 'freeyams', |
|
242 'getARGV', |
|
243 'getline', |
|
244 'gmshload', |
|
245 'gmshload3', |
|
246 'gslcdfugaussianP', |
|
247 'gslcdfugaussianQ', |
|
248 'gslcdfugaussianPinv', |
|
249 'gslcdfugaussianQinv', |
|
250 'gslcdfgaussianP', |
|
251 'gslcdfgaussianQ', |
|
252 'gslcdfgaussianPinv', |
|
253 'gslcdfgaussianQinv', |
|
254 'gslcdfgammaP', |
|
255 'gslcdfgammaQ', |
|
256 'gslcdfgammaPinv', |
|
257 'gslcdfgammaQinv', |
|
258 'gslcdfcauchyP', |
|
259 'gslcdfcauchyQ', |
|
260 'gslcdfcauchyPinv', |
|
261 'gslcdfcauchyQinv', |
|
262 'gslcdflaplaceP', |
|
263 'gslcdflaplaceQ', |
|
264 'gslcdflaplacePinv', |
|
265 'gslcdflaplaceQinv', |
|
266 'gslcdfrayleighP', |
|
267 'gslcdfrayleighQ', |
|
268 'gslcdfrayleighPinv', |
|
269 'gslcdfrayleighQinv', |
|
270 'gslcdfchisqP', |
|
271 'gslcdfchisqQ', |
|
272 'gslcdfchisqPinv', |
|
273 'gslcdfchisqQinv', |
|
274 'gslcdfexponentialP', |
|
275 'gslcdfexponentialQ', |
|
276 'gslcdfexponentialPinv', |
|
277 'gslcdfexponentialQinv', |
|
278 'gslcdfexppowP', |
|
279 'gslcdfexppowQ', |
|
280 'gslcdftdistP', |
|
281 'gslcdftdistQ', |
|
282 'gslcdftdistPinv', |
|
283 'gslcdftdistQinv', |
|
284 'gslcdffdistP', |
|
285 'gslcdffdistQ', |
|
286 'gslcdffdistPinv', |
|
287 'gslcdffdistQinv', |
|
288 'gslcdfbetaP', |
|
289 'gslcdfbetaQ', |
|
290 'gslcdfbetaPinv', |
|
291 'gslcdfbetaQinv', |
|
292 'gslcdfflatP', |
|
293 'gslcdfflatQ', |
|
294 'gslcdfflatPinv', |
|
295 'gslcdfflatQinv', |
|
296 'gslcdflognormalP', |
|
297 'gslcdflognormalQ', |
|
298 'gslcdflognormalPinv', |
|
299 'gslcdflognormalQinv', |
|
300 'gslcdfgumbel1P', |
|
301 'gslcdfgumbel1Q', |
|
302 'gslcdfgumbel1Pinv', |
|
303 'gslcdfgumbel1Qinv', |
|
304 'gslcdfgumbel2P', |
|
305 'gslcdfgumbel2Q', |
|
306 'gslcdfgumbel2Pinv', |
|
307 'gslcdfgumbel2Qinv', |
|
308 'gslcdfweibullP', |
|
309 'gslcdfweibullQ', |
|
310 'gslcdfweibullPinv', |
|
311 'gslcdfweibullQinv', |
|
312 'gslcdfparetoP', |
|
313 'gslcdfparetoQ', |
|
314 'gslcdfparetoPinv', |
|
315 'gslcdfparetoQinv', |
|
316 'gslcdflogisticP', |
|
317 'gslcdflogisticQ', |
|
318 'gslcdflogisticPinv', |
|
319 'gslcdflogisticQinv', |
|
320 'gslcdfbinomialP', |
|
321 'gslcdfbinomialQ', |
|
322 'gslcdfpoissonP', |
|
323 'gslcdfpoissonQ', |
|
324 'gslcdfgeometricP', |
|
325 'gslcdfgeometricQ', |
|
326 'gslcdfnegativebinomialP', |
|
327 'gslcdfnegativebinomialQ', |
|
328 'gslcdfpascalP', |
|
329 'gslcdfpascalQ', |
|
330 'gslinterpakima', |
|
331 'gslinterpakimaperiodic', |
|
332 'gslinterpcsplineperiodic', |
|
333 'gslinterpcspline', |
|
334 'gslinterpsteffen', |
|
335 'gslinterplinear', |
|
336 'gslinterppolynomial', |
|
337 'gslranbernoullipdf', |
|
338 'gslranbeta', |
|
339 'gslranbetapdf', |
|
340 'gslranbinomialpdf', |
|
341 'gslranexponential', |
|
342 'gslranexponentialpdf', |
|
343 'gslranexppow', |
|
344 'gslranexppowpdf', |
|
345 'gslrancauchy', |
|
346 'gslrancauchypdf', |
|
347 'gslranchisq', |
|
348 'gslranchisqpdf', |
|
349 'gslranerlang', |
|
350 'gslranerlangpdf', |
|
351 'gslranfdist', |
|
352 'gslranfdistpdf', |
|
353 'gslranflat', |
|
354 'gslranflatpdf', |
|
355 'gslrangamma', |
|
356 'gslrangammaint', |
|
357 'gslrangammapdf', |
|
358 'gslrangammamt', |
|
359 'gslrangammaknuth', |
|
360 'gslrangaussian', |
|
361 'gslrangaussianratiomethod', |
|
362 'gslrangaussianziggurat', |
|
363 'gslrangaussianpdf', |
|
364 'gslranugaussian', |
|
365 'gslranugaussianratiomethod', |
|
366 'gslranugaussianpdf', |
|
367 'gslrangaussiantail', |
|
368 'gslrangaussiantailpdf', |
|
369 'gslranugaussiantail', |
|
370 'gslranugaussiantailpdf', |
|
371 'gslranlandau', |
|
372 'gslranlandaupdf', |
|
373 'gslrangeometricpdf', |
|
374 'gslrangumbel1', |
|
375 'gslrangumbel1pdf', |
|
376 'gslrangumbel2', |
|
377 'gslrangumbel2pdf', |
|
378 'gslranlogistic', |
|
379 'gslranlogisticpdf', |
|
380 'gslranlognormal', |
|
381 'gslranlognormalpdf', |
|
382 'gslranlogarithmicpdf', |
|
383 'gslrannegativebinomialpdf', |
|
384 'gslranpascalpdf', |
|
385 'gslranpareto', |
|
386 'gslranparetopdf', |
|
387 'gslranpoissonpdf', |
|
388 'gslranrayleigh', |
|
389 'gslranrayleighpdf', |
|
390 'gslranrayleightail', |
|
391 'gslranrayleightailpdf', |
|
392 'gslrantdist', |
|
393 'gslrantdistpdf', |
|
394 'gslranlaplace', |
|
395 'gslranlaplacepdf', |
|
396 'gslranlevy', |
|
397 'gslranweibull', |
|
398 'gslranweibullpdf', |
|
399 'gslsfairyAi', |
|
400 'gslsfairyBi', |
|
401 'gslsfairyAiscaled', |
|
402 'gslsfairyBiscaled', |
|
403 'gslsfairyAideriv', |
|
404 'gslsfairyBideriv', |
|
405 'gslsfairyAiderivscaled', |
|
406 'gslsfairyBiderivscaled', |
|
407 'gslsfairyzeroAi', |
|
408 'gslsfairyzeroBi', |
|
409 'gslsfairyzeroAideriv', |
|
410 'gslsfairyzeroBideriv', |
|
411 'gslsfbesselJ0', |
|
412 'gslsfbesselJ1', |
|
413 'gslsfbesselJn', |
|
414 'gslsfbesselY0', |
|
415 'gslsfbesselY1', |
|
416 'gslsfbesselYn', |
|
417 'gslsfbesselI0', |
|
418 'gslsfbesselI1', |
|
419 'gslsfbesselIn', |
|
420 'gslsfbesselI0scaled', |
|
421 'gslsfbesselI1scaled', |
|
422 'gslsfbesselInscaled', |
|
423 'gslsfbesselK0', |
|
424 'gslsfbesselK1', |
|
425 'gslsfbesselKn', |
|
426 'gslsfbesselK0scaled', |
|
427 'gslsfbesselK1scaled', |
|
428 'gslsfbesselKnscaled', |
|
429 'gslsfbesselj0', |
|
430 'gslsfbesselj1', |
|
431 'gslsfbesselj2', |
|
432 'gslsfbesseljl', |
|
433 'gslsfbessely0', |
|
434 'gslsfbessely1', |
|
435 'gslsfbessely2', |
|
436 'gslsfbesselyl', |
|
437 'gslsfbesseli0scaled', |
|
438 'gslsfbesseli1scaled', |
|
439 'gslsfbesseli2scaled', |
|
440 'gslsfbesselilscaled', |
|
441 'gslsfbesselk0scaled', |
|
442 'gslsfbesselk1scaled', |
|
443 'gslsfbesselk2scaled', |
|
444 'gslsfbesselklscaled', |
|
445 'gslsfbesselJnu', |
|
446 'gslsfbesselYnu', |
|
447 'gslsfbesselInuscaled', |
|
448 'gslsfbesselInu', |
|
449 'gslsfbesselKnuscaled', |
|
450 'gslsfbesselKnu', |
|
451 'gslsfbessellnKnu', |
|
452 'gslsfbesselzeroJ0', |
|
453 'gslsfbesselzeroJ1', |
|
454 'gslsfbesselzeroJnu', |
|
455 'gslsfclausen', |
|
456 'gslsfhydrogenicR1', |
|
457 'gslsfdawson', |
|
458 'gslsfdebye1', |
|
459 'gslsfdebye2', |
|
460 'gslsfdebye3', |
|
461 'gslsfdebye4', |
|
462 'gslsfdebye5', |
|
463 'gslsfdebye6', |
|
464 'gslsfdilog', |
|
465 'gslsfmultiply', |
|
466 'gslsfellintKcomp', |
|
467 'gslsfellintEcomp', |
|
468 'gslsfellintPcomp', |
|
469 'gslsfellintDcomp', |
|
470 'gslsfellintF', |
|
471 'gslsfellintE', |
|
472 'gslsfellintRC', |
|
473 'gslsferfc', |
|
474 'gslsflogerfc', |
|
475 'gslsferf', |
|
476 'gslsferfZ', |
|
477 'gslsferfQ', |
|
478 'gslsfhazard', |
|
479 'gslsfexp', |
|
480 'gslsfexpmult', |
|
481 'gslsfexpm1', |
|
482 'gslsfexprel', |
|
483 'gslsfexprel2', |
|
484 'gslsfexpreln', |
|
485 'gslsfexpintE1', |
|
486 'gslsfexpintE2', |
|
487 'gslsfexpintEn', |
|
488 'gslsfexpintE1scaled', |
|
489 'gslsfexpintE2scaled', |
|
490 'gslsfexpintEnscaled', |
|
491 'gslsfexpintEi', |
|
492 'gslsfexpintEiscaled', |
|
493 'gslsfShi', |
|
494 'gslsfChi', |
|
495 'gslsfexpint3', |
|
496 'gslsfSi', |
|
497 'gslsfCi', |
|
498 'gslsfatanint', |
|
499 'gslsffermidiracm1', |
|
500 'gslsffermidirac0', |
|
501 'gslsffermidirac1', |
|
502 'gslsffermidirac2', |
|
503 'gslsffermidiracint', |
|
504 'gslsffermidiracmhalf', |
|
505 'gslsffermidirachalf', |
|
506 'gslsffermidirac3half', |
|
507 'gslsffermidiracinc0', |
|
508 'gslsflngamma', |
|
509 'gslsfgamma', |
|
510 'gslsfgammastar', |
|
511 'gslsfgammainv', |
|
512 'gslsftaylorcoeff', |
|
513 'gslsffact', |
|
514 'gslsfdoublefact', |
|
515 'gslsflnfact', |
|
516 'gslsflndoublefact', |
|
517 'gslsflnchoose', |
|
518 'gslsfchoose', |
|
519 'gslsflnpoch', |
|
520 'gslsfpoch', |
|
521 'gslsfpochrel', |
|
522 'gslsfgammaincQ', |
|
523 'gslsfgammaincP', |
|
524 'gslsfgammainc', |
|
525 'gslsflnbeta', |
|
526 'gslsfbeta', |
|
527 'gslsfbetainc', |
|
528 'gslsfgegenpoly1', |
|
529 'gslsfgegenpoly2', |
|
530 'gslsfgegenpoly3', |
|
531 'gslsfgegenpolyn', |
|
532 'gslsfhyperg0F1', |
|
533 'gslsfhyperg1F1int', |
|
534 'gslsfhyperg1F1', |
|
535 'gslsfhypergUint', |
|
536 'gslsfhypergU', |
|
537 'gslsfhyperg2F0', |
|
538 'gslsflaguerre1', |
|
539 'gslsflaguerre2', |
|
540 'gslsflaguerre3', |
|
541 'gslsflaguerren', |
|
542 'gslsflambertW0', |
|
543 'gslsflambertWm1', |
|
544 'gslsflegendrePl', |
|
545 'gslsflegendreP1', |
|
546 'gslsflegendreP2', |
|
547 'gslsflegendreP3', |
|
548 'gslsflegendreQ0', |
|
549 'gslsflegendreQ1', |
|
550 'gslsflegendreQl', |
|
551 'gslsflegendrePlm', |
|
552 'gslsflegendresphPlm', |
|
553 'gslsflegendrearraysize', |
|
554 'gslsfconicalPhalf', |
|
555 'gslsfconicalPmhalf', |
|
556 'gslsfconicalP0', |
|
557 'gslsfconicalP1', |
|
558 'gslsfconicalPsphreg', |
|
559 'gslsfconicalPcylreg', |
|
560 'gslsflegendreH3d0', |
|
561 'gslsflegendreH3d1', |
|
562 'gslsflegendreH3d', |
|
563 'gslsflog', |
|
564 'gslsflogabs', |
|
565 'gslsflog1plusx', |
|
566 'gslsflog1plusxmx', |
|
567 'gslsfpowint', |
|
568 'gslsfpsiint', |
|
569 'gslsfpsi', |
|
570 'gslsfpsi1piy', |
|
571 'gslsfpsi1int', |
|
572 'gslsfpsi1', |
|
573 'gslsfpsin', |
|
574 'gslsfsynchrotron1', |
|
575 'gslsfsynchrotron2', |
|
576 'gslsftransport2', |
|
577 'gslsftransport3', |
|
578 'gslsftransport4', |
|
579 'gslsftransport5', |
|
580 'gslsfsin', |
|
581 'gslsfcos', |
|
582 'gslsfhypot', |
|
583 'gslsfsinc', |
|
584 'gslsflnsinh', |
|
585 'gslsflncosh', |
|
586 'gslsfanglerestrictsymm', |
|
587 'gslsfanglerestrictpos', |
|
588 'gslsfzetaint', |
|
589 'gslsfzeta', |
|
590 'gslsfzetam1', |
|
591 'gslsfzetam1int', |
|
592 'gslsfhzeta', |
|
593 'gslsfetaint', |
|
594 'gslsfeta', |
|
595 'imag', |
|
596 'int1d', |
|
597 'int2d', |
|
598 'int3d', |
|
599 'intalledges', |
|
600 'intallfaces', |
|
601 'interpolate', |
|
602 'invdiff', |
|
603 'invdiffnp', |
|
604 'invdiffpos', |
|
605 'Isend', |
|
606 'isInf', |
|
607 'isNaN', |
|
608 'isoline', |
|
609 'Irecv', |
|
610 'j0', |
|
611 'j1', |
|
612 'jn', |
|
613 'jump', |
|
614 'lgamma', |
|
615 'LinearCG', |
|
616 'LinearGMRES', |
|
617 'log', |
|
618 'log10', |
|
619 'lrint', |
|
620 'lround', |
|
621 'max', |
|
622 'mean', |
|
623 'medit', |
|
624 'min', |
|
625 'mmg3d', |
|
626 'movemesh', |
|
627 'movemesh23', |
|
628 'mpiAlltoall', |
|
629 'mpiAlltoallv', |
|
630 'mpiAllgather', |
|
631 'mpiAllgatherv', |
|
632 'mpiAllReduce', |
|
633 'mpiBarrier', |
|
634 'mpiGather', |
|
635 'mpiGatherv', |
|
636 'mpiRank', |
|
637 'mpiReduce', |
|
638 'mpiScatter', |
|
639 'mpiScatterv', |
|
640 'mpiSize', |
|
641 'mpiWait', |
|
642 'mpiWaitAny', |
|
643 'mpiWtick', |
|
644 'mpiWtime', |
|
645 'mshmet', |
|
646 'NaN', |
|
647 'NLCG', |
|
648 'on', |
|
649 'plot', |
|
650 'polar', |
|
651 'Post', |
|
652 'pow', |
|
653 'processor', |
|
654 'processorblock', |
|
655 'projection', |
|
656 'randinit', |
|
657 'randint31', |
|
658 'randint32', |
|
659 'random', |
|
660 'randreal1', |
|
661 'randreal2', |
|
662 'randreal3', |
|
663 'randres53', |
|
664 'Read', |
|
665 'readmesh', |
|
666 'readmesh3', |
|
667 'Recv', |
|
668 'rint', |
|
669 'round', |
|
670 'savemesh', |
|
671 'savesol', |
|
672 'savevtk', |
|
673 'seekg', |
|
674 'Sent', |
|
675 'set', |
|
676 'sign', |
|
677 'signbit', |
|
678 'sin', |
|
679 'sinh', |
|
680 'sort', |
|
681 'splitComm', |
|
682 'splitmesh', |
|
683 'sqrt', |
|
684 'square', |
|
685 'srandom', |
|
686 'srandomdev', |
|
687 'Stringification', |
|
688 'swap', |
|
689 'system', |
|
690 'tan', |
|
691 'tanh', |
|
692 'tellg', |
|
693 'tetg', |
|
694 'tetgconvexhull', |
|
695 'tetgreconstruction', |
|
696 'tetgtransfo', |
|
697 'tgamma', |
|
698 'triangulate', |
|
699 'trunc', |
|
700 'Wait', |
|
701 'Write', |
|
702 'y0', |
|
703 'y1', |
|
704 'yn' |
|
705 } |
|
706 |
|
707 # function parameters |
|
708 parameters = { |
|
709 'A', |
|
710 'A1', |
|
711 'abserror', |
|
712 'absolute', |
|
713 'aniso', |
|
714 'aspectratio', |
|
715 'B', |
|
716 'B1', |
|
717 'bb', |
|
718 'beginend', |
|
719 'bin', |
|
720 'boundary', |
|
721 'bw', |
|
722 'close', |
|
723 'cmm', |
|
724 'coef', |
|
725 'composante', |
|
726 'cutoff', |
|
727 'datafilename', |
|
728 'dataname', |
|
729 'dim', |
|
730 'distmax', |
|
731 'displacement', |
|
732 'doptions', |
|
733 'dparams', |
|
734 'eps', |
|
735 'err', |
|
736 'errg', |
|
737 'facemerge', |
|
738 'facetcl', |
|
739 'factorize', |
|
740 'file', |
|
741 'fill', |
|
742 'fixedborder', |
|
743 'flabel', |
|
744 'flags', |
|
745 'floatmesh', |
|
746 'floatsol', |
|
747 'fregion', |
|
748 'gradation', |
|
749 'grey', |
|
750 'hmax', |
|
751 'hmin', |
|
752 'holelist', |
|
753 'hsv', |
|
754 'init', |
|
755 'inquire', |
|
756 'inside', |
|
757 'IsMetric', |
|
758 'iso', |
|
759 'ivalue', |
|
760 'keepbackvertices', |
|
761 'label', |
|
762 'labeldown', |
|
763 'labelmid', |
|
764 'labelup', |
|
765 'levelset', |
|
766 'loptions', |
|
767 'lparams', |
|
768 'maxit', |
|
769 'maxsubdiv', |
|
770 'meditff', |
|
771 'mem', |
|
772 'memory', |
|
773 'metric', |
|
774 'mode', |
|
775 'nbarrow', |
|
776 'nbiso', |
|
777 'nbiter', |
|
778 'nbjacoby', |
|
779 'nboffacetcl', |
|
780 'nbofholes', |
|
781 'nbofregions', |
|
782 'nbregul', |
|
783 'nbsmooth', |
|
784 'nbvx', |
|
785 'ncv', |
|
786 'nev', |
|
787 'nomeshgeneration', |
|
788 'normalization', |
|
789 'omega', |
|
790 'op', |
|
791 'optimize', |
|
792 'option', |
|
793 'options', |
|
794 'order', |
|
795 'orientation', |
|
796 'periodic', |
|
797 'power', |
|
798 'precon', |
|
799 'prev', |
|
800 'ps', |
|
801 'ptmerge', |
|
802 'qfe', |
|
803 'qforder', |
|
804 'qft', |
|
805 'qfV', |
|
806 'ratio', |
|
807 'rawvector', |
|
808 'reffacelow', |
|
809 'reffacemid', |
|
810 'reffaceup', |
|
811 'refnum', |
|
812 'reftet', |
|
813 'reftri', |
|
814 'region', |
|
815 'regionlist', |
|
816 'renumv', |
|
817 'rescaling', |
|
818 'ridgeangle', |
|
819 'save', |
|
820 'sigma', |
|
821 'sizeofvolume', |
|
822 'smoothing', |
|
823 'solver', |
|
824 'sparams', |
|
825 'split', |
|
826 'splitin2', |
|
827 'splitpbedge', |
|
828 'stop', |
|
829 'strategy', |
|
830 'swap', |
|
831 'switch', |
|
832 'sym', |
|
833 't', |
|
834 'tgv', |
|
835 'thetamax', |
|
836 'tol', |
|
837 'tolpivot', |
|
838 'tolpivotsym', |
|
839 'transfo', |
|
840 'U2Vc', |
|
841 'value', |
|
842 'varrow', |
|
843 'vector', |
|
844 'veps', |
|
845 'viso', |
|
846 'wait', |
|
847 'width', |
|
848 'withsurfacemesh', |
|
849 'WindowIndex', |
|
850 'which', |
|
851 'zbound' |
|
852 } |
|
853 |
|
854 # deprecated |
|
855 deprecated = {'fixeborder'} |
|
856 |
|
857 # do not highlight |
|
858 suppress_highlight = { |
|
859 'alignof', |
|
860 'asm', |
|
861 'constexpr', |
|
862 'decltype', |
|
863 'div', |
|
864 'double', |
|
865 'grad', |
|
866 'mutable', |
|
867 'namespace', |
|
868 'noexcept', |
|
869 'restrict', |
|
870 'static_assert', |
|
871 'template', |
|
872 'this', |
|
873 'thread_local', |
|
874 'typeid', |
|
875 'typename', |
|
876 'using' |
|
877 } |
|
878 |
|
879 def get_tokens_unprocessed(self, text): |
|
880 for index, token, value in CppLexer.get_tokens_unprocessed(self, text): |
|
881 if value in self.operators: |
|
882 yield index, Operator, value |
|
883 elif value in self.types: |
|
884 yield index, Keyword.Type, value |
|
885 elif value in self.fespaces: |
|
886 yield index, Name.Class, value |
|
887 elif value in self.preprocessor: |
|
888 yield index, Comment.Preproc, value |
|
889 elif value in self.keywords: |
|
890 yield index, Keyword.Reserved, value |
|
891 elif value in self.functions: |
|
892 yield index, Name.Function, value |
|
893 elif value in self.parameters: |
|
894 yield index, Keyword.Pseudo, value |
|
895 elif value in self.suppress_highlight: |
|
896 yield index, Name, value |
|
897 else: |
|
898 yield index, token, value |