diff options
author | Maximilian Bosch <[email protected]> | 2021-12-26 14:41:47 +0000 |
---|---|---|
committer | Maximilian Bosch <[email protected]> | 2021-12-30 17:06:50 +0000 |
commit | 18a1ce8f0343f7865f8a01741fb96f98945645d0 (patch) | |
tree | cf3631b94197305b61fd0279025d4fb32d51abea /src/lex.rs | |
parent | 7d1db014ebc6bf0a8fd3e5a25abdc81aa2270a1d (diff) |
Allow expressions such as `e2` as multiplication of `e * 2`
Diffstat (limited to 'src/lex.rs')
-rw-r--r-- | src/lex.rs | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -143,6 +143,12 @@ pub fn lexer(input: &str, prev_ans: Option<f64>) -> Result<Vec<Token>, CalcError | |||
143 | &char_vec[..char_vec.chars().count()-1] | 143 | &char_vec[..char_vec.chars().count()-1] |
144 | ))); | 144 | ))); |
145 | } | 145 | } |
146 | } else if CONSTANTS.get(&char_vec[..]).is_some() { | ||
147 | result.push(CONSTANTS.get(&char_vec[..]).unwrap().clone()); | ||
148 | result.push(OPERATORS.get(&'*').unwrap().clone()); | ||
149 | char_vec.clear(); | ||
150 | num_vec.push(letter); | ||
151 | last_char_is_op = false; | ||
146 | } else { | 152 | } else { |
147 | return Err(CalcError::Syntax(format!( | 153 | return Err(CalcError::Syntax(format!( |
148 | "Unexpected character '{}'", | 154 | "Unexpected character '{}'", |