Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/pygments/lexers/apdlexer.py: 100%

19 statements  

« prev     ^ index     » next       coverage.py v7.2.7, created at 2023-07-01 06:54 +0000

1""" 

2 pygments.lexers.apdlexer 

3 ~~~~~~~~~~~~~~~~~~~~~~~~ 

4 

5 Lexers for ANSYS Parametric Design Language. 

6 

7 :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS. 

8 :license: BSD, see LICENSE for details. 

9""" 

10 

11import re 

12 

13from pygments.lexer import RegexLexer, include, words, default 

14from pygments.token import Comment, Keyword, Name, Number, Operator, \ 

15 String, Generic, Punctuation, Whitespace, Escape 

16 

17__all__ = ['apdlexer'] 

18 

19 

20class apdlexer(RegexLexer): 

21 """ 

22 For APDL source code. 

23 

24 .. versionadded:: 2.9 

25 """ 

26 name = 'ANSYS parametric design language' 

27 aliases = ['ansys', 'apdl'] 

28 filenames = ['*.ans'] 

29 flags = re.IGNORECASE 

30 

31 # list of elements 

32 elafunb = ("SURF152", "SURF153", "SURF154", "SURF156", "SHELL157", 

33 "SURF159", "LINK160", "BEAM161", "PLANE162", 

34 "SHELL163", "SOLID164", "COMBI165", "MASS166", 

35 "LINK167", "SOLID168", "TARGE169", "TARGE170", 

36 "CONTA171", "CONTA172", "CONTA173", "CONTA174", 

37 "CONTA175", "CONTA176", "CONTA177", "CONTA178", 

38 "PRETS179", "LINK180", "SHELL181", "PLANE182", 

39 "PLANE183", "MPC184", "SOLID185", "SOLID186", 

40 "SOLID187", "BEAM188", "BEAM189", "SOLSH190", 

41 "INTER192", "INTER193", "INTER194", "INTER195", 

42 "MESH200", "FOLLW201", "INTER202", "INTER203", 

43 "INTER204", "INTER205", "SHELL208", "SHELL209", 

44 "CPT212", "CPT213", "COMBI214", "CPT215", "CPT216", 

45 "CPT217", "FLUID220", "FLUID221", "PLANE223", 

46 "SOLID226", "SOLID227", "PLANE230", "SOLID231", 

47 "SOLID232", "PLANE233", "SOLID236", "SOLID237", 

48 "PLANE238", "SOLID239", "SOLID240", "HSFLD241", 

49 "HSFLD242", "SURF251", "SURF252", "REINF263", 

50 "REINF264", "REINF265", "SOLID272", "SOLID273", 

51 "SOLID278", "SOLID279", "SHELL281", "SOLID285", 

52 "PIPE288", "PIPE289", "ELBOW290", "USER300", "BEAM3", 

53 "BEAM4", "BEAM23", "BEAM24", "BEAM44", "BEAM54", 

54 "COMBIN7", "FLUID79", "FLUID80", "FLUID81", "FLUID141", 

55 "FLUID142", "INFIN9", "INFIN47", "PLANE13", "PLANE25", 

56 "PLANE42", "PLANE53", "PLANE67", "PLANE82", "PLANE83", 

57 "PLANE145", "PLANE146", "CONTAC12", "CONTAC52", 

58 "LINK1", "LINK8", "LINK10", "LINK32", "PIPE16", 

59 "PIPE17", "PIPE18", "PIPE20", "PIPE59", "PIPE60", 

60 "SHELL41", "SHELL43", "SHELL57", "SHELL63", "SHELL91", 

61 "SHELL93", "SHELL99", "SHELL150", "SOLID5", "SOLID45", 

62 "SOLID46", "SOLID65", "SOLID69", "SOLID92", "SOLID95", 

63 "SOLID117", "SOLID127", "SOLID128", "SOLID147", 

64 "SOLID148", "SOLID191", "VISCO88", "VISCO89", 

65 "VISCO106", "VISCO107", "VISCO108", "TRANS109") 

66 

67 elafunc = ("PGRAPH", "/VT", "VTIN", "VTRFIL", "VTTEMP", "PGRSET", 

68 "VTCLR", "VTMETH", "VTRSLT", "VTVMOD", "PGSELE", 

69 "VTDISC", "VTMP", "VTSEC", "PGWRITE", "VTEVAL", "VTOP", 

70 "VTSFE", "POUTRES", "VTFREQ", "VTPOST", "VTSL", 

71 "FLDATA1-40", "HFPCSWP", "MSDATA", "MSVARY", "QFACT", 

72 "FLOCHECK", "HFPOWER", "MSMASS", "PERI", "SPADP", 

73 "FLREAD", "HFPORT", "MSMETH", "PLFSS", "SPARM", 

74 "FLOTRAN", "HFSCAT", "MSMIR", "PLSCH", "SPFSS", 

75 "HFADP", "ICE", "MSNOMF", "PLSYZ", "SPICE", "HFARRAY", 

76 "ICEDELE", "MSPROP", "PLTD", "SPSCAN", "HFDEEM", 

77 "ICELIST", "MSQUAD", "PLTLINE", "SPSWP", "HFEIGOPT", 

78 "ICVFRC", "MSRELAX", "PLVFRC", "HFEREFINE", "LPRT", 

79 "MSSOLU", "/PICE", "HFMODPRT", "MSADV", "MSSPEC", 

80 "PLWAVE", "HFPA", "MSCAP", "MSTERM", "PRSYZ") 

81 

82 elafund = ("*VOPER", "VOVLAP", "*VPLOT", "VPLOT", "VPTN", "*VPUT", 

83 "VPUT", "*VREAD", "VROTAT", "VSBA", "VSBV", "VSBW", 

84 "/VSCALE", "*VSCFUN", "VSEL", "VSLA", "*VSTAT", "VSUM", 

85 "VSWEEP", "VSYMM", "VTRAN", "VTYPE", "/VUP", "*VWRITE", 

86 "/WAIT", "WAVES", "WERASE", "WFRONT", "/WINDOW", 

87 "WMID", "WMORE", "WPAVE", "WPCSYS", "WPLANE", "WPOFFS", 

88 "WPROTA", "WPSTYL", "WRFULL", "WRITE", "WRITEMAP", 

89 "*WRK", "WSORT", "WSPRINGS", "WSTART", "WTBCREATE", 

90 "XFDATA", "XFENRICH", "XFLIST", "/XFRM", "/XRANGE", 

91 "XVAR", "/YRANGE", "/ZOOM", "/WB", "XMLO", "/XML", 

92 "CNTR", "EBLOCK", "CMBLOCK", "NBLOCK", "/TRACK", 

93 "CWZPLOT", "~EUI", "NELE", "EALL", "NALL", "FLITEM", 

94 "LSLN", "PSOLVE", "ASLN", "/VERIFY", "/SSS", "~CFIN", 

95 "*EVAL", "*MOONEY", "/RUNSTAT", "ALPFILL", 

96 "ARCOLLAPSE", "ARDETACH", "ARFILL", "ARMERGE", 

97 "ARSPLIT", "FIPLOT", "GAPFINISH", "GAPLIST", 

98 "GAPMERGE", "GAPOPT", "GAPPLOT", "LNCOLLAPSE", 

99 "LNDETACH", "LNFILL", "LNMERGE", "LNSPLIT", "PCONV", 

100 "PLCONV", "PEMOPTS", "PEXCLUDE", "PINCLUDE", "PMETH", 

101 "/PMETH", "PMOPTS", "PPLOT", "PPRANGE", "PRCONV", 

102 "PRECISION", "RALL", "RFILSZ", "RITER", "RMEMRY", 

103 "RSPEED", "RSTAT", "RTIMST", "/RUNST", "RWFRNT", 

104 "SARPLOT", "SHSD", "SLPPLOT", "SLSPLOT", "VCVFILL", 

105 "/OPT", "OPEQN", "OPFACT", "OPFRST", "OPGRAD", 

106 "OPKEEP", "OPLOOP", "OPPRNT", "OPRAND", "OPSUBP", 

107 "OPSWEEP", "OPTYPE", "OPUSER", "OPVAR", "OPADD", 

108 "OPCLR", "OPDEL", "OPMAKE", "OPSEL", "OPANL", "OPDATA", 

109 "OPRESU", "OPSAVE", "OPEXE", "OPLFA", "OPLGR", 

110 "OPLIST", "OPLSW", "OPRFA", "OPRGR", "OPRSW", 

111 "PILECALC", "PILEDISPSET", "PILEGEN", "PILELOAD", 

112 "PILEMASS", "PILERUN", "PILESEL", "PILESTIF", 

113 "PLVAROPT", "PRVAROPT", "TOCOMP", "TODEF", "TOFREQ", 

114 "TOTYPE", "TOVAR", "TOEXE", "TOLOOP", "TOGRAPH", 

115 "TOLIST", "TOPLOT", "TOPRINT", "TOSTAT", "TZAMESH", 

116 "TZDELE", "TZEGEN", "XVAROPT", "PGSAVE", "SOLCONTROL", 

117 "TOTAL", "VTGEOM", "VTREAL", "VTSTAT") 

118 

119 elafune = ("/ANUM", "AOFFST", "AOVLAP", "APLOT", "APPEND", "APTN", 

120 "ARCLEN", "ARCTRM", "AREAS", "AREFINE", "AREMESH", 

121 "AREVERSE", "AROTAT", "ARSCALE", "ARSYM", "ASBA", 

122 "ASBL", "ASBV", "ASBW", "ASCRES", "ASEL", "ASIFILE", 

123 "*ASK", "ASKIN", "ASLL", "ASLV", "ASOL", "/ASSIGN", 

124 "ASUB", "ASUM", "ATAN", "ATRAN", "ATYPE", "/AUTO", 

125 "AUTOTS", "/AUX2", "/AUX3", "/AUX12", "/AUX15", 

126 "AVPRIN", "AVRES", "AWAVE", "/AXLAB", "*AXPY", 

127 "/BATCH", "BCSOPTION", "BETAD", "BF", "BFA", "BFADELE", 

128 "BFALIST", "BFCUM", "BFDELE", "BFE", "BFECUM", 

129 "BFEDELE", "BFELIST", "BFESCAL", "BFINT", "BFK", 

130 "BFKDELE", "BFKLIST", "BFL", "BFLDELE", "BFLIST", 

131 "BFLLIST", "BFSCALE", "BFTRAN", "BFUNIF", "BFV", 

132 "BFVDELE", "BFVLIST", "BIOOPT", "BIOT", "BLC4", "BLC5", 

133 "BLOCK", "BOOL", "BOPTN", "BSAX", "BSMD", "BSM1", 

134 "BSM2", "BSPLIN", "BSS1", "BSS2", "BSTE", "BSTQ", 

135 "BTOL", "BUCOPT", "C", "CALC", "CAMPBELL", "CBDOF", 

136 "CBMD", "CBMX", "CBTE", "CBTMP", "CDOPT", "CDREAD", 

137 "CDWRITE", "CE", "CECHECK", "CECMOD", "CECYC", 

138 "CEDELE", "CEINTF", "CELIST", "CENTER", "CEQN", 

139 "CERIG", "CESGEN", "CFACT", "*CFCLOS", "*CFOPEN", 

140 "*CFWRITE", "/CFORMAT", "CGLOC", "CGOMGA", "CGROW", 

141 "CHECK", "CHKMSH", "CINT", "CIRCLE", "CISOL", 

142 "/CLABEL", "/CLEAR", "CLOCAL", "CLOG", "/CLOG", 

143 "CLRMSHLN", "CM", "CMACEL", "/CMAP", "CMATRIX", 

144 "CMDELE", "CMDOMEGA", "CMEDIT", "CMGRP", "CMLIST", 

145 "CMMOD", "CMOMEGA", "CMPLOT", "CMROTATE", "CMSEL", 

146 "CMSFILE", "CMSOPT", "CMWRITE", "CNCHECK", "CNKMOD", 

147 "CNTR", "CNVTOL", "/COLOR", "*COMP", "COMBINE", 

148 "COMPRESS", "CON4", "CONE", "/CONFIG", "CONJUG", 

149 "/CONTOUR", "/COPY", "CORIOLIS", "COUPLE", "COVAL", 

150 "CP", "CPCYC", "CPDELE", "CPINTF", "/CPLANE", "CPLGEN", 

151 "CPLIST", "CPMERGE", "CPNGEN", "CPSGEN", "CQC", 

152 "*CREATE", "CRPLIM", "CS", "CSCIR", "CSDELE", "CSKP", 

153 "CSLIST", "CSWPLA", "CSYS", "/CTYPE", "CURR2D", 

154 "CUTCONTROL", "/CVAL", "CVAR", "/CWD", "CYCCALC", 

155 "/CYCEXPAND", "CYCFILES", "CYCFREQ", "*CYCLE", 

156 "CYCLIC", "CYCOPT", "CYCPHASE", "CYCSPEC", "CYL4", 

157 "CYL5", "CYLIND", "CZDEL", "CZMESH", "D", "DA", 

158 "DADELE", "DALIST", "DAMORPH", "DATA", "DATADEF", 

159 "DCGOMG", "DCUM", "DCVSWP", "DDASPEC", "DDELE", 

160 "DDOPTION", "DEACT", "DEFINE", "*DEL", "DELETE", 

161 "/DELETE", "DELTIM", "DELTIME", "DEMORPH", "DERIV", "DESIZE", 

162 "DESOL", "DETAB", "/DEVDISP", "/DEVICE", "/DFLAB", 

163 "DFLX", "DFSWAVE", "DIG", "DIGIT", "*DIM", 

164 "/DIRECTORY", "DISPLAY", "/DIST", "DJ", "DJDELE", 

165 "DJLIST", "DK", "DKDELE", "DKLIST", "DL", "DLDELE", 

166 "DLIST", "DLLIST", "*DMAT", "DMOVE", "DMPEXT", 

167 "DMPOPTION", "DMPRAT", "DMPSTR", "DNSOL", "*DO", "DOF", 

168 "DOFSEL", "DOMEGA", "*DOT", "*DOWHILE", "DSCALE", 

169 "/DSCALE", "DSET", "DSPOPTION", "DSUM", "DSURF", 

170 "DSYM", "DSYS", "DTRAN", "DUMP", "/DV3D", "DVAL", 

171 "DVMORPH", "DYNOPT", "E", "EALIVE", "EDADAPT", "EDALE", 

172 "EDASMP", "EDBOUND", "EDBX", "EDBVIS", "EDCADAPT", 

173 "EDCGEN", "EDCLIST", "EDCMORE", "EDCNSTR", "EDCONTACT", 

174 "EDCPU", "EDCRB", "EDCSC", "EDCTS", "EDCURVE", 

175 "EDDAMP", "EDDBL", "EDDC", "EDDRELAX", "EDDUMP", 

176 "EDELE", "EDENERGY", "EDFPLOT", "EDGCALE", "/EDGE", 

177 "EDHGLS", "EDHIST", "EDHTIME", "EDINT", "EDIPART", 

178 "EDIS", "EDLCS", "EDLOAD", "EDMP", "EDNB", "EDNDTSD", 

179 "EDNROT", "EDOPT", "EDOUT", "EDPART", "EDPC", "EDPL", 

180 "EDPVEL", "EDRC", "EDRD", "EDREAD", "EDRI", "EDRST", 

181 "EDRUN", "EDSHELL", "EDSOLV", "EDSP", "EDSTART", 

182 "EDTERM", "EDTP", "EDVEL", "EDWELD", "EDWRITE", 

183 "EEXTRUDE", "/EFACET", "EGEN", "*EIGEN", "EINFIN", 

184 "EINTF", "EKILL", "ELBOW", "ELEM", "ELIST", "*ELSE", 

185 "*ELSEIF", "EMAGERR", "EMATWRITE", "EMF", "EMFT", 

186 "EMID", "EMIS", "EMODIF", "EMORE", "EMSYM", "EMTGEN", 

187 "EMUNIT", "EN", "*END", "*ENDDO", "*ENDIF", 

188 "ENDRELEASE", "ENERSOL", "ENGEN", "ENORM", "ENSYM", 

189 "EORIENT", "EPLOT", "EQSLV", "ERASE", "/ERASE", 

190 "EREAD", "EREFINE", "EREINF", "ERESX", "ERNORM", 

191 "ERRANG", "ESCHECK", "ESEL", "/ESHAPE", "ESIZE", 

192 "ESLA", "ESLL", "ESLN", "ESLV", "ESOL", "ESORT", 

193 "ESSOLV", "ESTIF", "ESURF", "ESYM", "ESYS", "ET", 

194 "ETABLE", "ETCHG", "ETCONTROL", "ETDELE", "ETLIST", 

195 "ETYPE", "EUSORT", "EWRITE", "*EXIT", "/EXIT", "EXP", 

196 "EXPAND", "/EXPAND", "EXPASS", "*EXPORT", "EXPROFILE", 

197 "EXPSOL", "EXTOPT", "EXTREM", "EXUNIT", "F", "/FACET", 

198 "FATIGUE", "FC", "FCCHECK", "FCDELE", "FCLIST", "FCUM", 

199 "FCTYP", "FDELE", "/FDELE", "FE", "FEBODY", "FECONS", 

200 "FEFOR", "FELIST", "FESURF", "*FFT", "FILE", 

201 "FILEAUX2", "FILEAUX3", "FILEDISP", "FILL", "FILLDATA", 

202 "/FILNAME", "FINISH", "FITEM", "FJ", "FJDELE", 

203 "FJLIST", "FK", "FKDELE", "FKLIST", "FL", "FLIST", 

204 "FLLIST", "FLST", "FLUXV", "FLUREAD", "FMAGBC", 

205 "FMAGSUM", "/FOCUS", "FOR2D", "FORCE", "FORM", 

206 "/FORMAT", "FP", "FPLIST", "*FREE", "FREQ", "FRQSCL", 

207 "FS", "FSCALE", "FSDELE", "FSLIST", "FSNODE", "FSPLOT", 

208 "FSSECT", "FSSPARM", "FSUM", "FTCALC", "FTRAN", 

209 "FTSIZE", "FTWRITE", "FTYPE", "FVMESH", "GAP", "GAPF", 

210 "GAUGE", "GCDEF", "GCGEN", "/GCMD", "/GCOLUMN", 

211 "GENOPT", "GEOM", "GEOMETRY", "*GET", "/GFILE", 

212 "/GFORMAT", "/GLINE", "/GMARKER", "GMATRIX", "GMFACE", 

213 "*GO", "/GO", "/GOLIST", "/GOPR", "GP", "GPDELE", 

214 "GPLIST", "GPLOT", "/GRAPHICS", "/GRESUME", "/GRID", 

215 "/GROPT", "GRP", "/GRTYP", "/GSAVE", "GSBDATA", 

216 "GSGDATA", "GSLIST", "GSSOL", "/GST", "GSUM", "/GTHK", 

217 "/GTYPE", "HARFRQ", "/HBC", "HBMAT", "/HEADER", "HELP", 

218 "HELPDISP", "HEMIOPT", "HFANG", "HFSYM", "HMAGSOLV", 

219 "HPGL", "HPTCREATE", "HPTDELETE", "HRCPLX", "HREXP", 

220 "HROPT", "HROCEAN", "HROUT", "IC", "ICDELE", "ICLIST", 

221 "/ICLWID", "/ICSCALE", "*IF", "IGESIN", "IGESOUT", 

222 "/IMAGE", "IMAGIN", "IMESH", "IMMED", "IMPD", 

223 "INISTATE", "*INIT", "/INPUT", "/INQUIRE", "INRES", 

224 "INRTIA", "INT1", "INTSRF", "IOPTN", "IRLF", "IRLIST", 

225 "*ITENGINE", "JPEG", "JSOL", "K", "KATT", "KBC", 

226 "KBETW", "KCALC", "KCENTER", "KCLEAR", "KDELE", 

227 "KDIST", "KEEP", "KESIZE", "KEYOPT", "KEYPTS", "KEYW", 

228 "KFILL", "KGEN", "KL", "KLIST", "KMESH", "KMODIF", 

229 "KMOVE", "KNODE", "KPLOT", "KPSCALE", "KREFINE", 

230 "KSCALE", "KSCON", "KSEL", "KSLL", "KSLN", "KSUM", 

231 "KSYMM", "KTRAN", "KUSE", "KWPAVE", "KWPLAN", "L", 

232 "L2ANG", "L2TAN", "LANG", "LARC", "/LARC", "LAREA", 

233 "LARGE", "LATT", "LAYER", "LAYERP26", "LAYLIST", 

234 "LAYPLOT", "LCABS", "LCASE", "LCCALC", "LCCAT", 

235 "LCDEF", "LCFACT", "LCFILE", "LCLEAR", "LCOMB", 

236 "LCOPER", "LCSEL", "LCSL", "LCSUM", "LCWRITE", 

237 "LCZERO", "LDELE", "LDIV", "LDRAG", "LDREAD", "LESIZE", 

238 "LEXTND", "LFILLT", "LFSURF", "LGEN", "LGLUE", 

239 "LGWRITE", "/LIGHT", "LINA", "LINE", "/LINE", "LINES", 

240 "LINL", "LINP", "LINV", "LIST", "*LIST", "LLIST", 

241 "LMATRIX", "LMESH", "LNSRCH", "LOCAL", "LOVLAP", 

242 "LPLOT", "LPTN", "LREFINE", "LREVERSE", "LROTAT", 

243 "LSBA", "*LSBAC", "LSBL", "LSBV", "LSBW", "LSCLEAR", 

244 "LSDELE", "*LSDUMP", "LSEL", "*LSENGINE", "*LSFACTOR", 

245 "LSLA", "LSLK", "LSOPER", "/LSPEC", "LSREAD", 

246 "*LSRESTORE", "LSSCALE", "LSSOLVE", "LSTR", "LSUM", 

247 "LSWRITE", "/LSYMBOL", "LSYMM", "LTAN", "LTRAN", 

248 "LUMPM", "LVSCALE", "LWPLAN", "M", "MADAPT", "MAGOPT", 

249 "MAGSOLV", "/MAIL", "MAP", "/MAP", "MAP2DTO3D", 

250 "MAPSOLVE", "MAPVAR", "MASTER", "MAT", "MATER", 

251 "MCHECK", "MDAMP", "MDELE", "MDPLOT", "MEMM", "/MENU", 

252 "MESHING", "MFANALYSIS", "MFBUCKET", "MFCALC", "MFCI", 

253 "MFCLEAR", "MFCMMAND", "MFCONV", "MFDTIME", "MFELEM", 

254 "MFEM", "MFEXTER", "MFFNAME", "MFFR", "MFIMPORT", 

255 "MFINTER", "MFITER", "MFLCOMM", "MFLIST", "MFMAP", 

256 "MFORDER", "MFOUTPUT", "*MFOURI", "MFPSIMUL", "MFRC", 

257 "MFRELAX", "MFRSTART", "MFSORDER", "MFSURFACE", 

258 "MFTIME", "MFTOL", "*MFUN", "MFVOLUME", "MFWRITE", 

259 "MGEN", "MIDTOL", "/MKDIR", "MLIST", "MMASS", "MMF", 

260 "MODCONT", "MODE", "MODIFY", "MODMSH", "MODSELOPTION", 

261 "MODOPT", "MONITOR", "*MOPER", "MOPT", "MORPH", "MOVE", 

262 "MP", "MPAMOD", "MPCHG", "MPCOPY", "MPDATA", "MPDELE", 

263 "MPDRES", "/MPLIB", "MPLIST", "MPPLOT", "MPREAD", 

264 "MPRINT", "MPTEMP", "MPTGEN", "MPTRES", "MPWRITE", 

265 "/MREP", "MSAVE", "*MSG", "MSHAPE", "MSHCOPY", 

266 "MSHKEY", "MSHMID", "MSHPATTERN", "MSOLVE", "/MSTART", 

267 "MSTOLE", "*MULT", "*MWRITE", "MXPAND", "N", "NANG", 

268 "NAXIS", "NCNV", "NDELE", "NDIST", "NDSURF", "NEQIT", 

269 "/NERR", "NFORCE", "NGEN", "NKPT", "NLADAPTIVE", 

270 "NLDIAG", "NLDPOST", "NLGEOM", "NLHIST", "NLIST", 

271 "NLMESH", "NLOG", "NLOPT", "NMODIF", "NOCOLOR", 

272 "NODES", "/NOERASE", "/NOLIST", "NOOFFSET", "NOORDER", 

273 "/NOPR", "NORA", "NORL", "/NORMAL", "NPLOT", "NPRINT", 

274 "NREAD", "NREFINE", "NRLSUM", "*NRM", "NROPT", 

275 "NROTAT", "NRRANG", "NSCALE", "NSEL", "NSLA", "NSLE", 

276 "NSLK", "NSLL", "NSLV", "NSMOOTH", "NSOL", "NSORT", 

277 "NSTORE", "NSUBST", "NSVR", "NSYM", "/NUMBER", 

278 "NUMCMP", "NUMEXP", "NUMMRG", "NUMOFF", "NUMSTR", 

279 "NUMVAR", "NUSORT", "NWPAVE", "NWPLAN", "NWRITE", 

280 "OCDATA", "OCDELETE", "OCLIST", "OCREAD", "OCTABLE", 

281 "OCTYPE", "OCZONE", "OMEGA", "OPERATE", "OPNCONTROL", 

282 "OUTAERO", "OUTOPT", "OUTPR", "/OUTPUT", "OUTRES", 

283 "OVCHECK", "PADELE", "/PAGE", "PAGET", "PAPUT", 

284 "PARESU", "PARTSEL", "PARRES", "PARSAV", "PASAVE", 

285 "PATH", "PAUSE", "/PBC", "/PBF", "PCALC", "PCGOPT", 

286 "PCIRC", "/PCIRCLE", "/PCOPY", "PCROSS", "PDANL", 

287 "PDCDF", "PDCFLD", "PDCLR", "PDCMAT", "PDCORR", 

288 "PDDMCS", "PDDOEL", "PDEF", "PDEXE", "PDHIST", 

289 "PDINQR", "PDLHS", "PDMETH", "PDOT", "PDPINV", 

290 "PDPLOT", "PDPROB", "PDRESU", "PDROPT", "/PDS", 

291 "PDSAVE", "PDSCAT", "PDSENS", "PDSHIS", "PDUSER", 

292 "PDVAR", "PDWRITE", "PERBC2D", "PERTURB", "PFACT", 

293 "PHYSICS", "PIVCHECK", "PLCAMP", "PLCFREQ", "PLCHIST", 

294 "PLCINT", "PLCPLX", "PLCRACK", "PLDISP", "PLESOL", 

295 "PLETAB", "PLFAR", "PLF2D", "PLGEOM", "PLLS", "PLMAP", 

296 "PLMC", "PLNEAR", "PLNSOL", "/PLOPTS", "PLORB", "PLOT", 

297 "PLOTTING", "PLPAGM", "PLPATH", "PLSECT", "PLST", 

298 "PLTIME", "PLTRAC", "PLVAR", "PLVECT", "PLZZ", 

299 "/PMACRO", "PMAP", "PMGTRAN", "PMLOPT", "PMLSIZE", 

300 "/PMORE", "PNGR", "/PNUM", "POINT", "POLY", "/POLYGON", 

301 "/POST1", "/POST26", "POWERH", "PPATH", "PRANGE", 

302 "PRAS", "PRCAMP", "PRCINT", "PRCPLX", "PRED", 

303 "PRENERGY", "/PREP7", "PRERR", "PRESOL", "PRETAB", 

304 "PRFAR", "PRI2", "PRIM", "PRINT", "*PRINT", "PRISM", 

305 "PRITER", "PRJSOL", "PRNEAR", "PRNLD", "PRNSOL", 

306 "PROD", "PRORB", "PRPATH", "PRRFOR", "PRRSOL", 

307 "PRSCONTROL", "PRSECT", "PRTIME", "PRVAR", "PRVECT", 

308 "PSCONTROL", "PSCR", "PSDCOM", "PSDFRQ", "PSDGRAPH", 

309 "PSDRES", "PSDSPL", "PSDUNIT", "PSDVAL", "PSDWAV", 

310 "/PSEARCH", "PSEL", "/PSF", "PSMAT", "PSMESH", 

311 "/PSPEC", "/PSTATUS", "PSTRES", "/PSYMB", "PTR", 

312 "PTXY", "PVECT", "/PWEDGE", "QDVAL", "QRDOPT", "QSOPT", 

313 "QUAD", "/QUIT", "QUOT", "R", "RACE", "RADOPT", 

314 "RAPPND", "RATE", "/RATIO", "RBE3", "RCON", "RCYC", 

315 "RDEC", "RDELE", "READ", "REAL", "REALVAR", "RECTNG", 

316 "REMESH", "/RENAME", "REORDER", "*REPEAT", "/REPLOT", 

317 "RESCOMBINE", "RESCONTROL", "RESET", "/RESET", "RESP", 

318 "RESUME", "RESVEC", "RESWRITE", "*RETURN", "REXPORT", 

319 "REZONE", "RFORCE", "/RGB", "RIGID", "RIGRESP", 

320 "RIMPORT", "RLIST", "RMALIST", "RMANL", "RMASTER", 

321 "RMCAP", "RMCLIST", "/RMDIR", "RMFLVEC", "RMLVSCALE", 

322 "RMMLIST", "RMMRANGE", "RMMSELECT", "RMNDISP", 

323 "RMNEVEC", "RMODIF", "RMORE", "RMPORDER", "RMRESUME", 

324 "RMRGENERATE", "RMROPTIONS", "RMRPLOT", "RMRSTATUS", 

325 "RMSAVE", "RMSMPLE", "RMUSE", "RMXPORT", "ROCK", 

326 "ROSE", "RPOLY", "RPR4", "RPRISM", "RPSD", "RSFIT", 

327 "RSOPT", "RSPLIT", "RSPLOT", "RSPRNT", "RSSIMS", 

328 "RSTMAC", "RSTOFF", "RSURF", "RSYMM", "RSYS", "RTHICK", 

329 "SABS", "SADD", "SALLOW", "SAVE", "SBCLIST", "SBCTRAN", 

330 "SDELETE", "SE", "SECCONTROL", "SECDATA", 

331 "SECFUNCTION", "SECJOINT", "/SECLIB", "SECLOCK", 

332 "SECMODIF", "SECNUM", "SECOFFSET", "SECPLOT", 

333 "SECREAD", "SECSTOP", "SECTYPE", "SECWRITE", "SED", 

334 "SEDLIST", "SEEXP", "/SEG", "SEGEN", "SELIST", "SELM", 

335 "SELTOL", "SENERGY", "SEOPT", "SESYMM", "*SET", "SET", 

336 "SETFGAP", "SETRAN", "SEXP", "SF", "SFA", "SFACT", 

337 "SFADELE", "SFALIST", "SFBEAM", "SFCALC", "SFCUM", 

338 "SFDELE", "SFE", "SFEDELE", "SFELIST", "SFFUN", 

339 "SFGRAD", "SFL", "SFLDELE", "SFLEX", "SFLIST", 

340 "SFLLIST", "SFSCALE", "SFTRAN", "/SHADE", "SHELL", 

341 "/SHOW", "/SHOWDISP", "SHPP", "/SHRINK", "SLIST", 

342 "SLOAD", "SMALL", "*SMAT", "SMAX", "/SMBC", "SMBODY", 

343 "SMCONS", "SMFOR", "SMIN", "SMOOTH", "SMRTSIZE", 

344 "SMSURF", "SMULT", "SNOPTION", "SOLU", "/SOLU", 

345 "SOLUOPT", "SOLVE", "SORT", "SOURCE", "SPACE", 

346 "SPCNOD", "SPCTEMP", "SPDAMP", "SPEC", "SPFREQ", 

347 "SPGRAPH", "SPH4", "SPH5", "SPHERE", "SPLINE", "SPLOT", 

348 "SPMWRITE", "SPOINT", "SPOPT", "SPREAD", "SPTOPT", 

349 "SPOWER", "SPUNIT", "SPVAL", "SQRT", "*SREAD", "SRSS", 

350 "SSBT", "/SSCALE", "SSLN", "SSMT", "SSPA", "SSPB", 

351 "SSPD", "SSPE", "SSPM", "SSUM", "SSTATE", "STABILIZE", 

352 "STAOPT", "STAT", "*STATUS", "/STATUS", "STEF", 

353 "STORE", "SUBOPT", "SUBSET", "SUCALC", 

354 "SUCR", "SUDEL", "SUEVAL", "SUGET", "SUMAP", "SUMTYPE", 

355 "SUPL", "SUPR", "SURESU", "SUSAVE", "SUSEL", "SUVECT", 

356 "SV", "SVPLOT", "SVTYP", "SWADD", "SWDEL", "SWGEN", 

357 "SWLIST", "SYNCHRO", "/SYP", "/SYS", "TALLOW", 

358 "TARGET", "*TAXIS", "TB", "TBCOPY", "TBDATA", "TBDELE", 

359 "TBEO", "TBIN", "TBFIELD", "TBFT", "TBLE", "TBLIST", 

360 "TBMODIF", "TBPLOT", "TBPT", "TBTEMP", "TCHG", "/TEE", 

361 "TERM", "THEXPAND", "THOPT", "TIFF", "TIME", 

362 "TIMERANGE", "TIMINT", "TIMP", "TINTP", 

363 "/TLABEL", "TOFFST", "*TOPER", "TORQ2D", "TORQC2D", 

364 "TORQSUM", "TORUS", "TRANS", "TRANSFER", "*TREAD", 

365 "TREF", "/TRIAD", "/TRLCY", "TRNOPT", "TRPDEL", 

366 "TRPLIS", "TRPOIN", "TRTIME", "TSHAP", "/TSPEC", 

367 "TSRES", "TUNIF", "TVAR", "/TXTRE", "/TYPE", "TYPE", 

368 "/UCMD", "/UDOC", "/UI", "UIMP", "/UIS", "*ULIB", "/UPF", 

369 "UNDELETE", "UNDO", "/UNITS", "UNPAUSE", "UPCOORD", 

370 "UPGEOM", "*USE", "/USER", "USRCAL", "USRDOF", 

371 "USRELEM", "V", "V2DOPT", "VA", "*VABS", "VADD", 

372 "VARDEL", "VARNAM", "VATT", "VCLEAR", "*VCOL", 

373 "/VCONE", "VCROSS", "*VCUM", "VDDAM", "VDELE", "VDGL", 

374 "VDOT", "VDRAG", "*VEC", "*VEDIT", "VEORIENT", "VEXT", 

375 "*VFACT", "*VFILL", "VFOPT", "VFQUERY", "VFSM", 

376 "*VFUN", "VGEN", "*VGET", "VGET", "VGLUE", "/VIEW", 

377 "VIMP", "VINP", "VINV", "*VITRP", "*VLEN", "VLIST", 

378 "VLSCALE", "*VMASK", "VMESH", "VOFFST", "VOLUMES") 

379 

380 # list of in-built () functions 

381 elafunf = ("NX()", "NY()", "NZ()", "KX()", "KY()", "KZ()", "LX()", 

382 "LY()", "LZ()", "LSX()", "LSY()", "LSZ()", "NODE()", 

383 "KP()", "DISTND()", "DISTKP()", "DISTEN()", "ANGLEN()", 

384 "ANGLEK()", "NNEAR()", "KNEAR()", "ENEARN()", 

385 "AREAND()", "AREAKP()", "ARNODE()", "NORMNX()", 

386 "NORMNY()", "NORMNZ()", "NORMKX()", "NORMKY()", 

387 "NORMKZ()", "ENEXTN()", "NELEM()", "NODEDOF()", 

388 "ELADJ()", "NDFACE()", "NMFACE()", "ARFACE()", "UX()", 

389 "UY()", "UZ()", "ROTX()", "ROTY()", "ROTZ()", "TEMP()", 

390 "PRES()", "VX()", "VY()", "VZ()", "ENKE()", "ENDS()", 

391 "VOLT()", "MAG()", "AX()", "AY()", "AZ()", 

392 "VIRTINQR()", "KWGET()", "VALCHR()", "VALHEX()", 

393 "CHRHEX()", "STRFILL()", "STRCOMP()", "STRPOS()", 

394 "STRLENG()", "UPCASE()", "LWCASE()", "JOIN()", 

395 "SPLIT()", "ABS()", "SIGN()", "CXABS()", "EXP()", 

396 "LOG()", "LOG10()", "SQRT()", "NINT()", "MOD()", 

397 "RAND()", "GDIS()", "SIN()", "COS()", "TAN()", 

398 "SINH()", "COSH()", "TANH()", "ASIN()", "ACOS()", 

399 "ATAN()", "ATAN2()") 

400 

401 elafung = ("NSEL()", "ESEL()", "KSEL()", "LSEL()", "ASEL()", 

402 "VSEL()", "NDNEXT()", "ELNEXT()", "KPNEXT()", 

403 "LSNEXT()", "ARNEXT()", "VLNEXT()", "CENTRX()", 

404 "CENTRY()", "CENTRZ()") 

405 

406 elafunh = ("~CAT5IN", "~CATIAIN", "~PARAIN", "~PROEIN", "~SATIN", 

407 "~UGIN", "A", "AADD", "AATT", "ABEXTRACT", "*ABBR", 

408 "ABBRES", "ABBSAV", "ABS", "ACCAT", "ACCOPTION", 

409 "ACEL", "ACLEAR", "ADAMS", "ADAPT", "ADD", "ADDAM", 

410 "ADELE", "ADGL", "ADRAG", "AESIZE", "AFILLT", "AFLIST", 

411 "AFSURF", "*AFUN", "AGEN", "AGLUE", "AINA", "AINP", 

412 "AINV", "AL", "ALIST", "ALLSEL", "ALPHAD", "AMAP", 

413 "AMESH", "/AN3D", "ANCNTR", "ANCUT", "ANCYC", "ANDATA", 

414 "ANDSCL", "ANDYNA", "/ANFILE", "ANFLOW", "/ANGLE", 

415 "ANHARM", "ANIM", "ANISOS", "ANMODE", "ANMRES", 

416 "/ANNOT", "ANORM", "ANPRES", "ANSOL", "ANSTOAQWA", 

417 "ANSTOASAS", "ANTIME", "ANTYPE") 

418 

419 special = ("/COM", "/TITLE", "STITLE") 

420 

421 elements = ("SOLID5", 

422 "LINK11", 

423 "PLANE13", 

424 "COMBIN14", 

425 "MASS2", 

426 "PLANE25", 

427 "MATRIX27", 

428 "FLUID29", 

429 "FLUID30", 

430 "LINK31", 

431 "LINK33", 

432 "LINK34", 

433 "PLANE35", 

434 "SOURC36", 

435 "COMBIN37", 

436 "FLUID38", 

437 "COMBIN39", 

438 "COMBIN40", 

439 "INFIN47", 

440 "MATRIX50", 

441 "PLANE55", 

442 "SHELL61", 

443 "LINK68", 

444 "SOLID70", 

445 "MASS71", 

446 "PLANE75", 

447 "PLANE77", 

448 "PLANE78", 

449 "PLANE83", 

450 "SOLID87", 

451 "SOLID90", 

452 "CIRCU94", 

453 "SOLID96", 

454 "SOLID98", 

455 "INFIN110", 

456 "INFIN111", 

457 "FLUID116", 

458 "PLANE121", 

459 "SOLID122", 

460 "SOLID123", 

461 "CIRCU124", 

462 "CIRCU125", 

463 "TRANS126", 

464 "FLUID129", 

465 "FLUID130", 

466 "SHELL131", 

467 "SHELL132", 

468 "FLUID136", 

469 "FLUID138", 

470 "FLUID139", 

471 "SURF151", 

472 "SURF152", 

473 "SURF153", 

474 "SURF154", 

475 "SURF155", 

476 "SURF156", 

477 "SHELL157", 

478 "SURF159", 

479 "TARGE169", 

480 "TARGE170", 

481 "CONTA172", 

482 "CONTA174", 

483 "CONTA175", 

484 "CONTA177", 

485 "CONTA178", 

486 "PRETS179", 

487 "LINK180", 

488 "SHELL181", 

489 "PLANE182", 

490 "PLANE183", 

491 "MPC184", 

492 "SOLID185", 

493 "SOLID186", 

494 "SOLID187", 

495 "BEAM188", 

496 "BEAM189", 

497 "SOLSH190", 

498 "INTER192", 

499 "INTER193", 

500 "INTER194", 

501 "INTER195", 

502 "MESH200", 

503 "FOLLW201", 

504 "INTER202", 

505 "INTER203", 

506 "INTER204", 

507 "INTER205", 

508 "SHELL208", 

509 "SHELL209", 

510 "CPT212", 

511 "CPT213", 

512 "COMBI214", 

513 "CPT215", 

514 "CPT216", 

515 "CPT217", 

516 "FLUID218", 

517 "FLUID220", 

518 "FLUID221", 

519 "PLANE222", 

520 "PLANE223", 

521 "SOLID225", 

522 "SOLID226", 

523 "SOLID227", 

524 "PLANE230", 

525 "SOLID231", 

526 "SOLID232", 

527 "PLANE233", 

528 "SOLID236", 

529 "SOLID237", 

530 "PLANE238", 

531 "SOLID239", 

532 "SOLID240", 

533 "HSFLD241", 

534 "HSFLD242", 

535 "COMBI250", 

536 "SURF251", 

537 "SURF252", 

538 "INFIN257", 

539 "REINF263", 

540 "REINF264", 

541 "REINF265", 

542 "SOLID272", 

543 "SOLID273", 

544 "SOLID278", 

545 "SOLID279", 

546 "CABLE280", 

547 "SHELL281", 

548 "SOLID285", 

549 "PIPE288", 

550 "PIPE289", 

551 "ELBOW290", 

552 "SOLID291", 

553 "PLANE292", 

554 "PLANE293", 

555 "USER300") 

556 

557 tokens = { 

558 'root': [ 

559 (r'[^\S\n]+', Whitespace), 

560 (words((elafunb+elafunc+elafund+elafune+elafunh+special), suffix=r'\b'), Keyword, 'non-keyword'), 

561 default('non-keyword'), 

562 ], 

563 'non-keyword': [ 

564 (r'!.*\n', Comment, '#pop'), 

565 (r'%.*?%', Escape), 

566 include('strings'), 

567 include('nums'), 

568 (words((elafunf+elafung), suffix=r'\b'), Name.Builtin), 

569 (words((elements), suffix=r'\b'), Name.Property), 

570 include('core'), 

571 (r'AR[0-9]+', Name.Variable.Instance), 

572 (r'[a-z_][a-z0-9_]*', Name.Variable), 

573 (r'\n+', Whitespace, '#pop'), 

574 (r'[^\S\n]+', Whitespace), 

575 ], 

576 'core': [ 

577 # Operators 

578 (r'(\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=|\(|\))', Operator), 

579 (r'/EOF', Generic.Emph), 

580 (r'[\.(),:&;]', Punctuation), 

581 ], 

582 'strings': [ 

583 (r'(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double), 

584 (r"(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single), 

585 (r'[$%]', String.Symbol), 

586 ], 

587 'nums': [ 

588 (r'[+-]?\d*\.\d+([efEF][-+]?\d+)?', Number.Float), # with dot 

589 (r'([+-]?\d+([efEF][-+]?\d+))', Number.Float), # With scientific notation 

590 (r'\b\d+(?![.ef])', Number.Integer), # integer simple 

591 ] 

592 }