| use std::fmt; |
|
|
| #[derive(Debug, Clone, PartialEq)] |
| pub enum Token { |
| |
| Int, |
| Double, |
| String, |
| Bool, |
| Void, |
| If, |
| Else, |
| For, |
| While, |
| Return, |
| Input, |
| |
| |
| MqlTick, |
| MqlRates, |
| |
| |
| Identifier(String), |
| IntLiteral(i64), |
| DoubleLiteral(f64), |
| StringLiteral(String), |
| BoolLiteral(bool), |
| |
| |
| Plus, |
| Minus, |
| Star, |
| Slash, |
| Assign, |
| Equals, |
| NotEquals, |
| Greater, |
| Less, |
| GreaterEq, |
| LessEq, |
| And, |
| Or, |
| Not, |
| |
| |
| OpenParen, |
| CloseParen, |
| OpenBrace, |
| CloseBrace, |
| OpenBracket, |
| CloseBracket, |
| Comma, |
| Semicolon, |
| Dot, |
| |
| |
| Eof, |
| } |
|
|
| impl fmt::Display for Token { |
| fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
| write!(f, "{:?}", self) |
| } |
| } |
|
|