Recursive-descent parser for bash syntax.
Produces an AST of Cmd nodes that borrow from the input string. Uses Pratt parsing for arithmetic expressions.
Cmd