2.10 VFR General Token Definition

2.10.1 GUID Definition

1
Hex8 ::=
2
"0x"["0"-"9""A"-"F""a"-"f"]{1,8}
3
4
Hex4 ::=
5
"0x"["0"-"9""A"-"F""a"-"f"]{1,4}
6
7
Hex2 ::=
8
"0x"["0"-"9""A"-"F""a"-"f"]{1,2}
9
10
guidSubDefinition ::=
11
Hex2 "," Hex2 "," Hex2 "," Hex2 ","
12
Hex2 "," Hex2 "," Hex2 "," Hex2
13
14
guidDefinition ::=
15
"{"
16
Hex8 "," Hex4 "," Hex4 ","
17
(
18
"{" guidSubDefinition "}"
19
| guidSubDefinition
20
)
21
"}"
Copied!

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

1
StringIdentifier ::=
2
["A"-"Z""a"-"z""_"]["A"-"Z""a"-"z""_""0"-"9"]*
3
4
getStringId ::=
5
"STRING_TOKEN" "(" Number ")"
Copied!
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.

2.10.3 Number Definition

1
Number ::=
2
( "0x"["0"-"9""A"-"F""a"-"f"]+ ) | ["0"-"9"]+
Copied!
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.

2.10.4 VFR Statement Header Definition

1
vfrStatementHeader ::=
2
"prompt" "=" getStringId ","
3
"help" "=" getStringId ","
Copied!
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.

2.10.5 VFR Question Header Definition

1
vfrQuestionHeader ::=
2
{ "name" "=" StringIdentifier "," }
3
{ "varid" "=" vfrStorageVarId "," }
4
{ "questionid" "=" Number "," }
5
vfrStatementHeader
6
7
questionheaderFlagsField ::=
8
"READ_ONLY"
9
| "INTERACTIVE"
10
| "RESET_REQUIRED"
11
| "OPTIONS_ONLY"
12
| "REST_STYLE"
13
14
vfrStorageVarId ::=
15
( StringIdentifier "[" Number "]" )
16
|
17
(
18
StringIdentifier
19
(
20
"." StringIdentifier { "[" Number "]" }
21
)*
22
)
Copied!

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

1
vfrConstantValueField ::=
2
Number
3
| "TRUE"
4
| "FALSE"
5
| "ONE"
6
| "ONES"
7
| "ZERO"
8
| Number ":" Number ":" Number
9
| Number "/" Number "/" Number
10
| "STRING_TOKEN" "(" Number ")"
11
| { Number ("," Number)* }
Copied!
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.

2.10.7 VFR Statement Image & Locked Tag Definition

1
vfrImageTag ::=
2
"image" "=" "IMAGE_TOKEN" "(" Number ")"
3
4
vfrLockedTag ::=
5
"locked"
6
7
vfrStatementStatTag ::=
8
vfrImageTag | vfrLockedTag
9
10
vfrStatementStatTagList ::=
11
vfrStatementStatTag ( "," vfrStatementStatTag )*
Copied!
Note: There are no BEHAVIORS AND RESTRICTIONS or an Example for this section.