pub fn parse_script_with_modules(
input: &str,
lower: impl Fn(&str, Vec<Arg>) -> ParseResult<StepKind>,
reserved_names: HashSet<String>,
modules: ModuleTable,
) -> ParseResult<Vec<Step>>Expand description
Parse with a module provenance table so calls resolve statically:
qualified MODULE::NAME checks membership, bare NAME resolves through
SCRIPT definitions and IMPORTed modules, and anything else fails at
parse time instead of at runtime.