////////////////////////////////////////////////////////////////////////////// // // Zemax Programming Language highlighter written by M. van Lierop // // Last updated: 2006-06-16 // // notes : - valid for ZEMAX version 2006-04-12 // - all numeric functions added directly from manual. // - Other functions are copied from Optima file updared until // January 2005. // ////////////////////////////////////////////////////////////////////////////// Language: ZEMAX programming language Filter: ZMX (*.zpl)|*.zpl HelpFile: ZMXhelp.txt CaseSensitive: 0 ////////////////////////////////////////////////////////////////////////////// // numeric constants begin characters NumConstBegChars: ^ NumConstChars: a..z A..Z 0..9 ////////////////////////////////////////////////////////////////////////////// // comment type: LineComment - comment to the end of line LineComment: ! REM BlockCommentBeg: # BlockCommentEnd: # ////////////////////////////////////////////////////////////////////////////// // identifier characters IdentifierBegChars: a..z A..Z 0..9 IdentifierChars: a..z A..Z 0..9 ////////////////////////////////////////////////////////////////////////////// // escape character EscapeChar: ////////////////////////////////////////////////////////////////////////////// // keyword table // KeyWords1: - numeric/string functions. // KeyWords2: - Keywords, they tell ZMX to take some action. // Keywords3: - these functions must appear on the right hand side of an assignment, e.g. // coatname$ = $COAT(surface number). // KeyWords4: - Loop KeyWords. // KeyWords5: - Obsolete keywords KeyWords1: ABSO ACOS ASIN ASPR ATAN CONF COSI EDGE EOFF ETIM EXPE EXPT FICL FTYP FVAN GABB GETT GIND GLCA GLCB GLCC GLCM GLCX GLCY GLCZ GNUM GPAR GRIN IMAE INDX INTE ISMS LOGE LOGT MAGN MAXF MAXG MCON MCOP MFCN NCON NFLD NOBJ NPAR NPOS NPRO NSDC NSDD NSUR NWAV OCOD ONUM OPDC OPER OPEV OPTH PARM PMOD POWR PVHX PVHY PVPX PVPY PWAV RAGX RAGY RAGZ RAND RANX RANY RANZ RAYE RAYL RAYM RAYN RAYO RAYT RAYV RAYX RAYY RAYZ RELI SAGG SCOD SCOM SIGN SINE SLEN SOLV SPRO SQRT STDD STYP SVAL TANG TMAS UNIT VEC1 VEC2 VEC3 VEC4 VERS XMIN XMAX YMIN YMAX KeyWords2: BEEP CLOSE CLOSEWINDOW COLOR COPYFILE DELETE DELETECONFIG DELETEFILE DELETEMCO DELETEMFO DELETEOBJECT EDVA END EXPORTBMP EXPORTCAD EXPORTJPG EXPORTWMF FINDFILE FORMAT GDATE GETEXTRADATA GETGLASSDATA GETLSF GETMTF GETPSF GETSYSTEMDATA GETTEXTFILE GETVARDATA GETZERNIKE GLENSNAME SUB GRAPHICS GTEXT GTEXTCENT GTITLE HAMMER IMA IMASHOW IMASUM IMPORT_ED INPUT INSERT INSERTCONFIG INSERTMCO INSERTMFO INSERTOBJECT LABEL LINE LOADCATALOG LOADLENS LOADMERIT LOCKWINDOW NSTR OPEN OPTIMIZE OPTRETURN OUTPUT PARM PAR PARAXIAL PAUSE PIXEL POLDEFINE POLTRACE POP PRINT PRINTFILE PRINTWINDOW PWAV QUICKFOCUS RANDOMIZE RAYTRACE RAYTRACEX READ READNEXT READSTRING RELOADOBJECTS REM REMOVEVARIABLES RENAMEFILE RETURN REWIND SAVELENS SAVEMERIT SAVEWINDOW SCATTER SETAIM SETAIMDATA SETAPODIZATION SETCONFIG SETDETECTOR SETMCOPERAND SETNSCPARAMETER SETNSCPOSITION SETNSCPROPERTY SETOPERAND SETSTDD SETSURFACEPROPERTY SETSYSTEMPROPERTY SETTEXTSIZE SETTITLE SETUNITS SETVAR SETVECSIZE SETVIG SHOWFILE SOLVETYPE SOLVERETURN STOPSURF SURFTYPE SURP SYSP TELECENTRIC TESTPLATEFIT TIMER UNLOCKWINDOW UPDATE VEC1 VEC2 VEC3 VEC4 XDIFFIA ZBFCLR ZBFMULT ZBFPROPERTIES ZBFRESAMPLE ZBFSHOW ZBFSUM ZBFTILT CLOSE DELETE DELETEFILE EXPORTWMF FORMAT GETTEXTFILE GETPSF GETSYSTEMDATA VEC1 VEC2 VEC3 VEC4 GTITLE GLENSNAME GDATE GTEXTCENT GTEXT GRAPHICS IMPORTEXTRADATA INPUT INSERT TIMER KeyWords3: $BUFFER $COAT $COMMENT $DATE $EXTENSIONPATH $FILENAME $FILEPATH $GETSTRING $GLASS $LEFTSTRING $LENSNAME $NOTE $OBJECTPATH $PATHNAME $RIGHTSTRING $STR $TEMPFILENAME $UNITS KeyWords4: FOR NEXT GOTO AND END ELSE IF THEN ENDIF GOSUB LABEL WHI SUB KeyWords5: APMN APMX APXD APYD APTP ATYP AVAL COAT COMMENT CONI CURV FLDX FLDY FWGT FVDX FVDY FVCX FVCY FVAN FTYP GCRS GLAS NUMFIELD NUMWAVE RADI SDIA THIC WAVL WWGT StringBegChar: " StringEndChar: " MultilineStrings: 0 UsePreprocessor: 0 CurrLineHighlighted: 0 ////////////////////////////////////////////////////////////////////////////// // colors // note: first value is foreground, second is background color // and third (optional) represents font attribute: // B - bold // I - italic // U - underline // S - strike out // attributes can be combined: eg. B or BI // as value, it could be used any standard windows color: // clBlack, clMaroon, clGreen, clOlive, clNavy, // clPurple, clTeal, clGray, clSilver, clRed, clLime, // clYellow, clBlue, clFuchsia, clAqua, clLtGray, // clDkGray, clWhite, clScrollBar, clBackground, // clActiveCaption, clInactiveCaption, clMenu, clWindow, // clWindowFrame, clMenuText, clWindowText, clCaptionText, // clActiveBorder, clInactiveBorder, clAppWorkSpace, // clHighlight, clHighlightText, clBtnFace, clBtnShadow, // clGrayText, clBtnText, clInactiveCaptionText, // clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, // clInfoBk // as value, it could be used hex numeric constant too: // $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00 SpaceCol: clWindowText clWindow Keyword1Col: clBlack clWindow B Keyword2Col: clNavy clWindow B Keyword3Col: clRed clNone Keyword4Col: clPurple clWindow B Keyword5Col: clFuchsia clWindow IdentifierCol: clBlack clWindow CommentCol: clGreen clWindow I NumberCol: clBlack clWindow B StringCol: clBlue clWindow SymbolCol: clNone clWindow B PreprocessorCol: clBlue clWindow SelectionCol: clWhite clNavy CurrentLineCol: clBlack clYellow OverrideTxtFgColor: 0 BlockAutoindent: 0 BlockBegStr: BlockEndStr: MatchedBracesCol: clWindowText clWindow