pub fn parse_program(source: &str) -> Result<Vec<TriggerAst>, AstError>
Parse multiple triggers from a full source file (triggers only view).
Returns an error if the source cannot be parsed.