Skip to content

Commit a264017

Browse files
committed
Minor lexer simplifications.
1 parent b50f0be commit a264017

File tree

1 file changed

+42
-60
lines changed

1 file changed

+42
-60
lines changed

parser/src/lexer.rs

+42-60
Original file line numberDiff line numberDiff line change
@@ -719,16 +719,13 @@ where
719719
Some('+') => {
720720
let tok_start = self.get_pos();
721721
self.next_char();
722-
match self.chr0 {
723-
Some('=') => {
724-
self.next_char();
725-
let tok_end = self.get_pos();
726-
return Some(Ok((tok_start, Tok::PlusEqual, tok_end)));
727-
}
728-
_ => {
729-
let tok_end = self.get_pos();
730-
return Some(Ok((tok_start, Tok::Plus, tok_end)));
731-
}
722+
if let Some('=') = self.chr0 {
723+
self.next_char();
724+
let tok_end = self.get_pos();
725+
return Some(Ok((tok_start, Tok::PlusEqual, tok_end)));
726+
} else {
727+
let tok_end = self.get_pos();
728+
return Some(Ok((tok_start, Tok::Plus, tok_end)));
732729
}
733730
}
734731
Some('*') => {
@@ -792,61 +789,49 @@ where
792789
Some('%') => {
793790
let tok_start = self.get_pos();
794791
self.next_char();
795-
match self.chr0 {
796-
Some('=') => {
797-
self.next_char();
798-
let tok_end = self.get_pos();
799-
return Some(Ok((tok_start, Tok::PercentEqual, tok_end)));
800-
}
801-
_ => {
802-
let tok_end = self.get_pos();
803-
return Some(Ok((tok_start, Tok::Percent, tok_end)));
804-
}
792+
if let Some('=') = self.chr0 {
793+
self.next_char();
794+
let tok_end = self.get_pos();
795+
return Some(Ok((tok_start, Tok::PercentEqual, tok_end)));
796+
} else {
797+
let tok_end = self.get_pos();
798+
return Some(Ok((tok_start, Tok::Percent, tok_end)));
805799
}
806800
}
807801
Some('|') => {
808802
let tok_start = self.get_pos();
809803
self.next_char();
810-
match self.chr0 {
811-
Some('=') => {
812-
self.next_char();
813-
let tok_end = self.get_pos();
814-
return Some(Ok((tok_start, Tok::VbarEqual, tok_end)));
815-
}
816-
_ => {
817-
let tok_end = self.get_pos();
818-
return Some(Ok((tok_start, Tok::Vbar, tok_end)));
819-
}
804+
if let Some('=') = self.chr0 {
805+
self.next_char();
806+
let tok_end = self.get_pos();
807+
return Some(Ok((tok_start, Tok::VbarEqual, tok_end)));
808+
} else {
809+
let tok_end = self.get_pos();
810+
return Some(Ok((tok_start, Tok::Vbar, tok_end)));
820811
}
821812
}
822813
Some('^') => {
823814
let tok_start = self.get_pos();
824815
self.next_char();
825-
match self.chr0 {
826-
Some('=') => {
827-
self.next_char();
828-
let tok_end = self.get_pos();
829-
return Some(Ok((tok_start, Tok::CircumflexEqual, tok_end)));
830-
}
831-
_ => {
832-
let tok_end = self.get_pos();
833-
return Some(Ok((tok_start, Tok::CircumFlex, tok_end)));
834-
}
816+
if let Some('=') = self.chr0 {
817+
self.next_char();
818+
let tok_end = self.get_pos();
819+
return Some(Ok((tok_start, Tok::CircumflexEqual, tok_end)));
820+
} else {
821+
let tok_end = self.get_pos();
822+
return Some(Ok((tok_start, Tok::CircumFlex, tok_end)));
835823
}
836824
}
837825
Some('&') => {
838826
let tok_start = self.get_pos();
839827
self.next_char();
840-
match self.chr0 {
841-
Some('=') => {
842-
self.next_char();
843-
let tok_end = self.get_pos();
844-
return Some(Ok((tok_start, Tok::AmperEqual, tok_end)));
845-
}
846-
_ => {
847-
let tok_end = self.get_pos();
848-
return Some(Ok((tok_start, Tok::Amper, tok_end)));
849-
}
828+
if let Some('=') = self.chr0 {
829+
self.next_char();
830+
let tok_end = self.get_pos();
831+
return Some(Ok((tok_start, Tok::AmperEqual, tok_end)));
832+
} else {
833+
let tok_end = self.get_pos();
834+
return Some(Ok((tok_start, Tok::Amper, tok_end)));
850835
}
851836
}
852837
Some('-') => {
@@ -872,16 +857,13 @@ where
872857
Some('@') => {
873858
let tok_start = self.get_pos();
874859
self.next_char();
875-
match self.chr0 {
876-
Some('=') => {
877-
self.next_char();
878-
let tok_end = self.get_pos();
879-
return Some(Ok((tok_start, Tok::AtEqual, tok_end)));
880-
}
881-
_ => {
882-
let tok_end = self.get_pos();
883-
return Some(Ok((tok_start, Tok::At, tok_end)));
884-
}
860+
if let Some('=') = self.chr0 {
861+
self.next_char();
862+
let tok_end = self.get_pos();
863+
return Some(Ok((tok_start, Tok::AtEqual, tok_end)));
864+
} else {
865+
let tok_end = self.get_pos();
866+
return Some(Ok((tok_start, Tok::At, tok_end)));
885867
}
886868
}
887869
Some('!') => {

0 commit comments

Comments
 (0)