The syntax of a command is broadly OPTIONAL_TIME_TAG STEM ARG1 [ REPEAT1 REPEAT2 ] ARG3 # optional comment
Stems are required to start with a character, and may include alpha numeric characters, hyphen and underscore
Arguments are space delimited
Commands are limited to one per line
Escaping of quote characters is allowed for string values "THEY\"RE"
Multiple sequential whitespace characters have the same meaning as a single space. Similarly consecutive new lines are collapsed. This white space is not stored in sequence.json
Directives is special tokens that start with the @ and different directives provide structure to the sequence
Comments are only allowed on lines by themselves or with comments. They are not allowed on metadata and models lines
Input parameters @INPUT_PARAMETERS are optional, the grammar imposes no restriction on nomenclature beyond that they are valid identifier. The linter requires them to be in numeric order due to a down stream tool behavior, this constraint may be relaxed in a future version.
Locals (@LOCALS directive) have the same rules are parameters.
Initially type information will be specified in the adaptation, later this may be allowed in the sequence.
Mixing sequences, immediate commands, and hardware commands in a single file is allowed in the grammar, but the linter will flag as an error
Sample Sequence, with no qualifier commands are mapped to steps in seq.json
Should the syntax support mixing of sequence command, immediates, and hardwares, the syntax will look like this.
# Anything not preceded by an immediate commands or hardware commands directive is considered a sequence
R3:00:00 STEM_WITH_NO_ARGS
# Stand alone comment
C STEM_2 "Hi" 2 # Inline Comment
...
@IMMEDIATE_COMMANDS
STEM_2 "Hi" 2 # Inline Comment
...
@HARDWARE_COMMANDS
HARDWARE_CMD_1 # inline comment
Extension of seqN.txt grammar
OPTIONAL_TIME_TAG STEM ARG1 [ REPEAT1 REPEAT2 ] ARG3 # optional comment
"THEY\"RE"
@
and different directives provide structure to the sequenceSample Sequence, with no qualifier commands are mapped to steps in seq.json
Sample Requests
Sample Load and Go Sequence, with no qualifier commands are mapped to steps in seq.json
Sample Immediate Command File, the same structure as a hardware commands file. Both mirror sequences, but time tags are omitted.
Sample Hardware Command File, a similar structure as an immediate commands file, but arguments are not allowed.
Should the syntax support mixing of sequence command, immediates, and hardwares, the syntax will look like this.