Update series syntax and binder scope handling
Refine the BNF for `series` to explicitly include the `lookback_limit` and `schema`. Introduce scope management within the `bind` function for `if/else` branches to ensure correct context handling during compilation. Add `Again` and `GetField` node kinds to the `Specializer`. Improve lexer to ignore invisible characters within identifiers, demonstrated by a new test case.
This commit is contained in:
@@ -143,6 +143,14 @@ impl Specializer {
|
||||
node.ty.clone(),
|
||||
)
|
||||
}
|
||||
NodeKind::Again { args } => {
|
||||
let args = Rc::new(self.visit_node(args.as_ref().clone()));
|
||||
(NodeKind::Again { args }, node.ty.clone())
|
||||
}
|
||||
NodeKind::GetField { rec, field } => {
|
||||
let rec = Rc::new(self.visit_node(rec.as_ref().clone()));
|
||||
(NodeKind::GetField { rec, field }, node.ty.clone())
|
||||
}
|
||||
k => (k, node.ty.clone()),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user