diff options
| author | Lexi Winter <lexi@le-fay.org> | 2025-06-22 23:25:26 +0100 |
|---|---|---|
| committer | Lexi Winter <lexi@le-fay.org> | 2025-06-22 23:25:26 +0100 |
| commit | 8cbb82a1f6eb6605a4615d30922b777e7bf1e4d8 (patch) | |
| tree | c79559e81aa9570e22a13ec0439ff7eee05f9ffd /nihil.ucl/parser.ccm | |
| parent | 639b270eed81f7c2627d810057d188e2e8ee67f9 (diff) | |
| download | nihil-8cbb82a1f6eb6605a4615d30922b777e7bf1e4d8.tar.gz nihil-8cbb82a1f6eb6605a4615d30922b777e7bf1e4d8.tar.bz2 | |
nihil.ucl: add map<>
Diffstat (limited to 'nihil.ucl/parser.ccm')
| -rw-r--r-- | nihil.ucl/parser.ccm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/nihil.ucl/parser.ccm b/nihil.ucl/parser.ccm index 968e906..8e715d0 100644 --- a/nihil.ucl/parser.ccm +++ b/nihil.ucl/parser.ccm @@ -17,6 +17,7 @@ export module nihil.ucl:parser; import nihil; import :error; import :object; +import :map; namespace nihil::ucl { @@ -138,7 +139,7 @@ export struct parser { } // Return the top object of this parser. - auto top(this parser &self) -> object + auto top(this parser &self) -> map<object> { if (self._parser == nullptr) throw error("attempt to call top() on an empty parser"); @@ -161,8 +162,8 @@ private: std::vector<std::unique_ptr<macro_handler>> _macros; }; -// Utility function to parse something and return the object. -export auto parse(std::ranges::range auto &&data) -> object { +// Utility function to parse something and return the top-level object. +export auto parse(std::ranges::range auto &&data) -> map<object> { auto p = parser(); p.add(std::forward<decltype(data)>(data)); return p.top(); |
