aboutsummaryrefslogtreecommitdiffstats
path: root/nihil.ucl/parser.ccm
diff options
context:
space:
mode:
authorLexi Winter <lexi@le-fay.org>2025-06-22 23:25:26 +0100
committerLexi Winter <lexi@le-fay.org>2025-06-22 23:25:26 +0100
commit8cbb82a1f6eb6605a4615d30922b777e7bf1e4d8 (patch)
treec79559e81aa9570e22a13ec0439ff7eee05f9ffd /nihil.ucl/parser.ccm
parent639b270eed81f7c2627d810057d188e2e8ee67f9 (diff)
downloadnihil-8cbb82a1f6eb6605a4615d30922b777e7bf1e4d8.tar.gz
nihil-8cbb82a1f6eb6605a4615d30922b777e7bf1e4d8.tar.bz2
nihil.ucl: add map<>
Diffstat (limited to 'nihil.ucl/parser.ccm')
-rw-r--r--nihil.ucl/parser.ccm7
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();