3 个版本
0.1.2 | 2023年5月25日 |
---|---|
0.1.1 | 2023年3月21日 |
0.1.0 | 2023年3月19日 |
#15 in #tezos
40KB
878 行
michelson-ast
概述
michelson-ast
是一个用于生成米其尔松代码的 Rust 库。此库可以处理 Tezos 智能合约语言的抽象语法树(AST)。
用法
要使用此库生成米其尔松代码,你可以编写如下程序
use michelson_ast::{
instruction::Instruction,
program::Program, ty::Ty,
wrapped_instruction::WrappedInstruction,
};
fn main() {
let program = Program {
storage: Ty::Unit,
parameter: Ty::Unit,
code: vec![
WrappedInstruction {
comment: Some("=> Unit".to_owned()),
instruction: Instruction::Cdr,
},
WrappedInstruction {
comment: Some("=> {} : Unit".to_owned()),
instruction: Instruction::Nil { ty: Ty::Operation },
},
WrappedInstruction {
comment: Some("=> (Pair {} Unit)".to_owned()),
instruction: Instruction::Pair,
},
],
};
println!("{}", program.to_string());
}
示例输出
parameter unit;
storage unit;
code {
CDR; # => Unit
NIL operation; # => {} : Unit
PAIR; # => (Pair {} Unit)
}