Enum cbork_cddl_parser::cddl_test::Rule
source · pub enum Rule {
Show 86 variants
EOI,
cddl,
rule,
typename,
groupname,
assignt,
assigng,
genericparm,
genericarg,
type,
type1,
type2,
rangeop,
ctlop,
group,
grpchoice,
grpent,
memberkey,
bareword,
optcom,
occur,
value,
number,
hexfloat,
intfloat,
fraction,
exponent,
int,
uint,
text,
bytes,
bytes_hex,
bytes_b64,
bytes_text,
id,
group_socket,
type_socket,
name,
HEX_PAIR,
URL_BASE64,
S,
WHITESPACE,
COMMENT,
URL_BASE64_ALPHA,
URL_BASE64_PAD,
NAME_START,
NAME_END,
PCHAR,
SCHAR,
BCHAR,
SESC,
ASCII_VISIBLE,
SCHAR_ASCII_VISIBLE,
BCHAR_ASCII_VISIBLE,
UNICODE_CHAR,
rule_TEST,
typename_TEST,
groupname_TEST,
assignt_TEST,
assigng_TEST,
genericparm_TEST,
genericarg_TEST,
type_TEST,
type1_TEST,
type2_TEST,
rangeop_TEST,
ctlop_TEST,
group_TEST,
grpchoice_TEST,
grpent_TEST,
memberkey_TEST,
bareword_TEST,
optcom_TEST,
occur_TEST,
S_TEST,
COMMENT_TEST,
URL_BASE64_TEST,
id_TEST,
bytes_TEST,
text_TEST,
uint_TEST,
int_TEST,
intfloat_TEST,
hexfloat_TEST,
number_TEST,
value_TEST,
}
Expand description
CDDL Grammar adapted from RFC8610 Appendix B https://www.rfc-editor.org/rfc/rfc8610#appendix-B
Variants§
EOI
End-of-input
cddl
rule
typename
groupname
assignt
assigng
genericparm
genericarg
type
type1
type2
rangeop
ctlop
group
grpchoice
grpent
memberkey
bareword
optcom
Optional Comma - Note eligible for producing pairs as this might be useful for linting
occur
value
All Literal Values
number
Literal Numbers - A float if it has fraction or exponent; int otherwise
hexfloat
Hex floats of the form -0x123.abc0p+12
intfloat
Ints or Int floats
fraction
Fractional part of a number
exponent
Exponent for a number
int
All integers, singed and unsigned
uint
Unsigned Integers
text
Literal Text
bytes
Literal Bytes.
bytes_hex
bytes_b64
bytes_text
id
identifier, called the name
in the CDDL spec.
group_socket
Special form of a name that represents a Group Socket.
type_socket
Special form of a name that represents a Type Socket.
name
General form of a name.
HEX_PAIR
A pair of hex digits. (Must always have even numbers of hex digits.)
URL_BASE64
Whitespace is allowed and is ignored. This token will keep the whitespace, so it will need to handled when converted to binary.
S
WHITESPACE
COMMENT
URL_BASE64_ALPHA
URL_BASE64_PAD
NAME_START
A name can start with an alphabetic character (including “@”, “”, “$”) The body of the name can consist of any of the characters from the set {“A” to “Z”, “a” to “z”, “0” to “9”, “”, “-”, “@”, “.”, “$”}
NAME_END
A name can end with an alphabetic character (including “@”, “_”, “$”) or a digit.
PCHAR
All Visible characters.
SCHAR
The set of characters valid for a text string.
BCHAR
The set of characters valid for a byte string.
SESC
Escaping code to allow invalid characters to be used in text or byte strings.
ASCII_VISIBLE
All Visible Ascii characters.
SCHAR_ASCII_VISIBLE
Ascii subset valid for text strings.
BCHAR_ASCII_VISIBLE
Ascii subset valid for byte text strings.
UNICODE_CHAR
Valid non ascii unicode Characters
rule_TEST
Test Expression for the rule
Rule.
typename_TEST
Test Expression for the typename
Rule.
groupname_TEST
Test Expression for the groupname
Rule.
assignt_TEST
Test Expression for the assignt
Rule.
assigng_TEST
Test Expression for the assigng
Rule.
genericparm_TEST
Test Expression for the genericparm
Rule.
genericarg_TEST
Test Expression for the genericarg
Rule.
type_TEST
Test Expression for the type
Rule.
type1_TEST
Test Expression for the type1
Rule.
type2_TEST
Test Expression for the type2
Rule.
rangeop_TEST
Test Expression for the rangeop
Rule.
ctlop_TEST
Test Expression for the ctlop
Rule.
group_TEST
Test Expression for the group
Rule.
grpchoice_TEST
Test Expression for the grpchoice
Rule.
grpent_TEST
Test Expression for the grpent
Rule.
memberkey_TEST
Test Expression for the memberkey
Rule.
bareword_TEST
Test Expression for the bareword
Rule.
optcom_TEST
Test Expression for the optcom
Rule.
occur_TEST
Test Expression for the occur
Rule.
S_TEST
Test Expression for the S
Rule.
COMMENT_TEST
Test Expression for the COMMENT
Rule.
URL_BASE64_TEST
Test expression for the URL_BASE64 Rule.
id_TEST
Test expression to the id
Rule.
bytes_TEST
Test expression to the bytes
Rule.
text_TEST
Test expression to the text
Rule.
uint_TEST
Test expression to the uint
Rule.
int_TEST
Test expression to the int
Rule.
intfloat_TEST
Test expression to the intfloat
Rule.
hexfloat_TEST
Test expression to the hexfloat
Rule.
number_TEST
Test expression to the number
Rule.
value_TEST
Test expression to the value
Rule.
Implementations§
Trait Implementations§
source§impl Ord for Rule
impl Ord for Rule
source§impl Parser<Rule> for CDDLTestParser
impl Parser<Rule> for CDDLTestParser
source§impl PartialOrd for Rule
impl PartialOrd for Rule
impl Copy for Rule
impl Eq for Rule
impl StructuralPartialEq for Rule
Auto Trait Implementations§
impl Freeze for Rule
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnwindSafe for Rule
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)