- Hand-written lexer + recursive-descent parser for .kap package definitions
- Package constructs: const, license, provides, outputs, patches, depends
(version-constrained, feature-gated, output-targeted), features (enabled/
forced/flag), config files (default/replace/merge with cfg interpolation),
env (?= soft-set), prepare/build/check/install phases
- Evaluator: recursive resolver for prefix, jobopts, destdir, userargs,
cfg.*, feature.*, package vars
- Comments: // single-line, /* */ multi-line
- /kappa/{bin,temp,db,system,system/builds} path layout
- Clang 22, C++23, CMake + vcpkg (tomlplusplus)
- .clangd + .clang-tidy configured
13 lines
180 B
C++
13 lines
180 B
C++
#pragma once
|
|
|
|
#include "kappa/dsl/ast.hpp"
|
|
|
|
#include <string>
|
|
#include <string_view>
|
|
|
|
namespace kappa::dsl {
|
|
|
|
PackageDef parse(std::string_view source);
|
|
|
|
} // namespace kappa::dsl
|