Enum moore_vhdl::term::Term [] [src]

pub enum Term {
    Null,
    Open,
    Others,
    Default,
    IntLit(BigInt),
    StrLit(Name),
    Unresolved(ResolvableName),
    Ident(Spanned<Def>),
    TypeMark(Spanned<TypeMarkRef>),
    Enum(Vec<Spanned<EnumRef>>),
    Select(SubtermSpanned<ResolvableName>),
    SelectAll(Subterm),
    Range(DirSubtermSubterm),
    RangeSuffix(SubtermSubterm),
    UnboundedRange(Subterm),
    SubtypeInd(Spanned<TypeMarkRef>, Option<Subterm>, Option<Subterm>),
    PrefixParen(SubtermSubterm),
    SuffixParen(SubtermSubterm),
    Paren(Vec<Spanned<Term>>),
    Aggregate(Vec<(Vec<Spanned<Term>>, Spanned<Term>)>),
    Unary(Spanned<UnaryOp>, Subterm),
    Binary(Spanned<BinaryOp>, SubtermSubterm),
    Qual(SubtermSubterm),
    New(Subterm),
}

A term.

This is a generalization of expressions and names in VHDL. It allows various parts of the AST to be mapped to a common data structure, and then remapped to the desired output structure. This is useful for example if the parser processes a subtype indication as an expression.

Variants

A term of the form null.

A term of the form open.

A term of the form others.

A term of the form default.

An integer literal.

A bit string literal.

An unresolved name.

A term that refers to a definition.

A term that refers to a type or subtype definition.

A term that refers to an enum variant.

A term of the form T.<name>.

A term of the form T.all.

A term of the form T (to|downto) T.

A term of the form T range T.

A term of the form T range <>.

A term of the form [T] <type_mark> [T]. The first optional subterm is the resolution indication, the second is the constraint.

A term of the form (T) T.

A term of the form T (T).

A term of the form (T,T,…).

A term of the form (T|T|… => T, T|T|… => T, …).

A term of the form op T.

A term of the form T op T.

A term of the form T'T.

A term of the form new T.

Trait Implementations

impl Debug for Term
[src]

[src]

Formats the value using the given formatter.

impl PartialEq for Term
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl Eq for Term
[src]