#pragma once #include "fesa/core/source_identity.hpp" #include #include #include #include namespace fesa { // Names are canonicalized for syntax lookup while values remain source text. struct KeywordParameter { std::string name; std::optional value; }; struct DataLine { std::vector fields; SourceLocation location; }; struct KeywordBlock { std::string canonicalName; std::string originalLine; std::vector parameters; std::vector data; SourceLocation location; }; struct ParsedInput { std::filesystem::path sourcePath; std::string sourceContentIdentity; std::vector blocks; }; } // namespace fesa