Convert state_hash()
This commit is contained in:
parent
59a8804fd8
commit
c3113742a3
1 changed files with 6 additions and 5 deletions
|
@ -206,14 +206,14 @@ impl Lexer {
|
||||||
Ok(None)
|
Ok(None)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn state_hash(&mut self, c: char, token: &mut Option<Token>) {
|
fn state_hash(&mut self, c: char) -> StateResult {
|
||||||
if c.is_boolean_true() || c.is_boolean_false() {
|
if c.is_boolean_true() || c.is_boolean_false() {
|
||||||
*token = Some(Token::Boolean(c.is_boolean_true()));
|
|
||||||
self.advance();
|
self.advance();
|
||||||
|
return self.token_result(Token::Boolean(c.is_boolean_true()));
|
||||||
}
|
}
|
||||||
else if c.is_left_paren() {
|
else if c.is_left_paren() {
|
||||||
*token = Some(Token::LeftVectorParen);
|
|
||||||
self.advance();
|
self.advance();
|
||||||
|
return self.token_result(Token::LeftVectorParen);
|
||||||
}
|
}
|
||||||
else if let Some(radix) = Radix::from_char(c) {
|
else if let Some(radix) = Radix::from_char(c) {
|
||||||
self.number_builder.radix(radix);
|
self.number_builder.radix(radix);
|
||||||
|
@ -226,8 +226,9 @@ impl Lexer {
|
||||||
self.advance();
|
self.advance();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
assert!(false, "Invalid token character: '{}'", c);
|
self.generic_error(c);
|
||||||
}
|
}
|
||||||
|
Ok(None)
|
||||||
}
|
}
|
||||||
|
|
||||||
fn state_number(&mut self, c: char, token: &mut Option<Token>) {
|
fn state_number(&mut self, c: char, token: &mut Option<Token>) {
|
||||||
|
@ -377,7 +378,7 @@ impl Iterator for Lexer {
|
||||||
State::Initial => self.state_initial(c),
|
State::Initial => self.state_initial(c),
|
||||||
State::Identifier => self.state_identifier(c),
|
State::Identifier => self.state_identifier(c),
|
||||||
State::Dot => self.state_dot(c),
|
State::Dot => self.state_dot(c),
|
||||||
State::Hash => self.state_hash(c, &mut token),
|
State::Hash => self.state_hash(c),
|
||||||
State::Number => self.state_number(c, &mut token),
|
State::Number => self.state_number(c, &mut token),
|
||||||
State::NumberExactness => self.state_number_exactness(c, &mut token),
|
State::NumberExactness => self.state_number_exactness(c, &mut token),
|
||||||
State::NumberDecimal => self.state_number_decimal(c, &mut token),
|
State::NumberDecimal => self.state_number_decimal(c, &mut token),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue