summaryrefslogtreecommitdiff
path: root/src/lexer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer.rs')
-rw-r--r--src/lexer.rs13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/lexer.rs b/src/lexer.rs
index 46651c4..e80e461 100644
--- a/src/lexer.rs
+++ b/src/lexer.rs
@@ -39,7 +39,7 @@ fn is_valid_token_char( c: char ) -> bool {
39 return false; 39 return false;
40 } 40 }
41 match c { 41 match c {
42 'a'..'z' | 'A'..'Z' | '0'..'9' => true, 42 'a'..'z' | 'A'..'Z' | '0'..'9' | '_' | '-' => true,
43 _ => false 43 _ => false
44 } 44 }
45} 45}
@@ -157,9 +157,14 @@ impl<'a> Lexer<'a> {
157 157
158 fn parse_token(&mut self) -> Option<Symbol<'a>> { 158 fn parse_token(&mut self) -> Option<Symbol<'a>> {
159 self.skip_ws(); 159 self.skip_ws();
160 if let Some(chr) = self.cur() && chr == '"' { 160 match self.cur() {
161 // Literal string 161 Some('"') => {
162 return self.parse_literal_str(); 162 return self.parse_literal_str();
163 }
164 Some('=') => {
165 return Some(Symbol::Equals);
166 }
167 _ => {}
163 } 168 }
164 let start = self.cur_index(); 169 let start = self.cur_index();
165 170