pub fn parse(tokens: &[Token]) -> Result<Program, CompileError>
Parse a complete program (name = expr; ...).
name = expr; ...