igor.py 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. """
  2. pygments.lexers.igor
  3. ~~~~~~~~~~~~~~~~~~~~
  4. Lexers for Igor Pro.
  5. :copyright: Copyright 2006-2023 by the Pygments team, see AUTHORS.
  6. :license: BSD, see LICENSE for details.
  7. """
  8. import re
  9. from pygments.lexer import RegexLexer, words
  10. from pygments.token import Text, Comment, Keyword, Name, String, Whitespace
  11. __all__ = ['IgorLexer']
  12. class IgorLexer(RegexLexer):
  13. """
  14. Pygments Lexer for Igor Pro procedure files (.ipf).
  15. See http://www.wavemetrics.com/ and http://www.igorexchange.com/.
  16. .. versionadded:: 2.0
  17. """
  18. name = 'Igor'
  19. aliases = ['igor', 'igorpro']
  20. filenames = ['*.ipf']
  21. mimetypes = ['text/ipf']
  22. flags = re.IGNORECASE | re.MULTILINE
  23. flowControl = (
  24. 'if', 'else', 'elseif', 'endif', 'for', 'endfor', 'strswitch', 'switch',
  25. 'case', 'default', 'endswitch', 'do', 'while', 'try', 'catch', 'endtry',
  26. 'break', 'continue', 'return', 'AbortOnRTE', 'AbortOnValue'
  27. )
  28. types = (
  29. 'variable', 'string', 'constant', 'strconstant', 'NVAR', 'SVAR', 'WAVE',
  30. 'STRUCT', 'dfref', 'funcref', 'char', 'uchar', 'int16', 'uint16', 'int32',
  31. 'uint32', 'int64', 'uint64', 'float', 'double'
  32. )
  33. keywords = (
  34. 'override', 'ThreadSafe', 'MultiThread', 'static', 'Proc',
  35. 'Picture', 'Prompt', 'DoPrompt', 'macro', 'window', 'function', 'end',
  36. 'Structure', 'EndStructure', 'EndMacro', 'Menu', 'SubMenu'
  37. )
  38. operations = (
  39. 'Abort', 'AddFIFOData', 'AddFIFOVectData', 'AddMovieAudio', 'AddMovieFrame',
  40. 'AddWavesToBoxPlot', 'AddWavesToViolinPlot', 'AdoptFiles', 'APMath', 'Append',
  41. 'AppendBoxPlot', 'AppendImage', 'AppendLayoutObject', 'AppendMatrixContour',
  42. 'AppendText', 'AppendToGizmo', 'AppendToGraph', 'AppendToLayout',
  43. 'AppendToTable', 'AppendViolinPlot', 'AppendXYZContour', 'AutoPositionWindow',
  44. 'AxonTelegraphFindServers', 'BackgroundInfo', 'Beep', 'BezierToPolygon',
  45. 'BoundingBall', 'BoxSmooth', 'BrowseURL', 'BuildMenu', 'Button', 'cd', 'Chart',
  46. 'CheckBox', 'CheckDisplayed', 'ChooseColor', 'Close', 'CloseHelp', 'CloseMovie',
  47. 'CloseProc', 'ColorScale', 'ColorTab2Wave', 'Concatenate', 'ControlBar',
  48. 'ControlInfo', 'ControlUpdate', 'ConvertGlobalStringTextEncoding', 'ConvexHull',
  49. 'Convolve', 'CopyDimLabels', 'CopyFile', 'CopyFolder', 'CopyScales', 'Correlate',
  50. 'CreateAliasShortcut', 'CreateBrowser', 'Cross', 'CtrlBackground', 'CtrlFIFO',
  51. 'CtrlNamedBackground', 'Cursor', 'CurveFit', 'CustomControl', 'CWT',
  52. 'DAQmx_AI_SetupReader', 'DAQmx_AO_SetOutputs', 'DAQmx_CTR_CountEdges',
  53. 'DAQmx_CTR_OutputPulse', 'DAQmx_CTR_Period', 'DAQmx_CTR_PulseWidth',
  54. 'DAQmx_DeviceInfo', 'DAQmx_DIO_Config', 'DAQmx_DIO_WriteNewData', 'DAQmx_Scan',
  55. 'DAQmx_WaveformGen', 'Debugger', 'DebuggerOptions', 'DefaultFont',
  56. 'DefaultGuiControls', 'DefaultGuiFont', 'DefaultTextEncoding', 'DefineGuide',
  57. 'DelayUpdate', 'DeleteAnnotations', 'DeleteFile', 'DeleteFolder', 'DeletePoints',
  58. 'Differentiate', 'dir', 'Display', 'DisplayHelpTopic', 'DisplayProcedure',
  59. 'DoAlert', 'DoIgorMenu', 'DoUpdate', 'DoWindow', 'DoXOPIdle', 'DPSS',
  60. 'DrawAction', 'DrawArc', 'DrawBezier', 'DrawLine', 'DrawOval', 'DrawPICT',
  61. 'DrawPoly', 'DrawRect', 'DrawRRect', 'DrawText', 'DrawUserShape', 'DSPDetrend',
  62. 'DSPPeriodogram', 'Duplicate', 'DuplicateDataFolder', 'DWT', 'EdgeStats', 'Edit',
  63. 'ErrorBars', 'EstimatePeakSizes', 'Execute', 'ExecuteScriptText',
  64. 'ExperimentInfo', 'ExperimentModified', 'ExportGizmo', 'Extract',
  65. 'FastGaussTransform', 'FastOp', 'FBinRead', 'FBinWrite', 'FCALL_CallFunction',
  66. 'FCALL_FreeLibrary', 'FCALL_GetFunctionList', 'FCALL_GetParamTypeList',
  67. 'FCALL_LoadLibrary', 'FCALL_Version', 'FFT', 'FGetPos', 'FIFOStatus',
  68. 'FIFO2Wave', 'FilterFIR', 'FilterIIR', 'FindAPeak', 'FindContour',
  69. 'FindDuplicates', 'FindLevel', 'FindLevels', 'FindPeak', 'FindPointsInPoly',
  70. 'FindRoots', 'FindSequence', 'FindValue', 'FMaxFlat', 'FPClustering', 'fprintf',
  71. 'FReadLine', 'FSetPos', 'FStatus', 'FTPCreateDirectory', 'FTPDelete',
  72. 'FTPDownload', 'FTPUpload', 'FuncFit', 'FuncFitMD', 'GBLoadWave', 'GetAxis',
  73. 'GetCamera', 'GetFileFolderInfo', 'GetGizmo', 'GetLastUserMenuInfo',
  74. 'GetMarquee', 'GetMouse', 'GetSelection', 'GetWindow', 'GISCreateVectorLayer',
  75. 'GISGetRasterInfo', 'GISGetRegisteredFileInfo', 'GISGetVectorLayerInfo',
  76. 'GISLoadRasterData', 'GISLoadVectorData', 'GISRasterizeVectorData',
  77. 'GISRegisterFile', 'GISTransformCoords', 'GISUnRegisterFile',
  78. 'GISWriteFieldData', 'GISWriteGeometryData', 'GISWriteRaster',
  79. 'GPIBReadBinaryWave2', 'GPIBReadBinary2', 'GPIBReadWave2', 'GPIBRead2',
  80. 'GPIBWriteBinaryWave2', 'GPIBWriteBinary2', 'GPIBWriteWave2', 'GPIBWrite2',
  81. 'GPIB2', 'GraphNormal', 'GraphWaveDraw', 'GraphWaveEdit', 'Grep', 'GroupBox',
  82. 'Hanning', 'HCluster', 'HDFInfo', 'HDFReadImage', 'HDFReadSDS', 'HDFReadVset',
  83. 'HDF5CloseFile', 'HDF5CloseGroup', 'HDF5Control', 'HDF5CreateFile',
  84. 'HDF5CreateGroup', 'HDF5CreateLink', 'HDF5DimensionScale', 'HDF5Dump',
  85. 'HDF5DumpErrors', 'HDF5FlushFile', 'HDF5ListAttributes', 'HDF5ListGroup',
  86. 'HDF5LoadData', 'HDF5LoadGroup', 'HDF5LoadImage', 'HDF5OpenFile',
  87. 'HDF5OpenGroup', 'HDF5SaveData', 'HDF5SaveGroup', 'HDF5SaveImage',
  88. 'HDF5UnlinkObject', 'HideIgorMenus', 'HideInfo', 'HideProcedures', 'HideTools',
  89. 'HilbertTransform', 'Histogram', 'ICA', 'IFFT', 'ImageAnalyzeParticles',
  90. 'ImageBlend', 'ImageBoundaryToMask', 'ImageComposite', 'ImageEdgeDetection',
  91. 'ImageFileInfo', 'ImageFilter', 'ImageFocus', 'ImageFromXYZ',
  92. 'ImageGenerateROIMask', 'ImageGLCM', 'ImageHistModification', 'ImageHistogram',
  93. 'ImageInterpolate', 'ImageLineProfile', 'ImageLoad', 'ImageMorphology',
  94. 'ImageRegistration', 'ImageRemoveBackground', 'ImageRestore', 'ImageRotate',
  95. 'ImageSave', 'ImageSeedFill', 'ImageSkeleton3d', 'ImageSnake', 'ImageStats',
  96. 'ImageThreshold', 'ImageTransform', 'ImageUnwrapPhase', 'ImageWindow',
  97. 'IndexSort', 'InsertPoints', 'InstantFrequency', 'Integrate', 'IntegrateODE',
  98. 'Integrate2D', 'Interpolate2', 'Interpolate3D', 'Interp3DPath', 'ITCCloseAll2',
  99. 'ITCCloseDevice2', 'ITCConfigAllChannels2', 'ITCConfigChannelReset2',
  100. 'ITCConfigChannelUpload2', 'ITCConfigChannel2', 'ITCFIFOAvailableAll2',
  101. 'ITCFIFOAvailable2', 'ITCGetAllChannelsConfig2', 'ITCGetChannelConfig2',
  102. 'ITCGetCurrentDevice2', 'ITCGetDeviceInfo2', 'ITCGetDevices2',
  103. 'ITCGetErrorString2', 'ITCGetSerialNumber2', 'ITCGetState2', 'ITCGetVersions2',
  104. 'ITCInitialize2', 'ITCOpenDevice2', 'ITCReadADC2', 'ITCReadDigital2',
  105. 'ITCReadTimer2', 'ITCSelectDevice2', 'ITCSetDAC2', 'ITCSetGlobals2',
  106. 'ITCSetModes2', 'ITCSetState2', 'ITCStartAcq2', 'ITCStopAcq2',
  107. 'ITCUpdateFIFOPositionAll2', 'ITCUpdateFIFOPosition2', 'ITCWriteDigital2',
  108. 'JCAMPLoadWave', 'JointHistogram', 'JSONXOP_AddTree', 'JSONXOP_AddValue',
  109. 'JSONXOP_Dump', 'JSONXOP_GetArraySize', 'JSONXOP_GetKeys',
  110. 'JSONXOP_GetMaxArraySize', 'JSONXOP_GetType', 'JSONXOP_GetValue', 'JSONXOP_New',
  111. 'JSONXOP_Parse', 'JSONXOP_Release', 'JSONXOP_Remove', 'JSONXOP_Version',
  112. 'KillBackground', 'KillControl', 'KillDataFolder', 'KillFIFO', 'KillFreeAxis',
  113. 'KillPath', 'KillPICTs', 'KillStrings', 'KillVariables', 'KillWaves',
  114. 'KillWindow', 'KMeans', 'Label', 'Layout', 'LayoutPageAction',
  115. 'LayoutSlideShow', 'Legend', 'LinearFeedbackShiftRegister', 'ListBox',
  116. 'LoadData', 'LoadPackagePreferences', 'LoadPICT', 'LoadWave', 'Loess',
  117. 'LombPeriodogram', 'Make', 'MakeIndex', 'MarkPerfTestTime', 'MatrixBalance',
  118. 'MatrixConvolve', 'MatrixCorr', 'MatrixEigenV', 'MatrixFactor', 'MatrixFilter',
  119. 'MatrixGaussJ', 'MatrixGLM', 'MatrixInverse', 'MatrixLinearSolve',
  120. 'MatrixLinearSolveTD', 'MatrixLLS', 'MatrixLUBkSub', 'MatrixLUD', 'MatrixLUDTD',
  121. 'MatrixMultiply', 'MatrixMultiplyAdd', 'MatrixOP', 'MatrixReverseBalance',
  122. 'MatrixSchur', 'MatrixSolve', 'MatrixSparse', 'MatrixSVBkSub', 'MatrixSVD',
  123. 'MatrixTranspose', 'MCC_FindServers', 'MeasureStyledText',
  124. 'MFR_CheckForNewBricklets', 'MFR_CloseResultFile', 'MFR_CreateOverviewTable',
  125. 'MFR_GetBrickletCount', 'MFR_GetBrickletData', 'MFR_GetBrickletDeployData',
  126. 'MFR_GetBrickletMetaData', 'MFR_GetBrickletRawData', 'MFR_GetReportTemplate',
  127. 'MFR_GetResultFileMetaData', 'MFR_GetResultFileName',
  128. 'MFR_GetVernissageVersion', 'MFR_GetVersion', 'MFR_GetXOPErrorMessage',
  129. 'MFR_OpenResultFile', 'MLLoadWave', 'Modify', 'ModifyBoxPlot', 'ModifyBrowser',
  130. 'ModifyCamera', 'ModifyContour', 'ModifyControl', 'ModifyControlList',
  131. 'ModifyFreeAxis', 'ModifyGizmo', 'ModifyGraph', 'ModifyImage', 'ModifyLayout',
  132. 'ModifyPanel', 'ModifyProcedure', 'ModifyTable', 'ModifyViolinPlot',
  133. 'ModifyWaterfall', 'MoveDataFolder', 'MoveFile', 'MoveFolder', 'MoveString',
  134. 'MoveSubwindow', 'MoveVariable', 'MoveWave', 'MoveWindow', 'MultiTaperPSD',
  135. 'MultiThreadingControl', 'NC_CloseFile', 'NC_DumpErrors', 'NC_Inquire',
  136. 'NC_ListAttributes', 'NC_ListObjects', 'NC_LoadData', 'NC_OpenFile',
  137. 'NeuralNetworkRun', 'NeuralNetworkTrain', 'NewCamera', 'NewDataFolder',
  138. 'NewFIFO', 'NewFIFOChan', 'NewFreeAxis', 'NewGizmo', 'NewImage', 'NewLayout',
  139. 'NewMovie', 'NewNotebook', 'NewPanel', 'NewPath', 'NewWaterfall', 'NILoadWave',
  140. 'NI4882', 'Note', 'Notebook', 'NotebookAction', 'Open', 'OpenHelp',
  141. 'OpenNotebook', 'Optimize', 'ParseOperationTemplate', 'PathInfo',
  142. 'PauseForUser', 'PauseUpdate', 'PCA', 'PlayMovie', 'PlayMovieAction',
  143. 'PlaySound', 'PolygonOp', 'PopupContextualMenu', 'PopupMenu', 'Preferences',
  144. 'PrimeFactors', 'Print', 'printf', 'PrintGraphs', 'PrintLayout',
  145. 'PrintNotebook', 'PrintSettings', 'PrintTable', 'Project', 'PulseStats',
  146. 'PutScrapText', 'pwd', 'Quit', 'RatioFromNumber', 'Redimension', 'Remez',
  147. 'Remove', 'RemoveContour', 'RemoveFromGizmo', 'RemoveFromGraph',
  148. 'RemoveFromLayout', 'RemoveFromTable', 'RemoveImage', 'RemoveLayoutObjects',
  149. 'RemovePath', 'Rename', 'RenameDataFolder', 'RenamePath', 'RenamePICT',
  150. 'RenameWindow', 'ReorderImages', 'ReorderTraces', 'ReplaceText', 'ReplaceWave',
  151. 'Resample', 'ResumeUpdate', 'Reverse', 'Rotate', 'Save', 'SaveData',
  152. 'SaveExperiment', 'SaveGizmoCopy', 'SaveGraphCopy', 'SaveNotebook',
  153. 'SavePackagePreferences', 'SavePICT', 'SaveTableCopy', 'SetActiveSubwindow',
  154. 'SetAxis', 'SetBackground', 'SetDashPattern', 'SetDataFolder', 'SetDimLabel',
  155. 'SetDrawEnv', 'SetDrawLayer', 'SetFileFolderInfo', 'SetFormula',
  156. 'SetIdlePeriod', 'SetIgorHook', 'SetIgorMenuMode', 'SetIgorOption',
  157. 'SetMarquee', 'SetProcessSleep', 'SetRandomSeed', 'SetScale', 'SetVariable',
  158. 'SetWaveLock', 'SetWaveTextEncoding', 'SetWindow', 'ShowIgorMenus', 'ShowInfo',
  159. 'ShowTools', 'Silent', 'Sleep', 'Slider', 'Smooth', 'SmoothCustom', 'Sort',
  160. 'SortColumns', 'SoundInRecord', 'SoundInSet', 'SoundInStartChart',
  161. 'SoundInStatus', 'SoundInStopChart', 'SoundLoadWave', 'SoundSaveWave',
  162. 'SphericalInterpolate', 'SphericalTriangulate', 'SplitString', 'SplitWave',
  163. 'sprintf', 'SQLHighLevelOp', 'sscanf', 'Stack', 'StackWindows',
  164. 'StatsAngularDistanceTest', 'StatsANOVA1Test', 'StatsANOVA2NRTest',
  165. 'StatsANOVA2RMTest', 'StatsANOVA2Test', 'StatsChiTest',
  166. 'StatsCircularCorrelationTest', 'StatsCircularMeans', 'StatsCircularMoments',
  167. 'StatsCircularTwoSampleTest', 'StatsCochranTest', 'StatsContingencyTable',
  168. 'StatsDIPTest', 'StatsDunnettTest', 'StatsFriedmanTest', 'StatsFTest',
  169. 'StatsHodgesAjneTest', 'StatsJBTest', 'StatsKDE', 'StatsKendallTauTest',
  170. 'StatsKSTest', 'StatsKWTest', 'StatsLinearCorrelationTest',
  171. 'StatsLinearRegression', 'StatsMultiCorrelationTest', 'StatsNPMCTest',
  172. 'StatsNPNominalSRTest', 'StatsQuantiles', 'StatsRankCorrelationTest',
  173. 'StatsResample', 'StatsSample', 'StatsScheffeTest', 'StatsShapiroWilkTest',
  174. 'StatsSignTest', 'StatsSRTest', 'StatsTTest', 'StatsTukeyTest',
  175. 'StatsVariancesTest', 'StatsWatsonUSquaredTest', 'StatsWatsonWilliamsTest',
  176. 'StatsWheelerWatsonTest', 'StatsWilcoxonRankTest', 'StatsWRCorrelationTest',
  177. 'STFT', 'StructFill', 'StructGet', 'StructPut', 'SumDimension', 'SumSeries',
  178. 'TabControl', 'Tag', 'TDMLoadData', 'TDMSaveData', 'TextBox', 'TextHistogram',
  179. 'Text2Bezier', 'ThreadGroupPutDF', 'ThreadStart', 'TickWavesFromAxis', 'Tile',
  180. 'TileWindows', 'TitleBox', 'ToCommandLine', 'ToolsGrid', 'Triangulate3d',
  181. 'TUFXOP_AcquireLock', 'TUFXOP_Clear', 'TUFXOP_GetStorage', 'TUFXOP_Init',
  182. 'TUFXOP_ReleaseLock', 'TUFXOP_RunningInMainThread', 'TUFXOP_Version', 'Unwrap',
  183. 'UnzipFile', 'URLRequest', 'ValDisplay', 'VDTClosePort2', 'VDTGetPortList2',
  184. 'VDTGetStatus2', 'VDTOpenPort2', 'VDTOperationsPort2', 'VDTReadBinaryWave2',
  185. 'VDTReadBinary2', 'VDTReadHexWave2', 'VDTReadHex2', 'VDTReadWave2', 'VDTRead2',
  186. 'VDTTerminalPort2', 'VDTWriteBinaryWave2', 'VDTWriteBinary2',
  187. 'VDTWriteHexWave2', 'VDTWriteHex2', 'VDTWriteWave2', 'VDTWrite2', 'VDT2',
  188. 'VISAControl', 'VISARead', 'VISAReadBinary', 'VISAReadBinaryWave',
  189. 'VISAReadWave', 'VISAWrite', 'VISAWriteBinary', 'VISAWriteBinaryWave',
  190. 'VISAWriteWave', 'WaveMeanStdv', 'WaveStats', 'WaveTracking', 'WaveTransform',
  191. 'wfprintf', 'WignerTransform', 'WindowFunction', 'XLLoadWave'
  192. )
  193. functions = (
  194. 'abs', 'acos', 'acosh', 'AddListItem', 'AiryA', 'AiryAD', 'AiryB', 'AiryBD',
  195. 'alog', 'AnnotationInfo', 'AnnotationList', 'area', 'areaXY', 'asin', 'asinh',
  196. 'atan', 'atanh', 'atan2', 'AxisInfo', 'AxisLabel', 'AxisList',
  197. 'AxisValFromPixel', 'AxonTelegraphAGetDataNum', 'AxonTelegraphAGetDataString',
  198. 'AxonTelegraphAGetDataStruct', 'AxonTelegraphGetDataNum',
  199. 'AxonTelegraphGetDataString', 'AxonTelegraphGetDataStruct',
  200. 'AxonTelegraphGetTimeoutMs', 'AxonTelegraphSetTimeoutMs', 'Base64Decode',
  201. 'Base64Encode', 'Besseli', 'Besselj', 'Besselk', 'Bessely', 'beta', 'betai',
  202. 'BinarySearch', 'BinarySearchInterp', 'binomial', 'binomialln', 'binomialNoise',
  203. 'cabs', 'CaptureHistory', 'CaptureHistoryStart', 'ceil', 'centerOfMass',
  204. 'centerOfMassXY', 'cequal', 'char2num', 'chebyshev', 'chebyshevU', 'CheckName',
  205. 'ChildWindowList', 'CleanupName', 'cmplx', 'cmpstr', 'conj', 'ContourInfo',
  206. 'ContourNameList', 'ContourNameToWaveRef', 'ContourZ', 'ControlNameList',
  207. 'ConvertTextEncoding', 'cos', 'cosh', 'cosIntegral', 'cot', 'coth',
  208. 'CountObjects', 'CountObjectsDFR', 'cpowi', 'CreateDataObjectName',
  209. 'CreationDate', 'csc', 'csch', 'CsrInfo', 'CsrWave', 'CsrWaveRef', 'CsrXWave',
  210. 'CsrXWaveRef', 'CTabList', 'DataFolderDir', 'DataFolderExists',
  211. 'DataFolderList', 'DataFolderRefChanges', 'DataFolderRefsEqual',
  212. 'DataFolderRefStatus', 'date', 'datetime', 'DateToJulian', 'date2secs',
  213. 'Dawson', 'defined', 'deltax', 'digamma', 'dilogarithm', 'DimDelta',
  214. 'DimOffset', 'DimSize', 'ei', 'ellipticE', 'ellipticK', 'enoise', 'equalWaves',
  215. 'erf', 'erfc', 'erfcw', 'erfcx', 'exists', 'exp', 'expInt', 'expIntegralE1',
  216. 'expNoise', 'factorial', 'Faddeeva', 'fakedata', 'faverage', 'faverageXY',
  217. 'fDAQmx_AI_ChannelConfigs', 'fDAQmx_AI_GetReader', 'fDAQmx_AO_UpdateOutputs',
  218. 'fDAQmx_ConnectTerminals', 'fDAQmx_CTR_Finished', 'fDAQmx_CTR_IsFinished',
  219. 'fDAQmx_CTR_IsPulseFinished', 'fDAQmx_CTR_ReadCounter',
  220. 'fDAQmx_CTR_ReadWithOptions', 'fDAQmx_CTR_SetPulseFrequency',
  221. 'fDAQmx_CTR_Start', 'fDAQmx_DeviceNames', 'fDAQmx_DIO_Finished',
  222. 'fDAQmx_DIO_PortWidth', 'fDAQmx_DIO_Read', 'fDAQmx_DIO_Write',
  223. 'fDAQmx_DisconnectTerminals', 'fDAQmx_ErrorString', 'fDAQmx_ExternalCalDate',
  224. 'fDAQmx_NumAnalogInputs', 'fDAQmx_NumAnalogOutputs', 'fDAQmx_NumCounters',
  225. 'fDAQmx_NumDIOPorts', 'fDAQmx_ReadChan', 'fDAQmx_ReadNamedChan',
  226. 'fDAQmx_ResetDevice', 'fDAQmx_ScanGetAvailable', 'fDAQmx_ScanGetNextIndex',
  227. 'fDAQmx_ScanStart', 'fDAQmx_ScanStop', 'fDAQmx_ScanWait',
  228. 'fDAQmx_ScanWaitWithTimeout', 'fDAQmx_SelfCalDate', 'fDAQmx_SelfCalibration',
  229. 'fDAQmx_WaveformStart', 'fDAQmx_WaveformStop', 'fDAQmx_WF_IsFinished',
  230. 'fDAQmx_WF_WaitUntilFinished', 'fDAQmx_WriteChan', 'FetchURL', 'FindDimLabel',
  231. 'FindListItem', 'floor', 'FontList', 'FontSizeHeight', 'FontSizeStringWidth',
  232. 'FresnelCos', 'FresnelSin', 'FuncRefInfo', 'FunctionInfo', 'FunctionList',
  233. 'FunctionPath', 'gamma', 'gammaEuler', 'gammaInc', 'gammaNoise', 'gammln',
  234. 'gammp', 'gammq', 'Gauss', 'Gauss1D', 'Gauss2D', 'gcd', 'GeometricMean',
  235. 'GetBrowserLine', 'GetBrowserSelection', 'GetDataFolder', 'GetDataFolderDFR',
  236. 'GetDefaultFont', 'GetDefaultFontSize', 'GetDefaultFontStyle', 'GetDimLabel',
  237. 'GetEnvironmentVariable', 'GetErrMessage', 'GetFormula',
  238. 'GetIndependentModuleName', 'GetIndexedObjName', 'GetIndexedObjNameDFR',
  239. 'GetKeyState', 'GetRTErrMessage', 'GetRTError', 'GetRTLocation', 'GetRTLocInfo',
  240. 'GetRTStackInfo', 'GetScrapText', 'GetUserData', 'GetWavesDataFolder',
  241. 'GetWavesDataFolderDFR', 'GetWindowBrowserSelection', 'GISGetAllFileFormats',
  242. 'GISSRefsAreEqual', 'GizmoInfo', 'GizmoScale', 'gnoise', 'GrepList',
  243. 'GrepString', 'GuideInfo', 'GuideNameList', 'Hash', 'hcsr', 'HDF5AttributeInfo',
  244. 'HDF5DatasetInfo', 'HDF5LibraryInfo', 'HDF5LinkInfo', 'HDF5TypeInfo', 'hermite',
  245. 'hermiteGauss', 'HyperGNoise', 'HyperGPFQ', 'HyperG0F1', 'HyperG1F1',
  246. 'HyperG2F1', 'i', 'IgorInfo', 'IgorVersion', 'imag', 'ImageInfo',
  247. 'ImageNameList', 'ImageNameToWaveRef', 'IndependentModuleList', 'IndexedDir',
  248. 'IndexedFile', 'IndexToScale', 'Inf', 'Integrate1D', 'interp', 'Interp2D',
  249. 'Interp3D', 'inverseERF', 'inverseERFC', 'ItemsInList', 'JacobiCn', 'JacobiSn',
  250. 'JulianToDate', 'Laguerre', 'LaguerreA', 'LaguerreGauss', 'LambertW',
  251. 'LayoutInfo', 'leftx', 'LegendreA', 'limit', 'ListMatch', 'ListToTextWave',
  252. 'ListToWaveRefWave', 'ln', 'log', 'logNormalNoise', 'lorentzianNoise',
  253. 'LowerStr', 'MacroInfo', 'MacroList', 'MacroPath', 'magsqr', 'MandelbrotPoint',
  254. 'MarcumQ', 'MatrixCondition', 'MatrixDet', 'MatrixDot', 'MatrixRank',
  255. 'MatrixTrace', 'max', 'MCC_AutoBridgeBal', 'MCC_AutoFastComp',
  256. 'MCC_AutoPipetteOffset', 'MCC_AutoSlowComp', 'MCC_AutoWholeCellComp',
  257. 'MCC_GetBridgeBalEnable', 'MCC_GetBridgeBalResist', 'MCC_GetFastCompCap',
  258. 'MCC_GetFastCompTau', 'MCC_GetHolding', 'MCC_GetHoldingEnable', 'MCC_GetMode',
  259. 'MCC_GetNeutralizationCap', 'MCC_GetNeutralizationEnable',
  260. 'MCC_GetOscKillerEnable', 'MCC_GetPipetteOffset', 'MCC_GetPrimarySignalGain',
  261. 'MCC_GetPrimarySignalHPF', 'MCC_GetPrimarySignalLPF', 'MCC_GetRsCompBandwidth',
  262. 'MCC_GetRsCompCorrection', 'MCC_GetRsCompEnable', 'MCC_GetRsCompPrediction',
  263. 'MCC_GetSecondarySignalGain', 'MCC_GetSecondarySignalLPF', 'MCC_GetSlowCompCap',
  264. 'MCC_GetSlowCompTau', 'MCC_GetSlowCompTauX20Enable',
  265. 'MCC_GetSlowCurrentInjEnable', 'MCC_GetSlowCurrentInjLevel',
  266. 'MCC_GetSlowCurrentInjSetlTime', 'MCC_GetWholeCellCompCap',
  267. 'MCC_GetWholeCellCompEnable', 'MCC_GetWholeCellCompResist',
  268. 'MCC_SelectMultiClamp700B', 'MCC_SetBridgeBalEnable', 'MCC_SetBridgeBalResist',
  269. 'MCC_SetFastCompCap', 'MCC_SetFastCompTau', 'MCC_SetHolding',
  270. 'MCC_SetHoldingEnable', 'MCC_SetMode', 'MCC_SetNeutralizationCap',
  271. 'MCC_SetNeutralizationEnable', 'MCC_SetOscKillerEnable', 'MCC_SetPipetteOffset',
  272. 'MCC_SetPrimarySignalGain', 'MCC_SetPrimarySignalHPF', 'MCC_SetPrimarySignalLPF',
  273. 'MCC_SetRsCompBandwidth', 'MCC_SetRsCompCorrection', 'MCC_SetRsCompEnable',
  274. 'MCC_SetRsCompPrediction', 'MCC_SetSecondarySignalGain',
  275. 'MCC_SetSecondarySignalLPF', 'MCC_SetSlowCompCap', 'MCC_SetSlowCompTau',
  276. 'MCC_SetSlowCompTauX20Enable', 'MCC_SetSlowCurrentInjEnable',
  277. 'MCC_SetSlowCurrentInjLevel', 'MCC_SetSlowCurrentInjSetlTime',
  278. 'MCC_SetTimeoutMs', 'MCC_SetWholeCellCompCap', 'MCC_SetWholeCellCompEnable',
  279. 'MCC_SetWholeCellCompResist', 'mean', 'median', 'min', 'mod', 'ModDate',
  280. 'MPFXEMGPeak', 'MPFXExpConvExpPeak', 'MPFXGaussPeak', 'MPFXLorentzianPeak',
  281. 'MPFXVoigtPeak', 'NameOfWave', 'NaN', 'NewFreeDataFolder', 'NewFreeWave', 'norm',
  282. 'NormalizeUnicode', 'note', 'NumberByKey', 'numpnts', 'numtype',
  283. 'NumVarOrDefault', 'num2char', 'num2istr', 'num2str', 'NVAR_Exists',
  284. 'OperationList', 'PadString', 'PanelResolution', 'ParamIsDefault',
  285. 'ParseFilePath', 'PathList', 'pcsr', 'Pi', 'PICTInfo', 'PICTList',
  286. 'PixelFromAxisVal', 'pnt2x', 'poissonNoise', 'poly', 'PolygonArea', 'poly2D',
  287. 'PossiblyQuoteName', 'ProcedureText', 'ProcedureVersion', 'p2rect', 'qcsr',
  288. 'real', 'RemoveByKey', 'RemoveEnding', 'RemoveFromList', 'RemoveListItem',
  289. 'ReplaceNumberByKey', 'ReplaceString', 'ReplaceStringByKey', 'ReplicateString',
  290. 'rightx', 'round', 'r2polar', 'sawtooth', 'scaleToIndex', 'ScreenResolution',
  291. 'sec', 'sech', 'Secs2Date', 'Secs2Time', 'SelectNumber', 'SelectString',
  292. 'SetEnvironmentVariable', 'sign', 'sin', 'sinc', 'sinh', 'sinIntegral',
  293. 'SortList', 'SpecialCharacterInfo', 'SpecialCharacterList', 'SpecialDirPath',
  294. 'SphericalBessJ', 'SphericalBessJD', 'SphericalBessY', 'SphericalBessYD',
  295. 'SphericalHarmonics', 'SQLAllocHandle', 'SQLAllocStmt',
  296. 'SQLBinaryWavesToTextWave', 'SQLBindCol', 'SQLBindParameter', 'SQLBrowseConnect',
  297. 'SQLBulkOperations', 'SQLCancel', 'SQLCloseCursor', 'SQLColAttributeNum',
  298. 'SQLColAttributeStr', 'SQLColumnPrivileges', 'SQLColumns', 'SQLConnect',
  299. 'SQLDataSources', 'SQLDescribeCol', 'SQLDescribeParam', 'SQLDisconnect',
  300. 'SQLDriverConnect', 'SQLDrivers', 'SQLEndTran', 'SQLError', 'SQLExecDirect',
  301. 'SQLExecute', 'SQLFetch', 'SQLFetchScroll', 'SQLForeignKeys', 'SQLFreeConnect',
  302. 'SQLFreeEnv', 'SQLFreeHandle', 'SQLFreeStmt', 'SQLGetConnectAttrNum',
  303. 'SQLGetConnectAttrStr', 'SQLGetCursorName', 'SQLGetDataNum', 'SQLGetDataStr',
  304. 'SQLGetDescFieldNum', 'SQLGetDescFieldStr', 'SQLGetDescRec',
  305. 'SQLGetDiagFieldNum', 'SQLGetDiagFieldStr', 'SQLGetDiagRec', 'SQLGetEnvAttrNum',
  306. 'SQLGetEnvAttrStr', 'SQLGetFunctions', 'SQLGetInfoNum', 'SQLGetInfoStr',
  307. 'SQLGetStmtAttrNum', 'SQLGetStmtAttrStr', 'SQLGetTypeInfo', 'SQLMoreResults',
  308. 'SQLNativeSql', 'SQLNumParams', 'SQLNumResultCols', 'SQLNumResultRowsIfKnown',
  309. 'SQLNumRowsFetched', 'SQLParamData', 'SQLPrepare', 'SQLPrimaryKeys',
  310. 'SQLProcedureColumns', 'SQLProcedures', 'SQLPutData', 'SQLReinitialize',
  311. 'SQLRowCount', 'SQLSetConnectAttrNum', 'SQLSetConnectAttrStr',
  312. 'SQLSetCursorName', 'SQLSetDescFieldNum', 'SQLSetDescFieldStr', 'SQLSetDescRec',
  313. 'SQLSetEnvAttrNum', 'SQLSetEnvAttrStr', 'SQLSetPos', 'SQLSetStmtAttrNum',
  314. 'SQLSetStmtAttrStr', 'SQLSpecialColumns', 'SQLStatistics', 'SQLTablePrivileges',
  315. 'SQLTables', 'SQLTextWaveToBinaryWaves', 'SQLTextWaveTo2DBinaryWave',
  316. 'SQLUpdateBoundValues', 'SQLXOPCheckState', 'SQL2DBinaryWaveToTextWave', 'sqrt',
  317. 'StartMSTimer', 'StatsBetaCDF', 'StatsBetaPDF', 'StatsBinomialCDF',
  318. 'StatsBinomialPDF', 'StatsCauchyCDF', 'StatsCauchyPDF', 'StatsChiCDF',
  319. 'StatsChiPDF', 'StatsCMSSDCDF', 'StatsCorrelation', 'StatsDExpCDF',
  320. 'StatsDExpPDF', 'StatsErlangCDF', 'StatsErlangPDF', 'StatsErrorPDF',
  321. 'StatsEValueCDF', 'StatsEValuePDF', 'StatsExpCDF', 'StatsExpPDF', 'StatsFCDF',
  322. 'StatsFPDF', 'StatsFriedmanCDF', 'StatsGammaCDF', 'StatsGammaPDF',
  323. 'StatsGeometricCDF', 'StatsGeometricPDF', 'StatsGEVCDF', 'StatsGEVPDF',
  324. 'StatsHyperGCDF', 'StatsHyperGPDF', 'StatsInvBetaCDF', 'StatsInvBinomialCDF',
  325. 'StatsInvCauchyCDF', 'StatsInvChiCDF', 'StatsInvCMSSDCDF', 'StatsInvDExpCDF',
  326. 'StatsInvEValueCDF', 'StatsInvExpCDF', 'StatsInvFCDF', 'StatsInvFriedmanCDF',
  327. 'StatsInvGammaCDF', 'StatsInvGeometricCDF', 'StatsInvKuiperCDF',
  328. 'StatsInvLogisticCDF', 'StatsInvLogNormalCDF', 'StatsInvMaxwellCDF',
  329. 'StatsInvMooreCDF', 'StatsInvNBinomialCDF', 'StatsInvNCChiCDF', 'StatsInvNCFCDF',
  330. 'StatsInvNormalCDF', 'StatsInvParetoCDF', 'StatsInvPoissonCDF',
  331. 'StatsInvPowerCDF', 'StatsInvQCDF', 'StatsInvQpCDF', 'StatsInvRayleighCDF',
  332. 'StatsInvRectangularCDF', 'StatsInvSpearmanCDF', 'StatsInvStudentCDF',
  333. 'StatsInvTopDownCDF', 'StatsInvTriangularCDF', 'StatsInvUsquaredCDF',
  334. 'StatsInvVonMisesCDF', 'StatsInvWeibullCDF', 'StatsKuiperCDF',
  335. 'StatsLogisticCDF', 'StatsLogisticPDF', 'StatsLogNormalCDF', 'StatsLogNormalPDF',
  336. 'StatsMaxwellCDF', 'StatsMaxwellPDF', 'StatsMedian', 'StatsMooreCDF',
  337. 'StatsNBinomialCDF', 'StatsNBinomialPDF', 'StatsNCChiCDF', 'StatsNCChiPDF',
  338. 'StatsNCFCDF', 'StatsNCFPDF', 'StatsNCTCDF', 'StatsNCTPDF', 'StatsNormalCDF',
  339. 'StatsNormalPDF', 'StatsParetoCDF', 'StatsParetoPDF', 'StatsPermute',
  340. 'StatsPoissonCDF', 'StatsPoissonPDF', 'StatsPowerCDF', 'StatsPowerNoise',
  341. 'StatsPowerPDF', 'StatsQCDF', 'StatsQpCDF', 'StatsRayleighCDF',
  342. 'StatsRayleighPDF', 'StatsRectangularCDF', 'StatsRectangularPDF', 'StatsRunsCDF',
  343. 'StatsSpearmanRhoCDF', 'StatsStudentCDF', 'StatsStudentPDF', 'StatsTopDownCDF',
  344. 'StatsTriangularCDF', 'StatsTriangularPDF', 'StatsTrimmedMean',
  345. 'StatsUSquaredCDF', 'StatsVonMisesCDF', 'StatsVonMisesNoise', 'StatsVonMisesPDF',
  346. 'StatsWaldCDF', 'StatsWaldPDF', 'StatsWeibullCDF', 'StatsWeibullPDF',
  347. 'StopMSTimer', 'StringByKey', 'stringCRC', 'StringFromList', 'StringList',
  348. 'stringmatch', 'StringToUnsignedByteWave', 'strlen', 'strsearch',
  349. 'StrVarOrDefault', 'str2num', 'StudentA', 'StudentT', 'sum', 'SVAR_Exists',
  350. 'TableInfo', 'TagVal', 'TagWaveRef', 'tan', 'tanh', 'TDMAddChannel',
  351. 'TDMAddGroup', 'TDMAppendDataValues', 'TDMAppendDataValuesTime',
  352. 'TDMChannelPropertyExists', 'TDMCloseChannel', 'TDMCloseFile', 'TDMCloseGroup',
  353. 'TDMCreateChannelProperty', 'TDMCreateFile', 'TDMCreateFileProperty',
  354. 'TDMCreateGroupProperty', 'TDMFilePropertyExists', 'TDMGetChannelPropertyNames',
  355. 'TDMGetChannelPropertyNum', 'TDMGetChannelPropertyStr',
  356. 'TDMGetChannelPropertyTime', 'TDMGetChannelPropertyType', 'TDMGetChannels',
  357. 'TDMGetChannelStringPropertyLen', 'TDMGetDataType', 'TDMGetDataValues',
  358. 'TDMGetDataValuesTime', 'TDMGetFilePropertyNames', 'TDMGetFilePropertyNum',
  359. 'TDMGetFilePropertyStr', 'TDMGetFilePropertyTime', 'TDMGetFilePropertyType',
  360. 'TDMGetFileStringPropertyLen', 'TDMGetGroupPropertyNames',
  361. 'TDMGetGroupPropertyNum', 'TDMGetGroupPropertyStr', 'TDMGetGroupPropertyTime',
  362. 'TDMGetGroupPropertyType', 'TDMGetGroups', 'TDMGetGroupStringPropertyLen',
  363. 'TDMGetLibraryErrorDescription', 'TDMGetNumChannelProperties',
  364. 'TDMGetNumChannels', 'TDMGetNumDataValues', 'TDMGetNumFileProperties',
  365. 'TDMGetNumGroupProperties', 'TDMGetNumGroups', 'TDMGroupPropertyExists',
  366. 'TDMOpenFile', 'TDMOpenFileEx', 'TDMRemoveChannel', 'TDMRemoveGroup',
  367. 'TDMReplaceDataValues', 'TDMReplaceDataValuesTime', 'TDMSaveFile',
  368. 'TDMSetChannelPropertyNum', 'TDMSetChannelPropertyStr',
  369. 'TDMSetChannelPropertyTime', 'TDMSetDataValues', 'TDMSetDataValuesTime',
  370. 'TDMSetFilePropertyNum', 'TDMSetFilePropertyStr', 'TDMSetFilePropertyTime',
  371. 'TDMSetGroupPropertyNum', 'TDMSetGroupPropertyStr', 'TDMSetGroupPropertyTime',
  372. 'TextEncodingCode', 'TextEncodingName', 'TextFile', 'ThreadGroupCreate',
  373. 'ThreadGroupGetDF', 'ThreadGroupGetDFR', 'ThreadGroupRelease', 'ThreadGroupWait',
  374. 'ThreadProcessorCount', 'ThreadReturnValue', 'ticks', 'time', 'TraceFromPixel',
  375. 'TraceInfo', 'TraceNameList', 'TraceNameToWaveRef', 'TrimString', 'trunc',
  376. 'UniqueName', 'UnPadString', 'UnsetEnvironmentVariable', 'UpperStr', 'URLDecode',
  377. 'URLEncode', 'VariableList', 'Variance', 'vcsr', 'viAssertIntrSignal',
  378. 'viAssertTrigger', 'viAssertUtilSignal', 'viClear', 'viClose', 'viDisableEvent',
  379. 'viDiscardEvents', 'viEnableEvent', 'viFindNext', 'viFindRsrc', 'viGetAttribute',
  380. 'viGetAttributeString', 'viGpibCommand', 'viGpibControlATN', 'viGpibControlREN',
  381. 'viGpibPassControl', 'viGpibSendIFC', 'viIn8', 'viIn16', 'viIn32', 'viLock',
  382. 'viMapAddress', 'viMapTrigger', 'viMemAlloc', 'viMemFree', 'viMoveIn8',
  383. 'viMoveIn16', 'viMoveIn32', 'viMoveOut8', 'viMoveOut16', 'viMoveOut32', 'viOpen',
  384. 'viOpenDefaultRM', 'viOut8', 'viOut16', 'viOut32', 'viPeek8', 'viPeek16',
  385. 'viPeek32', 'viPoke8', 'viPoke16', 'viPoke32', 'viRead', 'viReadSTB',
  386. 'viSetAttribute', 'viSetAttributeString', 'viStatusDesc', 'viTerminate',
  387. 'viUnlock', 'viUnmapAddress', 'viUnmapTrigger', 'viUsbControlIn',
  388. 'viUsbControlOut', 'viVxiCommandQuery', 'viWaitOnEvent', 'viWrite', 'VoigtFunc',
  389. 'VoigtPeak', 'WaveCRC', 'WaveDataToString', 'WaveDims', 'WaveExists', 'WaveHash',
  390. 'WaveInfo', 'WaveList', 'WaveMax', 'WaveMin', 'WaveMinAndMax', 'WaveModCount',
  391. 'WaveName', 'WaveRefIndexed', 'WaveRefIndexedDFR', 'WaveRefsEqual',
  392. 'WaveRefWaveToList', 'WaveTextEncoding', 'WaveType', 'WaveUnits',
  393. 'WhichListItem', 'WinList', 'WinName', 'WinRecreation', 'WinType', 'wnoise',
  394. 'xcsr', 'XWaveName', 'XWaveRefFromTrace', 'x2pnt', 'zcsr', 'ZernikeR',
  395. 'zeromq_client_connect', 'zeromq_client_recv', 'zeromq_client_send',
  396. 'zeromq_handler_start', 'zeromq_handler_stop', 'zeromq_pub_bind',
  397. 'zeromq_pub_send', 'zeromq_server_bind', 'zeromq_server_recv',
  398. 'zeromq_server_send', 'zeromq_set', 'zeromq_set_logging_template', 'zeromq_stop',
  399. 'zeromq_sub_add_filter', 'zeromq_sub_connect', 'zeromq_sub_recv',
  400. 'zeromq_sub_remove_filter', 'zeromq_test_callfunction',
  401. 'zeromq_test_serializeWave', 'zeta'
  402. )
  403. tokens = {
  404. 'root': [
  405. (r'//.*$', Comment.Single),
  406. (r'"([^"\\]|\\.)*"', String),
  407. # Flow Control.
  408. (words(flowControl, prefix=r'\b', suffix=r'\b'), Keyword),
  409. # Types.
  410. (words(types, prefix=r'\b', suffix=r'\b'), Keyword.Type),
  411. # Keywords.
  412. (words(keywords, prefix=r'\b', suffix=r'\b'), Keyword.Reserved),
  413. # Built-in operations.
  414. (words(operations, prefix=r'\b', suffix=r'\b'), Name.Class),
  415. # Built-in functions.
  416. (words(functions, prefix=r'\b', suffix=r'\b'), Name.Function),
  417. # Compiler directives.
  418. (r'^#(include|pragma|define|undef|ifdef|ifndef|if|elif|else|endif)',
  419. Name.Decorator),
  420. (r'\s+', Whitespace),
  421. (r'[^a-z"/]+$', Text),
  422. (r'.', Text),
  423. ],
  424. }