codekingpro/portable-devtools
114k
1"""2 pygments.lexers.apdlexer3 ~~~~~~~~~~~~~~~~~~~~~~~~4 5 Lexers for ANSYS Parametric Design Language.6 7 :copyright: Copyright 2006-2024 by the Pygments team, see AUTHORS.8 :license: BSD, see LICENSE for details.9"""10 11import re12 13from pygments.lexer import RegexLexer, include, words, default14from pygments.token import Comment, Keyword, Name, Number, Operator, \15 String, Generic, Punctuation, Whitespace, Escape16 17__all__ = ['apdlexer']18 19 20class apdlexer(RegexLexer):21 """22 For APDL source code.23 """24 name = 'ANSYS parametric design language'25 aliases = ['ansys', 'apdl']26 filenames = ['*.ans']27 url = 'https://www.ansys.com'28 version_added = '2.9'29 30 flags = re.IGNORECASE31 32 # list of elements33 elafunb = ("SURF152", "SURF153", "SURF154", "SURF156", "SHELL157",34 "SURF159", "LINK160", "BEAM161", "PLANE162",35 "SHELL163", "SOLID164", "COMBI165", "MASS166",36 "LINK167", "SOLID168", "TARGE169", "TARGE170",37 "CONTA171", "CONTA172", "CONTA173", "CONTA174",38 "CONTA175", "CONTA176", "CONTA177", "CONTA178",39 "PRETS179", "LINK180", "SHELL181", "PLANE182",40 "PLANE183", "MPC184", "SOLID185", "SOLID186",41 "SOLID187", "BEAM188", "BEAM189", "SOLSH190",42 "INTER192", "INTER193", "INTER194", "INTER195",43 "MESH200", "FOLLW201", "INTER202", "INTER203",44 "INTER204", "INTER205", "SHELL208", "SHELL209",45 "CPT212", "CPT213", "COMBI214", "CPT215", "CPT216",46 "CPT217", "FLUID220", "FLUID221", "PLANE223",47 "SOLID226", "SOLID227", "PLANE230", "SOLID231",48 "SOLID232", "PLANE233", "SOLID236", "SOLID237",49 "PLANE238", "SOLID239", "SOLID240", "HSFLD241",50 "HSFLD242", "SURF251", "SURF252", "REINF263",51 "REINF264", "REINF265", "SOLID272", "SOLID273",52 "SOLID278", "SOLID279", "SHELL281", "SOLID285",53 "PIPE288", "PIPE289", "ELBOW290", "USER300", "BEAM3",54 "BEAM4", "BEAM23", "BEAM24", "BEAM44", "BEAM54",55 "COMBIN7", "FLUID79", "FLUID80", "FLUID81", "FLUID141",56 "FLUID142", "INFIN9", "INFIN47", "PLANE13", "PLANE25",57 "PLANE42", "PLANE53", "PLANE67", "PLANE82", "PLANE83",58 "PLANE145", "PLANE146", "CONTAC12", "CONTAC52",59 "LINK1", "LINK8", "LINK10", "LINK32", "PIPE16",60 "PIPE17", "PIPE18", "PIPE20", "PIPE59", "PIPE60",61 "SHELL41", "SHELL43", "SHELL57", "SHELL63", "SHELL91",62 "SHELL93", "SHELL99", "SHELL150", "SOLID5", "SOLID45",63 "SOLID46", "SOLID65", "SOLID69", "SOLID92", "SOLID95",64 "SOLID117", "SOLID127", "SOLID128", "SOLID147",65 "SOLID148", "SOLID191", "VISCO88", "VISCO89",66 "VISCO106", "VISCO107", "VISCO108", "TRANS109")67 68 elafunc = ("PGRAPH", "/VT", "VTIN", "VTRFIL", "VTTEMP", "PGRSET",69 "VTCLR", "VTMETH", "VTRSLT", "VTVMOD", "PGSELE",70 "VTDISC", "VTMP", "VTSEC", "PGWRITE", "VTEVAL", "VTOP",71 "VTSFE", "POUTRES", "VTFREQ", "VTPOST", "VTSL",72 "FLDATA1-40", "HFPCSWP", "MSDATA", "MSVARY", "QFACT",73 "FLOCHECK", "HFPOWER", "MSMASS", "PERI", "SPADP",74 "FLREAD", "HFPORT", "MSMETH", "PLFSS", "SPARM",75 "FLOTRAN", "HFSCAT", "MSMIR", "PLSCH", "SPFSS",76 "HFADP", "ICE", "MSNOMF", "PLSYZ", "SPICE", "HFARRAY",77 "ICEDELE", "MSPROP", "PLTD", "SPSCAN", "HFDEEM",78 "ICELIST", "MSQUAD", "PLTLINE", "SPSWP", "HFEIGOPT",79 "ICVFRC", "MSRELAX", "PLVFRC", "HFEREFINE", "LPRT",80 "MSSOLU", "/PICE", "HFMODPRT", "MSADV", "MSSPEC",81 "PLWAVE", "HFPA", "MSCAP", "MSTERM", "PRSYZ")82 83 elafund = ("*VOPER", "VOVLAP", "*VPLOT", "VPLOT", "VPTN", "*VPUT",84 "VPUT", "*VREAD", "VROTAT", "VSBA", "VSBV", "VSBW",85 "/VSCALE", "*VSCFUN", "VSEL", "VSLA", "*VSTAT", "VSUM",86 "VSWEEP", "VSYMM", "VTRAN", "VTYPE", "/VUP", "*VWRITE",87 "/WAIT", "WAVES", "WERASE", "WFRONT", "/WINDOW",88 "WMID", "WMORE", "WPAVE", "WPCSYS", "WPLANE", "WPOFFS",89 "WPROTA", "WPSTYL", "WRFULL", "WRITE", "WRITEMAP",90 "*WRK", "WSORT", "WSPRINGS", "WSTART", "WTBCREATE",91 "XFDATA", "XFENRICH", "XFLIST", "/XFRM", "/XRANGE",92 "XVAR", "/YRANGE", "/ZOOM", "/WB", "XMLO", "/XML",93 "CNTR", "EBLOCK", "CMBLOCK", "NBLOCK", "/TRACK",94 "CWZPLOT", "~EUI", "NELE", "EALL", "NALL", "FLITEM",95 "LSLN", "PSOLVE", "ASLN", "/VERIFY", "/SSS", "~CFIN",96 "*EVAL", "*MOONEY", "/RUNSTAT", "ALPFILL",97 "ARCOLLAPSE", "ARDETACH", "ARFILL", "ARMERGE",98 "ARSPLIT", "FIPLOT", "GAPFINISH", "GAPLIST",99 "GAPMERGE", "GAPOPT", "GAPPLOT", "LNCOLLAPSE",100 "LNDETACH", "LNFILL", "LNMERGE", "LNSPLIT", "PCONV",101 "PLCONV", "PEMOPTS", "PEXCLUDE", "PINCLUDE", "PMETH",102 "/PMETH", "PMOPTS", "PPLOT", "PPRANGE", "PRCONV",103 "PRECISION", "RALL", "RFILSZ", "RITER", "RMEMRY",104 "RSPEED", "RSTAT", "RTIMST", "/RUNST", "RWFRNT",105 "SARPLOT", "SHSD", "SLPPLOT", "SLSPLOT", "VCVFILL",106 "/OPT", "OPEQN", "OPFACT", "OPFRST", "OPGRAD",107 "OPKEEP", "OPLOOP", "OPPRNT", "OPRAND", "OPSUBP",108 "OPSWEEP", "OPTYPE", "OPUSER", "OPVAR", "OPADD",109 "OPCLR", "OPDEL", "OPMAKE", "OPSEL", "OPANL", "OPDATA",110 "OPRESU", "OPSAVE", "OPEXE", "OPLFA", "OPLGR",111 "OPLIST", "OPLSW", "OPRFA", "OPRGR", "OPRSW",112 "PILECALC", "PILEDISPSET", "PILEGEN", "PILELOAD",113 "PILEMASS", "PILERUN", "PILESEL", "PILESTIF",114 "PLVAROPT", "PRVAROPT", "TOCOMP", "TODEF", "TOFREQ",115 "TOTYPE", "TOVAR", "TOEXE", "TOLOOP", "TOGRAPH",116 "TOLIST", "TOPLOT", "TOPRINT", "TOSTAT", "TZAMESH",117 "TZDELE", "TZEGEN", "XVAROPT", "PGSAVE", "SOLCONTROL",118 "TOTAL", "VTGEOM", "VTREAL", "VTSTAT")119 120 elafune = ("/ANUM", "AOFFST", "AOVLAP", "APLOT", "APPEND", "APTN",121 "ARCLEN", "ARCTRM", "AREAS", "AREFINE", "AREMESH",122 "AREVERSE", "AROTAT", "ARSCALE", "ARSYM", "ASBA",123 "ASBL", "ASBV", "ASBW", "ASCRES", "ASEL", "ASIFILE",124 "*ASK", "ASKIN", "ASLL", "ASLV", "ASOL", "/ASSIGN",125 "ASUB", "ASUM", "ATAN", "ATRAN", "ATYPE", "/AUTO",126 "AUTOTS", "/AUX2", "/AUX3", "/AUX12", "/AUX15",127 "AVPRIN", "AVRES", "AWAVE", "/AXLAB", "*AXPY",128 "/BATCH", "BCSOPTION", "BETAD", "BF", "BFA", "BFADELE",129 "BFALIST", "BFCUM", "BFDELE", "BFE", "BFECUM",130 "BFEDELE", "BFELIST", "BFESCAL", "BFINT", "BFK",131 "BFKDELE", "BFKLIST", "BFL", "BFLDELE", "BFLIST",132 "BFLLIST", "BFSCALE", "BFTRAN", "BFUNIF", "BFV",133 "BFVDELE", "BFVLIST", "BIOOPT", "BIOT", "BLC4", "BLC5",134 "BLOCK", "BOOL", "BOPTN", "BSAX", "BSMD", "BSM1",135 "BSM2", "BSPLIN", "BSS1", "BSS2", "BSTE", "BSTQ",136 "BTOL", "BUCOPT", "C", "CALC", "CAMPBELL", "CBDOF",137 "CBMD", "CBMX", "CBTE", "CBTMP", "CDOPT", "CDREAD",138 "CDWRITE", "CE", "CECHECK", "CECMOD", "CECYC",139 "CEDELE", "CEINTF", "CELIST", "CENTER", "CEQN",140 "CERIG", "CESGEN", "CFACT", "*CFCLOS", "*CFOPEN",141 "*CFWRITE", "/CFORMAT", "CGLOC", "CGOMGA", "CGROW",142 "CHECK", "CHKMSH", "CINT", "CIRCLE", "CISOL",143 "/CLABEL", "/CLEAR", "CLOCAL", "CLOG", "/CLOG",144 "CLRMSHLN", "CM", "CMACEL", "/CMAP", "CMATRIX",145 "CMDELE", "CMDOMEGA", "CMEDIT", "CMGRP", "CMLIST",146 "CMMOD", "CMOMEGA", "CMPLOT", "CMROTATE", "CMSEL",147 "CMSFILE", "CMSOPT", "CMWRITE", "CNCHECK", "CNKMOD",148 "CNTR", "CNVTOL", "/COLOR", "*COMP", "COMBINE",149 "COMPRESS", "CON4", "CONE", "/CONFIG", "CONJUG",150 "/CONTOUR", "/COPY", "CORIOLIS", "COUPLE", "COVAL",151 "CP", "CPCYC", "CPDELE", "CPINTF", "/CPLANE", "CPLGEN",152 "CPLIST", "CPMERGE", "CPNGEN", "CPSGEN", "CQC",153 "*CREATE", "CRPLIM", "CS", "CSCIR", "CSDELE", "CSKP",154 "CSLIST", "CSWPLA", "CSYS", "/CTYPE", "CURR2D",155 "CUTCONTROL", "/CVAL", "CVAR", "/CWD", "CYCCALC",156 "/CYCEXPAND", "CYCFILES", "CYCFREQ", "*CYCLE",157 "CYCLIC", "CYCOPT", "CYCPHASE", "CYCSPEC", "CYL4",158 "CYL5", "CYLIND", "CZDEL", "CZMESH", "D", "DA",159 "DADELE", "DALIST", "DAMORPH", "DATA", "DATADEF",160 "DCGOMG", "DCUM", "DCVSWP", "DDASPEC", "DDELE",161 "DDOPTION", "DEACT", "DEFINE", "*DEL", "DELETE",162 "/DELETE", "DELTIM", "DELTIME", "DEMORPH", "DERIV", "DESIZE",163 "DESOL", "DETAB", "/DEVDISP", "/DEVICE", "/DFLAB",164 "DFLX", "DFSWAVE", "DIG", "DIGIT", "*DIM",165 "/DIRECTORY", "DISPLAY", "/DIST", "DJ", "DJDELE",166 "DJLIST", "DK", "DKDELE", "DKLIST", "DL", "DLDELE",167 "DLIST", "DLLIST", "*DMAT", "DMOVE", "DMPEXT",168 "DMPOPTION", "DMPRAT", "DMPSTR", "DNSOL", "*DO", "DOF",169 "DOFSEL", "DOMEGA", "*DOT", "*DOWHILE", "DSCALE",170 "/DSCALE", "DSET", "DSPOPTION", "DSUM", "DSURF",171 "DSYM", "DSYS", "DTRAN", "DUMP", "/DV3D", "DVAL",172 "DVMORPH", "DYNOPT", "E", "EALIVE", "EDADAPT", "EDALE",173 "EDASMP", "EDBOUND", "EDBX", "EDBVIS", "EDCADAPT",174 "EDCGEN", "EDCLIST", "EDCMORE", "EDCNSTR", "EDCONTACT",175 "EDCPU", "EDCRB", "EDCSC", "EDCTS", "EDCURVE",176 "EDDAMP", "EDDBL", "EDDC", "EDDRELAX", "EDDUMP",177 "EDELE", "EDENERGY", "EDFPLOT", "EDGCALE", "/EDGE",178 "EDHGLS", "EDHIST", "EDHTIME", "EDINT", "EDIPART",179 "EDIS", "EDLCS", "EDLOAD", "EDMP", "EDNB", "EDNDTSD",180 "EDNROT", "EDOPT", "EDOUT", "EDPART", "EDPC", "EDPL",181 "EDPVEL", "EDRC", "EDRD", "EDREAD", "EDRI", "EDRST",182 "EDRUN", "EDSHELL", "EDSOLV", "EDSP", "EDSTART",183 "EDTERM", "EDTP", "EDVEL", "EDWELD", "EDWRITE",184 "EEXTRUDE", "/EFACET", "EGEN", "*EIGEN", "EINFIN",185 "EINTF", "EKILL", "ELBOW", "ELEM", "ELIST", "*ELSE",186 "*ELSEIF", "EMAGERR", "EMATWRITE", "EMF", "EMFT",187 "EMID", "EMIS", "EMODIF", "EMORE", "EMSYM", "EMTGEN",188 "EMUNIT", "EN", "*END", "*ENDDO", "*ENDIF",189 "ENDRELEASE", "ENERSOL", "ENGEN", "ENORM", "ENSYM",190 "EORIENT", "EPLOT", "EQSLV", "ERASE", "/ERASE",191 "EREAD", "EREFINE", "EREINF", "ERESX", "ERNORM",192 "ERRANG", "ESCHECK", "ESEL", "/ESHAPE", "ESIZE",193 "ESLA", "ESLL", "ESLN", "ESLV", "ESOL", "ESORT",194 "ESSOLV", "ESTIF", "ESURF", "ESYM", "ESYS", "ET",195 "ETABLE", "ETCHG", "ETCONTROL", "ETDELE", "ETLIST",196 "ETYPE", "EUSORT", "EWRITE", "*EXIT", "/EXIT", "EXP",197 "EXPAND", "/EXPAND", "EXPASS", "*EXPORT", "EXPROFILE",198 "EXPSOL", "EXTOPT", "EXTREM", "EXUNIT", "F", "/FACET",199 "FATIGUE", "FC", "FCCHECK", "FCDELE", "FCLIST", "FCUM",200 "FCTYP", "FDELE", "/FDELE", "FE", "FEBODY", "FECONS",201 "FEFOR", "FELIST", "FESURF", "*FFT", "FILE",202 "FILEAUX2", "FILEAUX3", "FILEDISP", "FILL", "FILLDATA",203 "/FILNAME", "FINISH", "FITEM", "FJ", "FJDELE",204 "FJLIST", "FK", "FKDELE", "FKLIST", "FL", "FLIST",205 "FLLIST", "FLST", "FLUXV", "FLUREAD", "FMAGBC",206 "FMAGSUM", "/FOCUS", "FOR2D", "FORCE", "FORM",207 "/FORMAT", "FP", "FPLIST", "*FREE", "FREQ", "FRQSCL",208 "FS", "FSCALE", "FSDELE", "FSLIST", "FSNODE", "FSPLOT",209 "FSSECT", "FSSPARM", "FSUM", "FTCALC", "FTRAN",210 "FTSIZE", "FTWRITE", "FTYPE", "FVMESH", "GAP", "GAPF",211 "GAUGE", "GCDEF", "GCGEN", "/GCMD", "/GCOLUMN",212 "GENOPT", "GEOM", "GEOMETRY", "*GET", "/GFILE",213 "/GFORMAT", "/GLINE", "/GMARKER", "GMATRIX", "GMFACE",214 "*GO", "/GO", "/GOLIST", "/GOPR", "GP", "GPDELE",215 "GPLIST", "GPLOT", "/GRAPHICS", "/GRESUME", "/GRID",216 "/GROPT", "GRP", "/GRTYP", "/GSAVE", "GSBDATA",217 "GSGDATA", "GSLIST", "GSSOL", "/GST", "GSUM", "/GTHK",218 "/GTYPE", "HARFRQ", "/HBC", "HBMAT", "/HEADER", "HELP",219 "HELPDISP", "HEMIOPT", "HFANG", "HFSYM", "HMAGSOLV",220 "HPGL", "HPTCREATE", "HPTDELETE", "HRCPLX", "HREXP",221 "HROPT", "HROCEAN", "HROUT", "IC", "ICDELE", "ICLIST",222 "/ICLWID", "/ICSCALE", "*IF", "IGESIN", "IGESOUT",223 "/IMAGE", "IMAGIN", "IMESH", "IMMED", "IMPD",224 "INISTATE", "*INIT", "/INPUT", "/INQUIRE", "INRES",225 "INRTIA", "INT1", "INTSRF", "IOPTN", "IRLF", "IRLIST",226 "*ITENGINE", "JPEG", "JSOL", "K", "KATT", "KBC",227 "KBETW", "KCALC", "KCENTER", "KCLEAR", "KDELE",228 "KDIST", "KEEP", "KESIZE", "KEYOPT", "KEYPTS", "KEYW",229 "KFILL", "KGEN", "KL", "KLIST", "KMESH", "KMODIF",230 "KMOVE", "KNODE", "KPLOT", "KPSCALE", "KREFINE",231 "KSCALE", "KSCON", "KSEL", "KSLL", "KSLN", "KSUM",232 "KSYMM", "KTRAN", "KUSE", "KWPAVE", "KWPLAN", "L",233 "L2ANG", "L2TAN", "LANG", "LARC", "/LARC", "LAREA",234 "LARGE", "LATT", "LAYER", "LAYERP26", "LAYLIST",235 "LAYPLOT", "LCABS", "LCASE", "LCCALC", "LCCAT",236 "LCDEF", "LCFACT", "LCFILE", "LCLEAR", "LCOMB",237 "LCOPER", "LCSEL", "LCSL", "LCSUM", "LCWRITE",238 "LCZERO", "LDELE", "LDIV", "LDRAG", "LDREAD", "LESIZE",239 "LEXTND", "LFILLT", "LFSURF", "LGEN", "LGLUE",240 "LGWRITE", "/LIGHT", "LINA", "LINE", "/LINE", "LINES",241 "LINL", "LINP", "LINV", "LIST", "*LIST", "LLIST",242 "LMATRIX", "LMESH", "LNSRCH", "LOCAL", "LOVLAP",243 "LPLOT", "LPTN", "LREFINE", "LREVERSE", "LROTAT",244 "LSBA", "*LSBAC", "LSBL", "LSBV", "LSBW", "LSCLEAR",245 "LSDELE", "*LSDUMP", "LSEL", "*LSENGINE", "*LSFACTOR",246 "LSLA", "LSLK", "LSOPER", "/LSPEC", "LSREAD",247 "*LSRESTORE", "LSSCALE", "LSSOLVE", "LSTR", "LSUM",248 "LSWRITE", "/LSYMBOL", "LSYMM", "LTAN", "LTRAN",249 "LUMPM", "LVSCALE", "LWPLAN", "M", "MADAPT", "MAGOPT",250 "MAGSOLV", "/MAIL", "MAP", "/MAP", "MAP2DTO3D",251 "MAPSOLVE", "MAPVAR", "MASTER", "MAT", "MATER",252 "MCHECK", "MDAMP", "MDELE", "MDPLOT", "MEMM", "/MENU",253 "MESHING", "MFANALYSIS", "MFBUCKET", "MFCALC", "MFCI",254 "MFCLEAR", "MFCMMAND", "MFCONV", "MFDTIME", "MFELEM",255 "MFEM", "MFEXTER", "MFFNAME", "MFFR", "MFIMPORT",256 "MFINTER", "MFITER", "MFLCOMM", "MFLIST", "MFMAP",257 "MFORDER", "MFOUTPUT", "*MFOURI", "MFPSIMUL", "MFRC",258 "MFRELAX", "MFRSTART", "MFSORDER", "MFSURFACE",259 "MFTIME", "MFTOL", "*MFUN", "MFVOLUME", "MFWRITE",260 "MGEN", "MIDTOL", "/MKDIR", "MLIST", "MMASS", "MMF",261 "MODCONT", "MODE", "MODIFY", "MODMSH", "MODSELOPTION",262 "MODOPT", "MONITOR", "*MOPER", "MOPT", "MORPH", "MOVE",263 "MP", "MPAMOD", "MPCHG", "MPCOPY", "MPDATA", "MPDELE",264 "MPDRES", "/MPLIB", "MPLIST", "MPPLOT", "MPREAD",265 "MPRINT", "MPTEMP", "MPTGEN", "MPTRES", "MPWRITE",266 "/MREP", "MSAVE", "*MSG", "MSHAPE", "MSHCOPY",267 "MSHKEY", "MSHMID", "MSHPATTERN", "MSOLVE", "/MSTART",268 "MSTOLE", "*MULT", "*MWRITE", "MXPAND", "N", "NANG",269 "NAXIS", "NCNV", "NDELE", "NDIST", "NDSURF", "NEQIT",270 "/NERR", "NFORCE", "NGEN", "NKPT", "NLADAPTIVE",271 "NLDIAG", "NLDPOST", "NLGEOM", "NLHIST", "NLIST",272 "NLMESH", "NLOG", "NLOPT", "NMODIF", "NOCOLOR",273 "NODES", "/NOERASE", "/NOLIST", "NOOFFSET", "NOORDER",274 "/NOPR", "NORA", "NORL", "/NORMAL", "NPLOT", "NPRINT",275 "NREAD", "NREFINE", "NRLSUM", "*NRM", "NROPT",276 "NROTAT", "NRRANG", "NSCALE", "NSEL", "NSLA", "NSLE",277 "NSLK", "NSLL", "NSLV", "NSMOOTH", "NSOL", "NSORT",278 "NSTORE", "NSUBST", "NSVR", "NSYM", "/NUMBER",279 "NUMCMP", "NUMEXP", "NUMMRG", "NUMOFF", "NUMSTR",280 "NUMVAR", "NUSORT", "NWPAVE", "NWPLAN", "NWRITE",281 "OCDATA", "OCDELETE", "OCLIST", "OCREAD", "OCTABLE",282 "OCTYPE", "OCZONE", "OMEGA", "OPERATE", "OPNCONTROL",283 "OUTAERO", "OUTOPT", "OUTPR", "/OUTPUT", "OUTRES",284 "OVCHECK", "PADELE", "/PAGE", "PAGET", "PAPUT",285 "PARESU", "PARTSEL", "PARRES", "PARSAV", "PASAVE",286 "PATH", "PAUSE", "/PBC", "/PBF", "PCALC", "PCGOPT",287 "PCIRC", "/PCIRCLE", "/PCOPY", "PCROSS", "PDANL",288 "PDCDF", "PDCFLD", "PDCLR", "PDCMAT", "PDCORR",289 "PDDMCS", "PDDOEL", "PDEF", "PDEXE", "PDHIST",290 "PDINQR", "PDLHS", "PDMETH", "PDOT", "PDPINV",291 "PDPLOT", "PDPROB", "PDRESU", "PDROPT", "/PDS",292 "PDSAVE", "PDSCAT", "PDSENS", "PDSHIS", "PDUSER",293 "PDVAR", "PDWRITE", "PERBC2D", "PERTURB", "PFACT",294 "PHYSICS", "PIVCHECK", "PLCAMP", "PLCFREQ", "PLCHIST",295 "PLCINT", "PLCPLX", "PLCRACK", "PLDISP", "PLESOL",296 "PLETAB", "PLFAR", "PLF2D", "PLGEOM", "PLLS", "PLMAP",297 "PLMC", "PLNEAR", "PLNSOL", "/PLOPTS", "PLORB", "PLOT",298 "PLOTTING", "PLPAGM", "PLPATH", "PLSECT", "PLST",299 "PLTIME", "PLTRAC", "PLVAR", "PLVECT", "PLZZ",300 "/PMACRO", "PMAP", "PMGTRAN", "PMLOPT", "PMLSIZE",301 "/PMORE", "PNGR", "/PNUM", "POINT", "POLY", "/POLYGON",302 "/POST1", "/POST26", "POWERH", "PPATH", "PRANGE",303 "PRAS", "PRCAMP", "PRCINT", "PRCPLX", "PRED",304 "PRENERGY", "/PREP7", "PRERR", "PRESOL", "PRETAB",305 "PRFAR", "PRI2", "PRIM", "PRINT", "*PRINT", "PRISM",306 "PRITER", "PRJSOL", "PRNEAR", "PRNLD", "PRNSOL",307 "PROD", "PRORB", "PRPATH", "PRRFOR", "PRRSOL",308 "PRSCONTROL", "PRSECT", "PRTIME", "PRVAR", "PRVECT",309 "PSCONTROL", "PSCR", "PSDCOM", "PSDFRQ", "PSDGRAPH",310 "PSDRES", "PSDSPL", "PSDUNIT", "PSDVAL", "PSDWAV",311 "/PSEARCH", "PSEL", "/PSF", "PSMAT", "PSMESH",312 "/PSPEC", "/PSTATUS", "PSTRES", "/PSYMB", "PTR",313 "PTXY", "PVECT", "/PWEDGE", "QDVAL", "QRDOPT", "QSOPT",314 "QUAD", "/QUIT", "QUOT", "R", "RACE", "RADOPT",315 "RAPPND", "RATE", "/RATIO", "RBE3", "RCON", "RCYC",316 "RDEC", "RDELE", "READ", "REAL", "REALVAR", "RECTNG",317 "REMESH", "/RENAME", "REORDER", "*REPEAT", "/REPLOT",318 "RESCOMBINE", "RESCONTROL", "RESET", "/RESET", "RESP",319 "RESUME", "RESVEC", "RESWRITE", "*RETURN", "REXPORT",320 "REZONE", "RFORCE", "/RGB", "RIGID", "RIGRESP",321 "RIMPORT", "RLIST", "RMALIST", "RMANL", "RMASTER",322 "RMCAP", "RMCLIST", "/RMDIR", "RMFLVEC", "RMLVSCALE",323 "RMMLIST", "RMMRANGE", "RMMSELECT", "RMNDISP",324 "RMNEVEC", "RMODIF", "RMORE", "RMPORDER", "RMRESUME",325 "RMRGENERATE", "RMROPTIONS", "RMRPLOT", "RMRSTATUS",326 "RMSAVE", "RMSMPLE", "RMUSE", "RMXPORT", "ROCK",327 "ROSE", "RPOLY", "RPR4", "RPRISM", "RPSD", "RSFIT",328 "RSOPT", "RSPLIT", "RSPLOT", "RSPRNT", "RSSIMS",329 "RSTMAC", "RSTOFF", "RSURF", "RSYMM", "RSYS", "RTHICK",330 "SABS", "SADD", "SALLOW", "SAVE", "SBCLIST", "SBCTRAN",331 "SDELETE", "SE", "SECCONTROL", "SECDATA",332 "SECFUNCTION", "SECJOINT", "/SECLIB", "SECLOCK",333 "SECMODIF", "SECNUM", "SECOFFSET", "SECPLOT",334 "SECREAD", "SECSTOP", "SECTYPE", "SECWRITE", "SED",335 "SEDLIST", "SEEXP", "/SEG", "SEGEN", "SELIST", "SELM",336 "SELTOL", "SENERGY", "SEOPT", "SESYMM", "*SET", "SET",337 "SETFGAP", "SETRAN", "SEXP", "SF", "SFA", "SFACT",338 "SFADELE", "SFALIST", "SFBEAM", "SFCALC", "SFCUM",339 "SFDELE", "SFE", "SFEDELE", "SFELIST", "SFFUN",340 "SFGRAD", "SFL", "SFLDELE", "SFLEX", "SFLIST",341 "SFLLIST", "SFSCALE", "SFTRAN", "/SHADE", "SHELL",342 "/SHOW", "/SHOWDISP", "SHPP", "/SHRINK", "SLIST",343 "SLOAD", "SMALL", "*SMAT", "SMAX", "/SMBC", "SMBODY",344 "SMCONS", "SMFOR", "SMIN", "SMOOTH", "SMRTSIZE",345 "SMSURF", "SMULT", "SNOPTION", "SOLU", "/SOLU",346 "SOLUOPT", "SOLVE", "SORT", "SOURCE", "SPACE",347 "SPCNOD", "SPCTEMP", "SPDAMP", "SPEC", "SPFREQ",348 "SPGRAPH", "SPH4", "SPH5", "SPHERE", "SPLINE", "SPLOT",349 "SPMWRITE", "SPOINT", "SPOPT", "SPREAD", "SPTOPT",350 "SPOWER", "SPUNIT", "SPVAL", "SQRT", "*SREAD", "SRSS",351 "SSBT", "/SSCALE", "SSLN", "SSMT", "SSPA", "SSPB",352 "SSPD", "SSPE", "SSPM", "SSUM", "SSTATE", "STABILIZE",353 "STAOPT", "STAT", "*STATUS", "/STATUS", "STEF",354 "STORE", "SUBOPT", "SUBSET", "SUCALC",355 "SUCR", "SUDEL", "SUEVAL", "SUGET", "SUMAP", "SUMTYPE",356 "SUPL", "SUPR", "SURESU", "SUSAVE", "SUSEL", "SUVECT",357 "SV", "SVPLOT", "SVTYP", "SWADD", "SWDEL", "SWGEN",358 "SWLIST", "SYNCHRO", "/SYP", "/SYS", "TALLOW",359 "TARGET", "*TAXIS", "TB", "TBCOPY", "TBDATA", "TBDELE",360 "TBEO", "TBIN", "TBFIELD", "TBFT", "TBLE", "TBLIST",361 "TBMODIF", "TBPLOT", "TBPT", "TBTEMP", "TCHG", "/TEE",362 "TERM", "THEXPAND", "THOPT", "TIFF", "TIME",363 "TIMERANGE", "TIMINT", "TIMP", "TINTP",364 "/TLABEL", "TOFFST", "*TOPER", "TORQ2D", "TORQC2D",365 "TORQSUM", "TORUS", "TRANS", "TRANSFER", "*TREAD",366 "TREF", "/TRIAD", "/TRLCY", "TRNOPT", "TRPDEL",367 "TRPLIS", "TRPOIN", "TRTIME", "TSHAP", "/TSPEC",368 "TSRES", "TUNIF", "TVAR", "/TXTRE", "/TYPE", "TYPE",369 "/UCMD", "/UDOC", "/UI", "UIMP", "/UIS", "*ULIB", "/UPF",370 "UNDELETE", "UNDO", "/UNITS", "UNPAUSE", "UPCOORD",371 "UPGEOM", "*USE", "/USER", "USRCAL", "USRDOF",372 "USRELEM", "V", "V2DOPT", "VA", "*VABS", "VADD",373 "VARDEL", "VARNAM", "VATT", "VCLEAR", "*VCOL",374 "/VCONE", "VCROSS", "*VCUM", "VDDAM", "VDELE", "VDGL",375 "VDOT", "VDRAG", "*VEC", "*VEDIT", "VEORIENT", "VEXT",376 "*VFACT", "*VFILL", "VFOPT", "VFQUERY", "VFSM",377 "*VFUN", "VGEN", "*VGET", "VGET", "VGLUE", "/VIEW",378 "VIMP", "VINP", "VINV", "*VITRP", "*VLEN", "VLIST",379 "VLSCALE", "*VMASK", "VMESH", "VOFFST", "VOLUMES")380 381 # list of in-built () functions382 elafunf = ("NX()", "NY()", "NZ()", "KX()", "KY()", "KZ()", "LX()",383 "LY()", "LZ()", "LSX()", "LSY()", "LSZ()", "NODE()",384 "KP()", "DISTND()", "DISTKP()", "DISTEN()", "ANGLEN()",385 "ANGLEK()", "NNEAR()", "KNEAR()", "ENEARN()",386 "AREAND()", "AREAKP()", "ARNODE()", "NORMNX()",387 "NORMNY()", "NORMNZ()", "NORMKX()", "NORMKY()",388 "NORMKZ()", "ENEXTN()", "NELEM()", "NODEDOF()",389 "ELADJ()", "NDFACE()", "NMFACE()", "ARFACE()", "UX()",390 "UY()", "UZ()", "ROTX()", "ROTY()", "ROTZ()", "TEMP()",391 "PRES()", "VX()", "VY()", "VZ()", "ENKE()", "ENDS()",392 "VOLT()", "MAG()", "AX()", "AY()", "AZ()",393 "VIRTINQR()", "KWGET()", "VALCHR()", "VALHEX()",394 "CHRHEX()", "STRFILL()", "STRCOMP()", "STRPOS()",395 "STRLENG()", "UPCASE()", "LWCASE()", "JOIN()",396 "SPLIT()", "ABS()", "SIGN()", "CXABS()", "EXP()",397 "LOG()", "LOG10()", "SQRT()", "NINT()", "MOD()",398 "RAND()", "GDIS()", "SIN()", "COS()", "TAN()",399 "SINH()", "COSH()", "TANH()", "ASIN()", "ACOS()",400 "ATAN()", "ATAN2()")401 402 elafung = ("NSEL()", "ESEL()", "KSEL()", "LSEL()", "ASEL()",403 "VSEL()", "NDNEXT()", "ELNEXT()", "KPNEXT()",404 "LSNEXT()", "ARNEXT()", "VLNEXT()", "CENTRX()",405 "CENTRY()", "CENTRZ()")406 407 elafunh = ("~CAT5IN", "~CATIAIN", "~PARAIN", "~PROEIN", "~SATIN",408 "~UGIN", "A", "AADD", "AATT", "ABEXTRACT", "*ABBR",409 "ABBRES", "ABBSAV", "ABS", "ACCAT", "ACCOPTION",410 "ACEL", "ACLEAR", "ADAMS", "ADAPT", "ADD", "ADDAM",411 "ADELE", "ADGL", "ADRAG", "AESIZE", "AFILLT", "AFLIST",412 "AFSURF", "*AFUN", "AGEN", "AGLUE", "AINA", "AINP",413 "AINV", "AL", "ALIST", "ALLSEL", "ALPHAD", "AMAP",414 "AMESH", "/AN3D", "ANCNTR", "ANCUT", "ANCYC", "ANDATA",415 "ANDSCL", "ANDYNA", "/ANFILE", "ANFLOW", "/ANGLE",416 "ANHARM", "ANIM", "ANISOS", "ANMODE", "ANMRES",417 "/ANNOT", "ANORM", "ANPRES", "ANSOL", "ANSTOAQWA",418 "ANSTOASAS", "ANTIME", "ANTYPE")419 420 special = ("/COM", "/TITLE", "STITLE")421 422 elements = ("SOLID5",423 "LINK11",424 "PLANE13",425 "COMBIN14",426 "MASS2",427 "PLANE25",428 "MATRIX27",429 "FLUID29",430 "FLUID30",431 "LINK31",432 "LINK33",433 "LINK34",434 "PLANE35",435 "SOURC36",436 "COMBIN37",437 "FLUID38",438 "COMBIN39",439 "COMBIN40",440 "INFIN47",441 "MATRIX50",442 "PLANE55",443 "SHELL61",444 "LINK68",445 "SOLID70",446 "MASS71",447 "PLANE75",448 "PLANE77",449 "PLANE78",450 "PLANE83",451 "SOLID87",452 "SOLID90",453 "CIRCU94",454 "SOLID96",455 "SOLID98",456 "INFIN110",457 "INFIN111",458 "FLUID116",459 "PLANE121",460 "SOLID122",461 "SOLID123",462 "CIRCU124",463 "CIRCU125",464 "TRANS126",465 "FLUID129",466 "FLUID130",467 "SHELL131",468 "SHELL132",469 "FLUID136",470 "FLUID138",471 "FLUID139",472 "SURF151",473 "SURF152",474 "SURF153",475 "SURF154",476 "SURF155",477 "SURF156",478 "SHELL157",479 "SURF159",480 "TARGE169",481 "TARGE170",482 "CONTA172",483 "CONTA174",484 "CONTA175",485 "CONTA177",486 "CONTA178",487 "PRETS179",488 "LINK180",489 "SHELL181",490 "PLANE182",491 "PLANE183",492 "MPC184",493 "SOLID185",494 "SOLID186",495 "SOLID187",496 "BEAM188",497 "BEAM189",498 "SOLSH190",499 "INTER192",500 "INTER193",501 "INTER194",502 "INTER195",503 "MESH200",504 "FOLLW201",505 "INTER202",506 "INTER203",507 "INTER204",508 "INTER205",509 "SHELL208",510 "SHELL209",511 "CPT212",512 "CPT213",513 "COMBI214",514 "CPT215",515 "CPT216",516 "CPT217",517 "FLUID218",518 "FLUID220",519 "FLUID221",520 "PLANE222",521 "PLANE223",522 "SOLID225",523 "SOLID226",524 "SOLID227",525 "PLANE230",526 "SOLID231",527 "SOLID232",528 "PLANE233",529 "SOLID236",530 "SOLID237",531 "PLANE238",532 "SOLID239",533 "SOLID240",534 "HSFLD241",535 "HSFLD242",536 "COMBI250",537 "SURF251",538 "SURF252",539 "INFIN257",540 "REINF263",541 "REINF264",542 "REINF265",543 "SOLID272",544 "SOLID273",545 "SOLID278",546 "SOLID279",547 "CABLE280",548 "SHELL281",549 "SOLID285",550 "PIPE288",551 "PIPE289",552 "ELBOW290",553 "SOLID291",554 "PLANE292",555 "PLANE293",556 "USER300")557 558 tokens = {559 'root': [560 (r'[^\S\n]+', Whitespace),561 (words((elafunb+elafunc+elafund+elafune+elafunh+special), suffix=r'\b'), Keyword, 'non-keyword'),562 default('non-keyword'),563 ],564 'non-keyword': [565 (r'!.*\n', Comment, '#pop'),566 (r'%.*?%', Escape),567 include('strings'),568 include('nums'),569 (words((elafunf+elafung), suffix=r'\b'), Name.Builtin),570 (words((elements), suffix=r'\b'), Name.Property),571 include('core'),572 (r'AR[0-9]+', Name.Variable.Instance),573 (r'[a-z_][a-z0-9_]*', Name.Variable),574 (r'\n+', Whitespace, '#pop'),575 (r'[^\S\n]+', Whitespace),576 ],577 'core': [578 # Operators579 (r'(\*\*|\*|\+|-|\/|<|>|<=|>=|==|\/=|=|\(|\))', Operator),580 (r'/EOF', Generic.Emph),581 (r'[\.(),:&;]', Punctuation),582 ],583 'strings': [584 (r'(?s)"(\\\\|\\[0-7]+|\\.|[^"\\])*"', String.Double),585 (r"(?s)'(\\\\|\\[0-7]+|\\.|[^'\\])*'", String.Single),586 (r'[$%]', String.Symbol),587 ],588 'nums': [589 (r'[+-]?\d*\.\d+([efEF][-+]?\d+)?', Number.Float), # with dot590 (r'([+-]?\d+([efEF][-+]?\d+))', Number.Float), # With scientific notation591 (r'\b\d+(?![.ef])', Number.Integer), # integer simple592 ]593 }594 