2.10 VFR General Token Definition
2.10.1 GUID Definition
Hex8 ::=
"0x"["0"-"9""A"-"F""a"-"f"]{1,8}
Hex4 ::=
"0x"["0"-"9""A"-"F""a"-"f"]{1,4}
Hex2 ::=
"0x"["0"-"9""A"-"F""a"-"f"]{1,2}
guidSubDefinition ::=
Hex2 "," Hex2 "," Hex2 "," Hex2 ","
Hex2 "," Hex2 "," Hex2 "," Hex2
guidDefinition ::=
"{"
Hex8 "," Hex4 "," Hex4 ","
(
"{" guidSubDefinition "}"
| guidSubDefinition
)
"}"
BEHAVIORS AND RESTRICTIONS
In practice, the VFR only supports GUIDs in a C-style language structure. It is defined as two 32-bit values, followed by two 16-bit values, followed by eight 1-byte values.
2.10.2 String & String Identifier Definition
StringIdentifier ::=
["A"-"Z""a"-"z""_"]["A"-"Z""a"-"z""_""0"-"9"]*
getStringId ::=
"STRING_TOKEN" "(" Number ")"
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.
2.10.3 Number Definition
Number ::=
( "0x"["0"-"9""A"-"F""a"-"f"]+ ) | ["0"-"9"]+
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.
2.10.4 VFR Statement Header Definition
vfrStatementHeader ::=
"prompt" "=" getStringId ","
"help" "=" getStringId ","
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.
2.10.5 VFR Question Header Definition
vfrQuestionHeader ::=
{ "name" "=" StringIdentifier "," }
{ "varid" "=" vfrStorageVarId "," }
{ "questionid" "=" Number "," }
vfrStatementHeader
questionheaderFlagsField ::=
"READ_ONLY"
| "INTERACTIVE"
| "RESET_REQUIRED"
| "OPTIONS_ONLY"
vfrStorageVarId ::=
( StringIdentifier "[" Number "]" )
|
(
StringIdentifier
(
"." StringIdentifier { "[" Number "]" }
)*
)
BEHAVIORS AND RESTRICTIONS
Note: questionid
is used to specify the question ID. If it is not defined,
the compiler automatically assigns a unique ID.
Note: name
is used to specify the reference name, which is optional.
Note: The first StringIdentifier
defined in vfrStorageVarId
is the
varstore name or the structure name referred by varstore. When the same
structure is referred to by more than one varstore statement, only the varstore
name can be used here. If it is not defined, this question has no storage.
Example
None.
2.10.6 VFR Constant Value Definition
vfrConstantValueField ::=
Number
| "TRUE"
| "FALSE"
| "ONE"
| "ONES"
| "ZERO"
| Number ":" Number ":" Number
| Number "/" Number "/" Number
| "STRING_TOKEN" "(" Number ")"
| { Number ("," Number)* }
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.
2.10.7 VFR Statement Image & Locked Tag Definition
vfrImageTag ::=
"image" "=" "IMAGE_TOKEN" "(" Number ")"
vfrLockedTag ::=
"locked"
vfrStatementStatTag ::=
vfrImageTag | vfrLockedTag
vfrStatementStatTagList ::=
vfrStatementStatTag ( "," vfrStatementStatTag )*
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.