Module cddl_cat::ast

source ·
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'