6int main(
int argc,
char **argv) {
7 std::freopen(argv[1],
"w", stdout);
12 std::cout <<
"#include <nixf/Sema/PrimOpInfo.h>" <<
"\n\n";
13 std::cout <<
"std::map<std::string, nixf::PrimOpInfo> nixf::PrimOpsInfo = {"
15 for (
const auto &PrimOp : nix::RegisterPrimOp::primOps()) {
16 std::cout <<
" {" <<
"\"" << PrimOp.name <<
"\", {\n";
19 std::cout <<
" .Args = {";
20 for (
size_t I = 0; I < PrimOp.args.size(); ++I) {
21 std::cout <<
"\"" << PrimOp.args[I] <<
"\"";
22 if (I + 1 < PrimOp.args.size()) {
29 std::cout <<
" .Arity = " << PrimOp.arity <<
",\n";
32 std::cout <<
" .Doc = R\"xabc(" << (PrimOp.doc ? PrimOp.doc :
"")
36 std::cout <<
" .Internal = " << (PrimOp.internal ?
"true" :
"false")
39 std::cout <<
" }},\n";