Skip to main content

Module parser

Module parser 

Source
Expand description

Hand-written recursive-descent parser: crate::lexer tokens to crate::ast.

Every construct the sandbox drops is rejected here by name with an actionable message. Nothing is silently ignored: a script that asks for backgrounding, a subshell, process substitution, a here-string, or a brace group fails to parse rather than quietly doing something else. The same rule reaches inside constructs that are kept: a case pattern that would glob-match in bash is rejected by name here rather than matched literally behind the script’s back.

Enums§

ParseError
A parse failure. These map to exit code 2.

Functions§

parse
Parses one complete script.