| 1842 | } // namespace |
| 1843 | |
| 1844 | absl::StatusOr<ParsedExpr> Parse(absl::string_view expression, |
| 1845 | absl::string_view description, |
| 1846 | const ParserOptions& options) { |
| 1847 | std::vector<Macro> macros; |
| 1848 | if (!options.disable_standard_macros) { |
| 1849 | macros = Macro::AllMacros(); |
| 1850 | } |
| 1851 | if (options.enable_optional_syntax) { |
| 1852 | macros.push_back(cel::OptMapMacro()); |
| 1853 | macros.push_back(cel::OptFlatMapMacro()); |
| 1854 | } |
| 1855 | return ParseWithMacros(expression, macros, description, options); |
| 1856 | } |
| 1857 | |
| 1858 | absl::StatusOr<ParsedExpr> ParseWithMacros(absl::string_view expression, |
| 1859 | const std::vector<Macro>& macros, |