BNF for Maker.jj
NON-TERMINALS
Specification
::=
(
TestModule
)+ <EOF>
TestModule
::=
MessageDigestTest
|
CipherTest
|
IncludedTest
MessageDigestTest
::=
<MESSAGE_DIGEST>
Identifier
( (
MessageDigestProperties
)? <DATA> (
MessageDigestData
)+ )+
MessageDigestProperties
::=
<PROPERTIES> (
AlgorithmSpecificProperty
)+
MessageDigestData
::=
SingleIterationData
|
MultiIterationData
SingleIterationData
::=
<STRING_LITERAL>
HexadecimalData
MultiIterationData
::=
<NUMBER> "*" <STRING_LITERAL>
HexadecimalData
CipherTest
::=
<CIPHER>
Identifier
( (
CipherProperties
)? <DATA> (
CipherData
)+ )+
CipherProperties
::=
<PROPERTIES> ( <MODE>
Identifier
)? ( <PADDING>
Identifier
)? ( <IV>
HexadecimalData
)? ( (
AlgorithmSpecificProperty
)+ )?
CipherData
::=
TwoWayTestData
|
SymmetricTestData
|
SpeedTestData
TwoWayTestData
::=
HexadecimalData
HexadecimalData
HexadecimalData
SymmetricTestData
::=
HexadecimalData
HexadecimalData
<AUTO>
SpeedTestData
::=
HexadecimalData
HexadecimalData
<SPEED>
AlgorithmSpecificProperty
::=
<PROPERTY> "=" ( <NUMBER> | <STRING_LITERAL> )
Identifier
::=
<ID>
HexadecimalData
::=
<HEX_LITERAL>
IncludedTest
::=
<INCLUDE> <STRING_LITERAL>