Add operator words plus, minus, times
This commit is contained in:
parent
8a7603bc6e
commit
c550f279c1
15
src/lexer.rs
15
src/lexer.rs
@ -181,6 +181,9 @@ pub fn parse_word(word: &str, lexer: &mut Lexer) -> Result<(), String> {
|
|||||||
"pi" => Token::Constant(Pi),
|
"pi" => Token::Constant(Pi),
|
||||||
"e" => Token::Constant(E),
|
"e" => Token::Constant(E),
|
||||||
|
|
||||||
|
"plus" => Token::Operator(Plus),
|
||||||
|
"minus" => Token::Operator(Minus),
|
||||||
|
"times" => Token::Operator(Multiply),
|
||||||
"mod" => Token::Operator(Modulo),
|
"mod" => Token::Operator(Modulo),
|
||||||
|
|
||||||
"sqrt" => Token::FunctionIdentifier(Sqrt),
|
"sqrt" => Token::FunctionIdentifier(Sqrt),
|
||||||
@ -471,7 +474,7 @@ pub fn parse_word(word: &str, lexer: &mut Lexer) -> Result<(), String> {
|
|||||||
"hr" | "hrs" | "hour" | "hours" => Token::Unit(WattHour),
|
"hr" | "hrs" | "hour" | "hours" => Token::Unit(WattHour),
|
||||||
other => {
|
other => {
|
||||||
lexer.tokens.push(Token::Unit(Watt));
|
lexer.tokens.push(Token::Unit(Watt));
|
||||||
parse_token(word, lexer)?;
|
parse_token(other, lexer)?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -481,7 +484,7 @@ pub fn parse_word(word: &str, lexer: &mut Lexer) -> Result<(), String> {
|
|||||||
"hr" | "hrs" | "hour" | "hours" => Token::Unit(KilowattHour),
|
"hr" | "hrs" | "hour" | "hours" => Token::Unit(KilowattHour),
|
||||||
other => {
|
other => {
|
||||||
lexer.tokens.push(Token::Unit(Kilowatt));
|
lexer.tokens.push(Token::Unit(Kilowatt));
|
||||||
parse_token(word, lexer)?;
|
parse_token(other, lexer)?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -491,7 +494,7 @@ pub fn parse_word(word: &str, lexer: &mut Lexer) -> Result<(), String> {
|
|||||||
"hr" | "hrs" | "hour" | "hours" => Token::Unit(MegawattHour),
|
"hr" | "hrs" | "hour" | "hours" => Token::Unit(MegawattHour),
|
||||||
other => {
|
other => {
|
||||||
lexer.tokens.push(Token::Unit(Megawatt));
|
lexer.tokens.push(Token::Unit(Megawatt));
|
||||||
parse_token(word, lexer)?;
|
parse_token(other, lexer)?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -501,7 +504,7 @@ pub fn parse_word(word: &str, lexer: &mut Lexer) -> Result<(), String> {
|
|||||||
"hr" | "hrs" | "hour" | "hours" => Token::Unit(GigawattHour),
|
"hr" | "hrs" | "hour" | "hours" => Token::Unit(GigawattHour),
|
||||||
other => {
|
other => {
|
||||||
lexer.tokens.push(Token::Unit(Gigawatt));
|
lexer.tokens.push(Token::Unit(Gigawatt));
|
||||||
parse_token(word, lexer)?;
|
parse_token(other, lexer)?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -511,7 +514,7 @@ pub fn parse_word(word: &str, lexer: &mut Lexer) -> Result<(), String> {
|
|||||||
"hr" | "hrs" | "hour" | "hours" => Token::Unit(TerawattHour),
|
"hr" | "hrs" | "hour" | "hours" => Token::Unit(TerawattHour),
|
||||||
other => {
|
other => {
|
||||||
lexer.tokens.push(Token::Unit(Terawatt));
|
lexer.tokens.push(Token::Unit(Terawatt));
|
||||||
parse_token(word, lexer)?;
|
parse_token(other, lexer)?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@ -521,7 +524,7 @@ pub fn parse_word(word: &str, lexer: &mut Lexer) -> Result<(), String> {
|
|||||||
"hr" | "hrs" | "hour" | "hours" => Token::Unit(PetawattHour),
|
"hr" | "hrs" | "hour" | "hours" => Token::Unit(PetawattHour),
|
||||||
other => {
|
other => {
|
||||||
lexer.tokens.push(Token::Unit(Petawatt));
|
lexer.tokens.push(Token::Unit(Petawatt));
|
||||||
parse_token(word, lexer)?;
|
parse_token(other, lexer)?;
|
||||||
return Ok(());
|
return Ok(());
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user