t_ast * parse(t_token *tokens)
Parse a token list into an AST.
Parser entry point & sub parser prototypes.
int validate_syntax(t_token *tokens)
Run all validation checks on a token list.
t_ast * parse_pipeline(t_token **tokens)
Parse a pipeline of commands connected by pipes.
Lexer token (singly linked list)