About SCPI parser

SCPI Parser library aims to provide parsing ability of SCPI commands on instrument side. All commands are defined by its patterns eg: "STATus:QUEStionable:EVENt?".

Source codes are published with open source Simplified BSD license.

SCPI parser library is based on these standards

SCPI version compliance

SCPI version v1999.0

Supported command patterns

Feature Pattern example Related API
Short and long form MEASure means MEAS or MEASURE command SCPI_Match()
Common command *CLS  
Compound command CONFigure:VOLTage  
Query command MEASure:VOLTage?, *IDN?  
Optional keywords MEASure:VOLTage[:DC]?  
Numeric keyword suffix
Multiple identical capabilities
OUTput#:FREQunecy SCPI_CommandNumbers()

Supported parameter types

Type Example Related API
Decimal 10, 10.5 SCPI_ParamDouble(), SCPI_ParamToDouble()
Decimal with suffix -5.5 V, 1.5 KOHM SCPI_ParamNumber()
Hexadecimal #HFF SCPI_ParamUInt32(), SCPI_ParamToUInt32()
Octal #Q77 SCPI_ParamUInt32(), SCPI_ParamToUInt32()
Binary #B11 SCPI_ParamUInt32(), SCPI_ParamToUInt32()
String "text", 'text' SCPI_ParamCopyText()
Arbitrary block #12AB SCPI_ParamArbitraryBlock()
Program expression (1) SCPI_Parameter(), SCPI_ParamCharacters()
Numeric list (1,2:50,80) SCPI_ExprNumericListEntry()
Channel list (@1!2:3!4,5!6) SCPI_ExprChannelListEntry()
Character data MINimum, DEFault, INFinity SCPI_ParamChoice(), SCPI_ParamNumber()