(&mut self)
| 183 | } |
| 184 | |
| 185 | fn get_next(&mut self) -> Result<&Token> { |
| 186 | if self.remaining_str.is_empty() { |
| 187 | self.token = Token::None; |
| 188 | } else if TERMINALS_AS_U8.contains(&self.remaining_str.as_bytes()[0]) { |
| 189 | self.token = Token::Terminal(&self.remaining_str[..1]); |
| 190 | self.remaining_str = self.remaining_str[1..].trim_start(); |
| 191 | } else { |
| 192 | self.set_token(self.remaining_str)?; |
| 193 | self.remaining_str = self.remaining_str[self.token.as_str().len()..].trim_start(); |
| 194 | } |
| 195 | return Ok(&self.token); |
| 196 | } |
| 197 | |
| 198 | fn is_terminal(&self, terminal: &str) -> bool { |
| 199 | return self.token.is_terminal(terminal); |
no test coverage detected