Enum moore_vhdl::term::Term [−][src]
pub enum Term<'t> {}Show 28 variants
Null, Open, Others, Default, IntLit(BigInt), FloatLit(BigRational), PhysLit(BigInt, Spanned<EitherUnit<'t>>), StrLit(Name), Unresolved(ResolvableName), Ident(Spanned<Def>), Ident2(Spanned<Def2<'t>>), TypeMark(Spanned<TypeMarkRef>), Enum(Vec<Spanned<EnumRef>>), Enum2(Vec<Spanned<Def2<'t>>>), Select(Subterm<'t>, Spanned<ResolvableName>), SelectAll(Subterm<'t>), Range(Spanned<Dir>, Subterm<'t>, Subterm<'t>), RangeSuffix(Subterm<'t>, Subterm<'t>), UnboundedRange(Subterm<'t>), SubtypeInd(Spanned<TypeMarkRef>, Option<Subterm<'t>>, Option<Subterm<'t>>), PrefixParen(Subterm<'t>, Subterm<'t>), SuffixParen(Subterm<'t>, Subterm<'t>), Paren(Vec<Spanned<Term<'t>>>), Aggregate(Vec<(Vec<Spanned<Term<'t>>>, Spanned<Term<'t>>)>), Unary(Spanned<UnaryOp>, Subterm<'t>), Binary(Spanned<BinaryOp>, Subterm<'t>, Subterm<'t>), Qual(Subterm<'t>, Subterm<'t>), New(Subterm<'t>),
Expand description
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.
Tuple Fields of IntLit
0: BigInt
A floating point literal.
Tuple Fields of FloatLit
0: BigRational
A physical literal.
Tuple Fields of PhysLit
0: BigInt
1: Spanned<EitherUnit<'t>>
A bit string literal.
Tuple Fields of StrLit
0: Name
An unresolved name.
Tuple Fields of Unresolved
A term that refers to a definition.
A term that refers to a definition.
A term that refers to a type or subtype definition.
Tuple Fields of TypeMark
0: Spanned<TypeMarkRef>
A term that refers to an enum variant.
A term that refers to an enum variant.
A term of the form T.<name>
.
Tuple Fields of Select
0: Subterm<'t>
1: Spanned<ResolvableName>
A term of the form T.all
.
Tuple Fields of SelectAll
0: Subterm<'t>
A term of the form T (to|downto) T
.
A term of the form T range T
.
A term of the form T range <>
.
Tuple Fields of UnboundedRange
0: Subterm<'t>
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
.
Tuple Fields of New
0: Subterm<'t>