diff options
Diffstat (limited to 'src/parser.rs')
| -rw-r--r-- | src/parser.rs | 11 |
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() |
