|
|
|
@ -11,6 +11,7 @@ pub enum Node {
|
|
|
|
|
Ident(String),
|
|
|
|
|
DepList(Box<Node>),
|
|
|
|
|
SourceList(Box<Node>),
|
|
|
|
|
Bool(bool),
|
|
|
|
|
Int(i128),
|
|
|
|
|
String(String),
|
|
|
|
|
Array(Vec<Node>),
|
|
|
|
@ -73,9 +74,7 @@ pub enum Operator {
|
|
|
|
|
Minus,
|
|
|
|
|
MinusEq,
|
|
|
|
|
Asterisk,
|
|
|
|
|
AsteriskAsterisk,
|
|
|
|
|
AsteriskEq,
|
|
|
|
|
AsteriskAsteriskEq,
|
|
|
|
|
Slash,
|
|
|
|
|
SlashEq,
|
|
|
|
|
Percent,
|
|
|
|
@ -160,6 +159,10 @@ impl fmt::Display for Node {
|
|
|
|
|
"{}",
|
|
|
|
|
match self {
|
|
|
|
|
Node::Ident(name) => name.as_str(),
|
|
|
|
|
Node::Bool(b) => {
|
|
|
|
|
tmp = format!("{}", b);
|
|
|
|
|
tmp.as_str()
|
|
|
|
|
}
|
|
|
|
|
Node::Int(i) => {
|
|
|
|
|
tmp = format!("{}", i);
|
|
|
|
|
tmp.as_str()
|
|
|
|
@ -203,9 +206,7 @@ impl Operator {
|
|
|
|
|
token::Kind::Minus => Ok(Operator::Minus),
|
|
|
|
|
token::Kind::MinusEq => Ok(Operator::MinusEq),
|
|
|
|
|
token::Kind::Asterisk => Ok(Operator::Asterisk),
|
|
|
|
|
token::Kind::AsteriskAsterisk => Ok(Operator::AsteriskAsterisk),
|
|
|
|
|
token::Kind::AsteriskEq => Ok(Operator::AsteriskEq),
|
|
|
|
|
token::Kind::AsteriskAsteriskEq => Ok(Operator::AsteriskAsteriskEq),
|
|
|
|
|
token::Kind::Slash => Ok(Operator::Slash),
|
|
|
|
|
token::Kind::SlashEq => Ok(Operator::SlashEq),
|
|
|
|
|
token::Kind::Percent => Ok(Operator::Percent),
|
|
|
|
@ -243,9 +244,7 @@ impl Operator {
|
|
|
|
|
Operator::Minus => "-",
|
|
|
|
|
Operator::MinusEq => "-=",
|
|
|
|
|
Operator::Asterisk => "*",
|
|
|
|
|
Operator::AsteriskAsterisk => "**",
|
|
|
|
|
Operator::AsteriskEq => "*=",
|
|
|
|
|
Operator::AsteriskAsteriskEq => "**=",
|
|
|
|
|
Operator::Slash => "/",
|
|
|
|
|
Operator::SlashEq => "/=",
|
|
|
|
|
Operator::Percent => "%",
|
|
|
|
|