[][src]Module cddl_cat::ast

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

Cddl

A CDDL specification, containing multiple rule syntax trees.

Group

A group contains a number of elements.

GrpChoice

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

GrpEnt

A group entry contains one element of a group.

Member

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

MemberKey

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

Rule

A CDDL data structure specification

Type

A CDDL type, with choices.

TypeControl

A CDDL type, specified with a control operator.

TypeRange

A CDDL type, specified with a range operator.

Enums

GrpEntVal

The part of a "group entry" after the occurrence.

MemberKeyVal

The "key" part of a key-value group member.

Occur

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

RuleVal

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

Type1

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

Type2

Type2 is the main representation of a CDDL type.

Value

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