dpscript/ir/lexer/analysis/mod.rs
1mod arg;
2mod block;
3mod call;
4mod cmd;
5mod concat;
6mod cond;
7mod data;
8mod def;
9mod exec;
10mod func;
11mod literal;
12mod node;
13mod tag;
14
15use super::IRTokenCursor;
16use crate::{IRNode, IRToken, Result, Spanned};
17
18pub trait Analyzer<T> {
19 fn analyze(
20 item: Spanned<IRToken>,
21 cursor: &mut IRTokenCursor,
22 nodes: &mut Vec<IRNode>,
23 ) -> Result<Option<T>>;
24}