Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #[derive(Debug, PartialEq, Clone)]
- enum Token {
- Ident(String),
- Int(i64),
- }
- #[derive(Debug, PartialEq, Clone)]
- enum Expression {
- Ident(String),
- Int(i64),
- }
- impl Expression {
- fn from_token(tok: Token) -> Expression {
- match tok {
- Token::Ident(ident) => Expression::Ident(ident),
- Token::Int(i64) => Expression::Int(i64),
- }
- }
- }
- #[derive(Debug, PartialEq, Clone)]
- enum Statement {
- Let(Expression, Expression),
- }
- fn main() {
- let ident = Token::Ident(String::from("aiueo"));
- let ident = Expression::from_token(ident);
- let int = Token::Int(7i64);
- let int = Expression::from_token(int);
- let h = Statement::Let(ident, int);
- println!("{:?}", h);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement