From 74038d153c12468ffc33b016c07c03647e194435 Mon Sep 17 00:00:00 2001 From: Jakob Stoklund Olesen Date: Tue, 5 Jul 2016 12:49:34 -0700 Subject: [PATCH] Ignore comments in .cton files. The lexer still recognizes comments and generates tokens for them. They may be useful for test annotations at some point. --- src/libreader/parser.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/libreader/parser.rs b/src/libreader/parser.rs index 94e94cbdcd..ec584cdcaa 100644 --- a/src/libreader/parser.rs +++ b/src/libreader/parser.rs @@ -135,17 +135,23 @@ impl<'a> Parser<'a> { // Get the current lookahead token, after making sure there is one. fn token(&mut self) -> Option> { - if self.lookahead == None { + while self.lookahead == None { match self.lex.next() { Some(Ok(lexer::LocatedToken { token, location })) => { - self.lookahead = Some(token); + match token { + Token::Comment(_) => { + // Ignore comments. + } + _ => self.lookahead = Some(token), + } self.loc = location; } Some(Err(lexer::LocatedError { error, location })) => { self.lex_error = Some(error); self.loc = location; + break; } - None => {} + None => break, } } return self.lookahead;