894 lines
26 KiB
Python
894 lines
26 KiB
Python
"""
|
|
pygments.lexers.freefem
|
|
~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
Lexer for FreeFem++ language.
|
|
|
|
:copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.
|
|
:license: BSD, see LICENSE for details.
|
|
"""
|
|
|
|
from pygments.token import Comment, Operator, Keyword, Name
|
|
|
|
from pygments.lexers.c_cpp import CppLexer
|
|
|
|
__all__ = ['FreeFemLexer']
|
|
|
|
|
|
class FreeFemLexer(CppLexer):
|
|
"""
|
|
For FreeFem++ source.
|
|
|
|
This is an extension of the CppLexer, as the FreeFem Language is a superset
|
|
of C++.
|
|
"""
|
|
|
|
name = 'Freefem'
|
|
url = 'https://freefem.org/'
|
|
aliases = ['freefem']
|
|
filenames = ['*.edp']
|
|
mimetypes = ['text/x-freefem']
|
|
version_added = '2.4'
|
|
|
|
# Language operators
|
|
operators = {'+', '-', '*', '.*', '/', './', '%', '^', '^-1', ':', '\''}
|
|
|
|
# types
|
|
types = {'bool', 'border', 'complex', 'dmatrix', 'fespace', 'func', 'gslspline',
|
|
'ifstream', 'int', 'macro', 'matrix', 'mesh', 'mesh3', 'mpiComm',
|
|
'mpiGroup', 'mpiRequest', 'NewMacro', 'EndMacro', 'ofstream', 'Pmmap',
|
|
'problem', 'Psemaphore', 'real', 'solve', 'string', 'varf'}
|
|
|
|
# finite element spaces
|
|
fespaces = {'BDM1', 'BDM1Ortho', 'Edge03d', 'Edge13d', 'Edge23d', 'FEQF', 'HCT',
|
|
'P0', 'P03d', 'P0Edge', 'P1', 'P13d', 'P1b', 'P1b3d', 'P1bl', 'P1bl3d',
|
|
'P1dc', 'P1Edge', 'P1nc', 'P2', 'P23d', 'P2b', 'P2BR', 'P2dc', 'P2Edge',
|
|
'P2h', 'P2Morley', 'P2pnc', 'P3', 'P3dc', 'P3Edge', 'P4', 'P4dc',
|
|
'P4Edge', 'P5Edge', 'RT0', 'RT03d', 'RT0Ortho', 'RT1', 'RT1Ortho',
|
|
'RT2', 'RT2Ortho'}
|
|
|
|
# preprocessor
|
|
preprocessor = {'ENDIFMACRO', 'include', 'IFMACRO', 'load'}
|
|
|
|
# Language keywords
|
|
keywords = {
|
|
'adj',
|
|
'append',
|
|
'area',
|
|
'ARGV',
|
|
'be',
|
|
'binary',
|
|
'BoundaryEdge',
|
|
'bordermeasure',
|
|
'CG',
|
|
'Cholesky',
|
|
'cin',
|
|
'cout',
|
|
'Crout',
|
|
'default',
|
|
'diag',
|
|
'edgeOrientation',
|
|
'endl',
|
|
'false',
|
|
'ffind',
|
|
'FILE',
|
|
'find',
|
|
'fixed',
|
|
'flush',
|
|
'GMRES',
|
|
'good',
|
|
'hTriangle',
|
|
'im',
|
|
'imax',
|
|
'imin',
|
|
'InternalEdge',
|
|
'l1',
|
|
'l2',
|
|
'label',
|
|
'lenEdge',
|
|
'length',
|
|
'LINE',
|
|
'linfty',
|
|
'LU',
|
|
'm',
|
|
'max',
|
|
'measure',
|
|
'min',
|
|
'mpiAnySource',
|
|
'mpiBAND',
|
|
'mpiBXOR',
|
|
'mpiCommWorld',
|
|
'mpiLAND',
|
|
'mpiLOR',
|
|
'mpiLXOR',
|
|
'mpiMAX',
|
|
'mpiMIN',
|
|
'mpiPROD',
|
|
'mpirank',
|
|
'mpisize',
|
|
'mpiSUM',
|
|
'mpiUndefined',
|
|
'n',
|
|
'N',
|
|
'nbe',
|
|
'ndof',
|
|
'ndofK',
|
|
'noshowbase',
|
|
'noshowpos',
|
|
'notaregion',
|
|
'nt',
|
|
'nTonEdge',
|
|
'nuEdge',
|
|
'nuTriangle',
|
|
'nv',
|
|
'P',
|
|
'pi',
|
|
'precision',
|
|
'qf1pE',
|
|
'qf1pElump',
|
|
'qf1pT',
|
|
'qf1pTlump',
|
|
'qfV1',
|
|
'qfV1lump',
|
|
'qf2pE',
|
|
'qf2pT',
|
|
'qf2pT4P1',
|
|
'qfV2',
|
|
'qf3pE',
|
|
'qf4pE',
|
|
'qf5pE',
|
|
'qf5pT',
|
|
'qfV5',
|
|
'qf7pT',
|
|
'qf9pT',
|
|
'qfnbpE',
|
|
'quantile',
|
|
're',
|
|
'region',
|
|
'rfind',
|
|
'scientific',
|
|
'searchMethod',
|
|
'setw',
|
|
'showbase',
|
|
'showpos',
|
|
'sparsesolver',
|
|
'sum',
|
|
'tellp',
|
|
'true',
|
|
'UMFPACK',
|
|
'unused',
|
|
'whoinElement',
|
|
'verbosity',
|
|
'version',
|
|
'volume',
|
|
'x',
|
|
'y',
|
|
'z'
|
|
}
|
|
|
|
# Language shipped functions and class ( )
|
|
functions = {
|
|
'abs',
|
|
'acos',
|
|
'acosh',
|
|
'adaptmesh',
|
|
'adj',
|
|
'AffineCG',
|
|
'AffineGMRES',
|
|
'arg',
|
|
'asin',
|
|
'asinh',
|
|
'assert',
|
|
'atan',
|
|
'atan2',
|
|
'atanh',
|
|
'atof',
|
|
'atoi',
|
|
'BFGS',
|
|
'broadcast',
|
|
'buildlayers',
|
|
'buildmesh',
|
|
'ceil',
|
|
'chi',
|
|
'complexEigenValue',
|
|
'copysign',
|
|
'change',
|
|
'checkmovemesh',
|
|
'clock',
|
|
'cmaes',
|
|
'conj',
|
|
'convect',
|
|
'cos',
|
|
'cosh',
|
|
'cube',
|
|
'd',
|
|
'dd',
|
|
'dfft',
|
|
'diffnp',
|
|
'diffpos',
|
|
'dimKrylov',
|
|
'dist',
|
|
'dumptable',
|
|
'dx',
|
|
'dxx',
|
|
'dxy',
|
|
'dxz',
|
|
'dy',
|
|
'dyx',
|
|
'dyy',
|
|
'dyz',
|
|
'dz',
|
|
'dzx',
|
|
'dzy',
|
|
'dzz',
|
|
'EigenValue',
|
|
'emptymesh',
|
|
'erf',
|
|
'erfc',
|
|
'exec',
|
|
'exit',
|
|
'exp',
|
|
'fdim',
|
|
'floor',
|
|
'fmax',
|
|
'fmin',
|
|
'fmod',
|
|
'freeyams',
|
|
'getARGV',
|
|
'getline',
|
|
'gmshload',
|
|
'gmshload3',
|
|
'gslcdfugaussianP',
|
|
'gslcdfugaussianQ',
|
|
'gslcdfugaussianPinv',
|
|
'gslcdfugaussianQinv',
|
|
'gslcdfgaussianP',
|
|
'gslcdfgaussianQ',
|
|
'gslcdfgaussianPinv',
|
|
'gslcdfgaussianQinv',
|
|
'gslcdfgammaP',
|
|
'gslcdfgammaQ',
|
|
'gslcdfgammaPinv',
|
|
'gslcdfgammaQinv',
|
|
'gslcdfcauchyP',
|
|
'gslcdfcauchyQ',
|
|
'gslcdfcauchyPinv',
|
|
'gslcdfcauchyQinv',
|
|
'gslcdflaplaceP',
|
|
'gslcdflaplaceQ',
|
|
'gslcdflaplacePinv',
|
|
'gslcdflaplaceQinv',
|
|
'gslcdfrayleighP',
|
|
'gslcdfrayleighQ',
|
|
'gslcdfrayleighPinv',
|
|
'gslcdfrayleighQinv',
|
|
'gslcdfchisqP',
|
|
'gslcdfchisqQ',
|
|
'gslcdfchisqPinv',
|
|
'gslcdfchisqQinv',
|
|
'gslcdfexponentialP',
|
|
'gslcdfexponentialQ',
|
|
'gslcdfexponentialPinv',
|
|
'gslcdfexponentialQinv',
|
|
'gslcdfexppowP',
|
|
'gslcdfexppowQ',
|
|
'gslcdftdistP',
|
|
'gslcdftdistQ',
|
|
'gslcdftdistPinv',
|
|
'gslcdftdistQinv',
|
|
'gslcdffdistP',
|
|
'gslcdffdistQ',
|
|
'gslcdffdistPinv',
|
|
'gslcdffdistQinv',
|
|
'gslcdfbetaP',
|
|
'gslcdfbetaQ',
|
|
'gslcdfbetaPinv',
|
|
'gslcdfbetaQinv',
|
|
'gslcdfflatP',
|
|
'gslcdfflatQ',
|
|
'gslcdfflatPinv',
|
|
'gslcdfflatQinv',
|
|
'gslcdflognormalP',
|
|
'gslcdflognormalQ',
|
|
'gslcdflognormalPinv',
|
|
'gslcdflognormalQinv',
|
|
'gslcdfgumbel1P',
|
|
'gslcdfgumbel1Q',
|
|
'gslcdfgumbel1Pinv',
|
|
'gslcdfgumbel1Qinv',
|
|
'gslcdfgumbel2P',
|
|
'gslcdfgumbel2Q',
|
|
'gslcdfgumbel2Pinv',
|
|
'gslcdfgumbel2Qinv',
|
|
'gslcdfweibullP',
|
|
'gslcdfweibullQ',
|
|
'gslcdfweibullPinv',
|
|
'gslcdfweibullQinv',
|
|
'gslcdfparetoP',
|
|
'gslcdfparetoQ',
|
|
'gslcdfparetoPinv',
|
|
'gslcdfparetoQinv',
|
|
'gslcdflogisticP',
|
|
'gslcdflogisticQ',
|
|
'gslcdflogisticPinv',
|
|
'gslcdflogisticQinv',
|
|
'gslcdfbinomialP',
|
|
'gslcdfbinomialQ',
|
|
'gslcdfpoissonP',
|
|
'gslcdfpoissonQ',
|
|
'gslcdfgeometricP',
|
|
'gslcdfgeometricQ',
|
|
'gslcdfnegativebinomialP',
|
|
'gslcdfnegativebinomialQ',
|
|
'gslcdfpascalP',
|
|
'gslcdfpascalQ',
|
|
'gslinterpakima',
|
|
'gslinterpakimaperiodic',
|
|
'gslinterpcsplineperiodic',
|
|
'gslinterpcspline',
|
|
'gslinterpsteffen',
|
|
'gslinterplinear',
|
|
'gslinterppolynomial',
|
|
'gslranbernoullipdf',
|
|
'gslranbeta',
|
|
'gslranbetapdf',
|
|
'gslranbinomialpdf',
|
|
'gslranexponential',
|
|
'gslranexponentialpdf',
|
|
'gslranexppow',
|
|
'gslranexppowpdf',
|
|
'gslrancauchy',
|
|
'gslrancauchypdf',
|
|
'gslranchisq',
|
|
'gslranchisqpdf',
|
|
'gslranerlang',
|
|
'gslranerlangpdf',
|
|
'gslranfdist',
|
|
'gslranfdistpdf',
|
|
'gslranflat',
|
|
'gslranflatpdf',
|
|
'gslrangamma',
|
|
'gslrangammaint',
|
|
'gslrangammapdf',
|
|
'gslrangammamt',
|
|
'gslrangammaknuth',
|
|
'gslrangaussian',
|
|
'gslrangaussianratiomethod',
|
|
'gslrangaussianziggurat',
|
|
'gslrangaussianpdf',
|
|
'gslranugaussian',
|
|
'gslranugaussianratiomethod',
|
|
'gslranugaussianpdf',
|
|
'gslrangaussiantail',
|
|
'gslrangaussiantailpdf',
|
|
'gslranugaussiantail',
|
|
'gslranugaussiantailpdf',
|
|
'gslranlandau',
|
|
'gslranlandaupdf',
|
|
'gslrangeometricpdf',
|
|
'gslrangumbel1',
|
|
'gslrangumbel1pdf',
|
|
'gslrangumbel2',
|
|
'gslrangumbel2pdf',
|
|
'gslranlogistic',
|
|
'gslranlogisticpdf',
|
|
'gslranlognormal',
|
|
'gslranlognormalpdf',
|
|
'gslranlogarithmicpdf',
|
|
'gslrannegativebinomialpdf',
|
|
'gslranpascalpdf',
|
|
'gslranpareto',
|
|
'gslranparetopdf',
|
|
'gslranpoissonpdf',
|
|
'gslranrayleigh',
|
|
'gslranrayleighpdf',
|
|
'gslranrayleightail',
|
|
'gslranrayleightailpdf',
|
|
'gslrantdist',
|
|
'gslrantdistpdf',
|
|
'gslranlaplace',
|
|
'gslranlaplacepdf',
|
|
'gslranlevy',
|
|
'gslranweibull',
|
|
'gslranweibullpdf',
|
|
'gslsfairyAi',
|
|
'gslsfairyBi',
|
|
'gslsfairyAiscaled',
|
|
'gslsfairyBiscaled',
|
|
'gslsfairyAideriv',
|
|
'gslsfairyBideriv',
|
|
'gslsfairyAiderivscaled',
|
|
'gslsfairyBiderivscaled',
|
|
'gslsfairyzeroAi',
|
|
'gslsfairyzeroBi',
|
|
'gslsfairyzeroAideriv',
|
|
'gslsfairyzeroBideriv',
|
|
'gslsfbesselJ0',
|
|
'gslsfbesselJ1',
|
|
'gslsfbesselJn',
|
|
'gslsfbesselY0',
|
|
'gslsfbesselY1',
|
|
'gslsfbesselYn',
|
|
'gslsfbesselI0',
|
|
'gslsfbesselI1',
|
|
'gslsfbesselIn',
|
|
'gslsfbesselI0scaled',
|
|
'gslsfbesselI1scaled',
|
|
'gslsfbesselInscaled',
|
|
'gslsfbesselK0',
|
|
'gslsfbesselK1',
|
|
'gslsfbesselKn',
|
|
'gslsfbesselK0scaled',
|
|
'gslsfbesselK1scaled',
|
|
'gslsfbesselKnscaled',
|
|
'gslsfbesselj0',
|
|
'gslsfbesselj1',
|
|
'gslsfbesselj2',
|
|
'gslsfbesseljl',
|
|
'gslsfbessely0',
|
|
'gslsfbessely1',
|
|
'gslsfbessely2',
|
|
'gslsfbesselyl',
|
|
'gslsfbesseli0scaled',
|
|
'gslsfbesseli1scaled',
|
|
'gslsfbesseli2scaled',
|
|
'gslsfbesselilscaled',
|
|
'gslsfbesselk0scaled',
|
|
'gslsfbesselk1scaled',
|
|
'gslsfbesselk2scaled',
|
|
'gslsfbesselklscaled',
|
|
'gslsfbesselJnu',
|
|
'gslsfbesselYnu',
|
|
'gslsfbesselInuscaled',
|
|
'gslsfbesselInu',
|
|
'gslsfbesselKnuscaled',
|
|
'gslsfbesselKnu',
|
|
'gslsfbessellnKnu',
|
|
'gslsfbesselzeroJ0',
|
|
'gslsfbesselzeroJ1',
|
|
'gslsfbesselzeroJnu',
|
|
'gslsfclausen',
|
|
'gslsfhydrogenicR1',
|
|
'gslsfdawson',
|
|
'gslsfdebye1',
|
|
'gslsfdebye2',
|
|
'gslsfdebye3',
|
|
'gslsfdebye4',
|
|
'gslsfdebye5',
|
|
'gslsfdebye6',
|
|
'gslsfdilog',
|
|
'gslsfmultiply',
|
|
'gslsfellintKcomp',
|
|
'gslsfellintEcomp',
|
|
'gslsfellintPcomp',
|
|
'gslsfellintDcomp',
|
|
'gslsfellintF',
|
|
'gslsfellintE',
|
|
'gslsfellintRC',
|
|
'gslsferfc',
|
|
'gslsflogerfc',
|
|
'gslsferf',
|
|
'gslsferfZ',
|
|
'gslsferfQ',
|
|
'gslsfhazard',
|
|
'gslsfexp',
|
|
'gslsfexpmult',
|
|
'gslsfexpm1',
|
|
'gslsfexprel',
|
|
'gslsfexprel2',
|
|
'gslsfexpreln',
|
|
'gslsfexpintE1',
|
|
'gslsfexpintE2',
|
|
'gslsfexpintEn',
|
|
'gslsfexpintE1scaled',
|
|
'gslsfexpintE2scaled',
|
|
'gslsfexpintEnscaled',
|
|
'gslsfexpintEi',
|
|
'gslsfexpintEiscaled',
|
|
'gslsfShi',
|
|
'gslsfChi',
|
|
'gslsfexpint3',
|
|
'gslsfSi',
|
|
'gslsfCi',
|
|
'gslsfatanint',
|
|
'gslsffermidiracm1',
|
|
'gslsffermidirac0',
|
|
'gslsffermidirac1',
|
|
'gslsffermidirac2',
|
|
'gslsffermidiracint',
|
|
'gslsffermidiracmhalf',
|
|
'gslsffermidirachalf',
|
|
'gslsffermidirac3half',
|
|
'gslsffermidiracinc0',
|
|
'gslsflngamma',
|
|
'gslsfgamma',
|
|
'gslsfgammastar',
|
|
'gslsfgammainv',
|
|
'gslsftaylorcoeff',
|
|
'gslsffact',
|
|
'gslsfdoublefact',
|
|
'gslsflnfact',
|
|
'gslsflndoublefact',
|
|
'gslsflnchoose',
|
|
'gslsfchoose',
|
|
'gslsflnpoch',
|
|
'gslsfpoch',
|
|
'gslsfpochrel',
|
|
'gslsfgammaincQ',
|
|
'gslsfgammaincP',
|
|
'gslsfgammainc',
|
|
'gslsflnbeta',
|
|
'gslsfbeta',
|
|
'gslsfbetainc',
|
|
'gslsfgegenpoly1',
|
|
'gslsfgegenpoly2',
|
|
'gslsfgegenpoly3',
|
|
'gslsfgegenpolyn',
|
|
'gslsfhyperg0F1',
|
|
'gslsfhyperg1F1int',
|
|
'gslsfhyperg1F1',
|
|
'gslsfhypergUint',
|
|
'gslsfhypergU',
|
|
'gslsfhyperg2F0',
|
|
'gslsflaguerre1',
|
|
'gslsflaguerre2',
|
|
'gslsflaguerre3',
|
|
'gslsflaguerren',
|
|
'gslsflambertW0',
|
|
'gslsflambertWm1',
|
|
'gslsflegendrePl',
|
|
'gslsflegendreP1',
|
|
'gslsflegendreP2',
|
|
'gslsflegendreP3',
|
|
'gslsflegendreQ0',
|
|
'gslsflegendreQ1',
|
|
'gslsflegendreQl',
|
|
'gslsflegendrePlm',
|
|
'gslsflegendresphPlm',
|
|
'gslsflegendrearraysize',
|
|
'gslsfconicalPhalf',
|
|
'gslsfconicalPmhalf',
|
|
'gslsfconicalP0',
|
|
'gslsfconicalP1',
|
|
'gslsfconicalPsphreg',
|
|
'gslsfconicalPcylreg',
|
|
'gslsflegendreH3d0',
|
|
'gslsflegendreH3d1',
|
|
'gslsflegendreH3d',
|
|
'gslsflog',
|
|
'gslsflogabs',
|
|
'gslsflog1plusx',
|
|
'gslsflog1plusxmx',
|
|
'gslsfpowint',
|
|
'gslsfpsiint',
|
|
'gslsfpsi',
|
|
'gslsfpsi1piy',
|
|
'gslsfpsi1int',
|
|
'gslsfpsi1',
|
|
'gslsfpsin',
|
|
'gslsfsynchrotron1',
|
|
'gslsfsynchrotron2',
|
|
'gslsftransport2',
|
|
'gslsftransport3',
|
|
'gslsftransport4',
|
|
'gslsftransport5',
|
|
'gslsfsin',
|
|
'gslsfcos',
|
|
'gslsfhypot',
|
|
'gslsfsinc',
|
|
'gslsflnsinh',
|
|
'gslsflncosh',
|
|
'gslsfanglerestrictsymm',
|
|
'gslsfanglerestrictpos',
|
|
'gslsfzetaint',
|
|
'gslsfzeta',
|
|
'gslsfzetam1',
|
|
'gslsfzetam1int',
|
|
'gslsfhzeta',
|
|
'gslsfetaint',
|
|
'gslsfeta',
|
|
'imag',
|
|
'int1d',
|
|
'int2d',
|
|
'int3d',
|
|
'intalledges',
|
|
'intallfaces',
|
|
'interpolate',
|
|
'invdiff',
|
|
'invdiffnp',
|
|
'invdiffpos',
|
|
'Isend',
|
|
'isInf',
|
|
'isNaN',
|
|
'isoline',
|
|
'Irecv',
|
|
'j0',
|
|
'j1',
|
|
'jn',
|
|
'jump',
|
|
'lgamma',
|
|
'LinearCG',
|
|
'LinearGMRES',
|
|
'log',
|
|
'log10',
|
|
'lrint',
|
|
'lround',
|
|
'max',
|
|
'mean',
|
|
'medit',
|
|
'min',
|
|
'mmg3d',
|
|
'movemesh',
|
|
'movemesh23',
|
|
'mpiAlltoall',
|
|
'mpiAlltoallv',
|
|
'mpiAllgather',
|
|
'mpiAllgatherv',
|
|
'mpiAllReduce',
|
|
'mpiBarrier',
|
|
'mpiGather',
|
|
'mpiGatherv',
|
|
'mpiRank',
|
|
'mpiReduce',
|
|
'mpiScatter',
|
|
'mpiScatterv',
|
|
'mpiSize',
|
|
'mpiWait',
|
|
'mpiWaitAny',
|
|
'mpiWtick',
|
|
'mpiWtime',
|
|
'mshmet',
|
|
'NaN',
|
|
'NLCG',
|
|
'on',
|
|
'plot',
|
|
'polar',
|
|
'Post',
|
|
'pow',
|
|
'processor',
|
|
'processorblock',
|
|
'projection',
|
|
'randinit',
|
|
'randint31',
|
|
'randint32',
|
|
'random',
|
|
'randreal1',
|
|
'randreal2',
|
|
'randreal3',
|
|
'randres53',
|
|
'Read',
|
|
'readmesh',
|
|
'readmesh3',
|
|
'Recv',
|
|
'rint',
|
|
'round',
|
|
'savemesh',
|
|
'savesol',
|
|
'savevtk',
|
|
'seekg',
|
|
'Sent',
|
|
'set',
|
|
'sign',
|
|
'signbit',
|
|
'sin',
|
|
'sinh',
|
|
'sort',
|
|
'splitComm',
|
|
'splitmesh',
|
|
'sqrt',
|
|
'square',
|
|
'srandom',
|
|
'srandomdev',
|
|
'Stringification',
|
|
'swap',
|
|
'system',
|
|
'tan',
|
|
'tanh',
|
|
'tellg',
|
|
'tetg',
|
|
'tetgconvexhull',
|
|
'tetgreconstruction',
|
|
'tetgtransfo',
|
|
'tgamma',
|
|
'triangulate',
|
|
'trunc',
|
|
'Wait',
|
|
'Write',
|
|
'y0',
|
|
'y1',
|
|
'yn'
|
|
}
|
|
|
|
# function parameters
|
|
parameters = {
|
|
'A',
|
|
'A1',
|
|
'abserror',
|
|
'absolute',
|
|
'aniso',
|
|
'aspectratio',
|
|
'B',
|
|
'B1',
|
|
'bb',
|
|
'beginend',
|
|
'bin',
|
|
'boundary',
|
|
'bw',
|
|
'close',
|
|
'cmm',
|
|
'coef',
|
|
'composante',
|
|
'cutoff',
|
|
'datafilename',
|
|
'dataname',
|
|
'dim',
|
|
'distmax',
|
|
'displacement',
|
|
'doptions',
|
|
'dparams',
|
|
'eps',
|
|
'err',
|
|
'errg',
|
|
'facemerge',
|
|
'facetcl',
|
|
'factorize',
|
|
'file',
|
|
'fill',
|
|
'fixedborder',
|
|
'flabel',
|
|
'flags',
|
|
'floatmesh',
|
|
'floatsol',
|
|
'fregion',
|
|
'gradation',
|
|
'grey',
|
|
'hmax',
|
|
'hmin',
|
|
'holelist',
|
|
'hsv',
|
|
'init',
|
|
'inquire',
|
|
'inside',
|
|
'IsMetric',
|
|
'iso',
|
|
'ivalue',
|
|
'keepbackvertices',
|
|
'label',
|
|
'labeldown',
|
|
'labelmid',
|
|
'labelup',
|
|
'levelset',
|
|
'loptions',
|
|
'lparams',
|
|
'maxit',
|
|
'maxsubdiv',
|
|
'meditff',
|
|
'mem',
|
|
'memory',
|
|
'metric',
|
|
'mode',
|
|
'nbarrow',
|
|
'nbiso',
|
|
'nbiter',
|
|
'nbjacoby',
|
|
'nboffacetcl',
|
|
'nbofholes',
|
|
'nbofregions',
|
|
'nbregul',
|
|
'nbsmooth',
|
|
'nbvx',
|
|
'ncv',
|
|
'nev',
|
|
'nomeshgeneration',
|
|
'normalization',
|
|
'omega',
|
|
'op',
|
|
'optimize',
|
|
'option',
|
|
'options',
|
|
'order',
|
|
'orientation',
|
|
'periodic',
|
|
'power',
|
|
'precon',
|
|
'prev',
|
|
'ps',
|
|
'ptmerge',
|
|
'qfe',
|
|
'qforder',
|
|
'qft',
|
|
'qfV',
|
|
'ratio',
|
|
'rawvector',
|
|
'reffacelow',
|
|
'reffacemid',
|
|
'reffaceup',
|
|
'refnum',
|
|
'reftet',
|
|
'reftri',
|
|
'region',
|
|
'regionlist',
|
|
'renumv',
|
|
'rescaling',
|
|
'ridgeangle',
|
|
'save',
|
|
'sigma',
|
|
'sizeofvolume',
|
|
'smoothing',
|
|
'solver',
|
|
'sparams',
|
|
'split',
|
|
'splitin2',
|
|
'splitpbedge',
|
|
'stop',
|
|
'strategy',
|
|
'swap',
|
|
'switch',
|
|
'sym',
|
|
't',
|
|
'tgv',
|
|
'thetamax',
|
|
'tol',
|
|
'tolpivot',
|
|
'tolpivotsym',
|
|
'transfo',
|
|
'U2Vc',
|
|
'value',
|
|
'varrow',
|
|
'vector',
|
|
'veps',
|
|
'viso',
|
|
'wait',
|
|
'width',
|
|
'withsurfacemesh',
|
|
'WindowIndex',
|
|
'which',
|
|
'zbound'
|
|
}
|
|
|
|
# deprecated
|
|
deprecated = {'fixeborder'}
|
|
|
|
# do not highlight
|
|
suppress_highlight = {
|
|
'alignof',
|
|
'asm',
|
|
'constexpr',
|
|
'decltype',
|
|
'div',
|
|
'double',
|
|
'grad',
|
|
'mutable',
|
|
'namespace',
|
|
'noexcept',
|
|
'restrict',
|
|
'static_assert',
|
|
'template',
|
|
'this',
|
|
'thread_local',
|
|
'typeid',
|
|
'typename',
|
|
'using'
|
|
}
|
|
|
|
def get_tokens_unprocessed(self, text, stack=('root',)):
|
|
for index, token, value in CppLexer.get_tokens_unprocessed(self, text, stack):
|
|
if value in self.operators:
|
|
yield index, Operator, value
|
|
elif value in self.types:
|
|
yield index, Keyword.Type, value
|
|
elif value in self.fespaces:
|
|
yield index, Name.Class, value
|
|
elif value in self.preprocessor:
|
|
yield index, Comment.Preproc, value
|
|
elif value in self.keywords:
|
|
yield index, Keyword.Reserved, value
|
|
elif value in self.functions:
|
|
yield index, Name.Function, value
|
|
elif value in self.parameters:
|
|
yield index, Keyword.Pseudo, value
|
|
elif value in self.suppress_highlight:
|
|
yield index, Name, value
|
|
else:
|
|
yield index, token, value
|