Enum passerine::compiler::cst::CST [−][src]
pub enum CST {
Symbol(String),
Data(Data),
Block(Vec<Spanned<CST>>),
Assign {
pattern: Box<Spanned<CSTPattern>>,
expression: Box<Spanned<CST>>,
},
Lambda {
pattern: Box<Spanned<CSTPattern>>,
expression: Box<Spanned<CST>>,
},
Call {
fun: Box<Spanned<CST>>,
arg: Box<Spanned<CST>>,
},
Label(String, Box<Spanned<CST>>),
Tuple(Vec<Spanned<CST>>),
FFI {
name: String,
expression: Box<Spanned<CST>>,
},
}
Expand description
Represents an item in a desugaredCST
.
Each langauge-level construct has it’s own CST
variant.
Note that, for instance, call only takes two arguments,
Whereas it’s originally parsed as a AST::Form
.
Variants
Symbol(String)
Tuple Fields of Symbol
0: String
Data(Data)
Tuple Fields of Data
0: Data
Implementations
Shortcut for creating an CST::Assign
variant.
Shortcut for creating an CST::Lambda
variant.
Shortcut for creating a CST::Label
variant.
Shortcut for creating a CST::Lambda
variant.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for CST
impl !UnwindSafe for CST
Blanket Implementations
Mutably borrows from an owned value. Read more