25 lines
655 B
Diff
25 lines
655 B
Diff
--- mod.rs.orig
|
|
+++ mod.rs
|
|
@@ -39,6 +39,20 @@
|
|
impl Parser {
|
|
pub fn new(tokens: Vec<Token>) -> Self {
|
|
- Self { tokens, current: 0 }
|
|
+ // 过滤掉所有空白符和注释
|
|
+ let filtered_tokens: Vec<Token> = tokens
|
|
+ .into_iter()
|
|
+ .filter(|t| !matches!(t,
|
|
+ Token::Whitespace |
|
|
+ Token::Newline |
|
|
+ Token::Comment(_) |
|
|
+ Token::DocComment(_) |
|
|
+ Token::ModuleDocComment(_)
|
|
+ ))
|
|
+ .collect();
|
|
+
|
|
+ Self {
|
|
+ tokens: filtered_tokens,
|
|
+ current: 0
|
|
+ }
|
|
}
|
|
|