Enum cbork_cddl_parser::cddl::Rule
source · pub enum Rule {
Show 55 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,
}
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
Implementations§
Trait Implementations§
source§impl Ord for Rule
impl Ord for Rule
source§impl Parser<Rule> for RFC8610Parser
impl Parser<Rule> for RFC8610Parser
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
)