Expand description

This module defines the Abstract Syntax Tree.

It contains a tree representation of CDDL rules, closely matching the syntax used in the original CDDL text.

Structs

A CDDL specification, containing multiple rule syntax trees.

A CDDL specification, containing multiple rule syntax trees.

A group contains a number of elements.

A group choice contains one of the choices making up a group.

A group entry contains one element of a group.

A group member, typically one element of an array or map.

The “key” part of a key-value group member, along with its “cut” semantics.

A name identifier with generic arguments.

A CDDL data structure specification

A CDDL type, with choices.

A CDDL type, specified with a control operator.

A CDDL type, specified with a range operator.

Enums

The part of a “group entry” after the occurrence.

The “key” part of a key-value group member.

An “occurrence” which specifies how many elements can match a group member.

A rule’s syntax tree, in either Type or GrpEnt form.

A CDDL type, with an additional range or control operator.

Type2 is the main representation of a CDDL type.

A literal value, i.e. "foo", 1.0, or h'FFF7'