aboutsummaryrefslogtreecommitdiff
path: root/src/parser.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser.rs')
-rw-r--r--src/parser.rs11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/parser.rs b/src/parser.rs
index f98673e..7fa4241 100644
--- a/src/parser.rs
+++ b/src/parser.rs
@@ -4,10 +4,17 @@ use crate::ast::*;
parser! {
pub grammar parser() for str {
+
+ // comment
+
+ rule comment() = quiet!{ "//" [^'\n' |'\r']* ['\n' | '\r'] }
+
// whitespace
- rule _() = quiet!{ [' ' | '\t' | '\n' | '\r']* }
- rule __() = quiet!{ [' ' | '\t' | '\n' | '\r']+ }
+ rule ws_char() = [' ' | '\t' | '\n' | '\r']
+ rule skip() = ws_char() / comment()
+ rule _() = quiet!{ skip()* }
+ rule __() = quiet!{ skip()+ }
rule ident_tail() = ['a'..='z' | 'A'..='Z' | '0'..='9' | '_' | '\'']
rule wb() = !ident_tail()