semantifold 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -7
- package/build/src/backends/android.js +7 -3
- package/build/src/backends/identifiers.d.ts +6 -0
- package/build/src/backends/identifiers.d.ts.map +1 -1
- package/build/src/backends/identifiers.js +24 -1
- package/build/src/backends/ios.js +2 -2
- package/build/src/backends/native-validation.d.ts +2 -2
- package/build/src/backends/native-validation.d.ts.map +1 -1
- package/build/src/backends/native-validation.js +2 -2
- package/build/src/backends/scalars.d.ts.map +1 -1
- package/build/src/backends/scalars.js +2 -1
- package/build/src/backends/shared.js +4 -4
- package/build/src/backends/zig-runtime.d.ts +5 -0
- package/build/src/backends/zig-runtime.d.ts.map +1 -0
- package/build/src/backends/zig-runtime.js +92 -0
- package/build/src/backends/zig-validation.d.ts +9 -0
- package/build/src/backends/zig-validation.d.ts.map +1 -0
- package/build/src/backends/zig-validation.js +73 -0
- package/build/src/backends/zig.d.ts +42 -0
- package/build/src/backends/zig.d.ts.map +1 -0
- package/build/src/backends/zig.js +584 -0
- package/build/src/frontends/scalars.d.ts.map +1 -1
- package/build/src/frontends/scalars.js +2 -1
- package/build/src/frontends/zig-parser.d.ts +31 -0
- package/build/src/frontends/zig-parser.d.ts.map +1 -0
- package/build/src/frontends/zig-parser.js +17 -0
- package/build/src/frontends/zig.d.ts +14 -0
- package/build/src/frontends/zig.d.ts.map +1 -0
- package/build/src/frontends/zig.js +970 -0
- package/build/src/language-registry.d.ts.map +1 -1
- package/build/src/language-registry.js +30 -1
- package/build/src/mapping.js +2 -2
- package/build/src/semantic/provenance.js +3 -3
- package/build/src/semantic/types.d.ts +2 -2
- package/build/src/semantic/types.d.ts.map +1 -1
- package/build/src/semantic/types.js +2 -2
- package/build/src/semantic/validate.js +2 -2
- package/build/src/toolchains.d.ts +6 -0
- package/build/src/toolchains.d.ts.map +1 -1
- package/build/src/toolchains.js +2 -1
- package/build/src/zig-bindings.d.ts +10 -0
- package/build/src/zig-bindings.d.ts.map +1 -0
- package/build/src/zig-bindings.js +54 -0
- package/docs/android.md +2 -2
- package/docs/architecture.md +11 -5
- package/docs/goals.md +1 -1
- package/docs/language-support.md +8 -4
- package/docs/parser-qualification.md +31 -1
- package/docs/source-maps.md +5 -3
- package/docs/testing.md +26 -4
- package/docs/zig.md +33 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/LICENSE +15 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/README.md +5 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/LICENSE +21 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/README.md +21 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/binding.gyp +29 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/bindings/node/binding.cc +20 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/bindings/node/binding_test.js +9 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/bindings/node/index.d.ts +28 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/bindings/node/index.js +11 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/grammar.js +900 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/package.json +57 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/prebuilds/darwin-arm64/@tree-sitter-grammars+tree-sitter-zig.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/prebuilds/darwin-x64/@tree-sitter-grammars+tree-sitter-zig.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/prebuilds/linux-arm64/@tree-sitter-grammars+tree-sitter-zig.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/prebuilds/linux-x64/@tree-sitter-grammars+tree-sitter-zig.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/prebuilds/win32-arm64/@tree-sitter-grammars+tree-sitter-zig.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/prebuilds/win32-x64/@tree-sitter-grammars+tree-sitter-zig.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/queries/folds.scm +23 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/queries/highlights.scm +291 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/queries/indents.scm +22 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/queries/injections.scm +10 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/src/grammar.json +6570 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/src/node-types.json +3178 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/src/parser.c +169829 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/src/tree_sitter/alloc.h +54 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/src/tree_sitter/array.h +291 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/src/tree_sitter/parser.h +266 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/tree-sitter-zig.wasm +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/@tree-sitter-grammars/tree-sitter-zig/tree-sitter.json +38 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/LICENSE +21 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/README.md +128 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/binding.gyp +80 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/index.js +916 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/package.json +76 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/prebuilds/linux-arm64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/prebuilds/win32-arm64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/addon_data.h +47 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/binding.cc +35 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/conversions.cc +140 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/conversions.h +22 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/language.cc +106 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/language.h +17 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/logger.cc +70 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/logger.h +19 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/node.cc +1088 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/node.h +30 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/parser.cc +306 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/parser.h +35 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/query.cc +397 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/query.h +40 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/tree.cc +316 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/tree.h +45 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/src/tree_cursor.h +52 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/tree-sitter.d.ts +1042 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1318 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +291 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +501 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +223 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +297 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +435 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +49 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +12 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +920 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2165 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +266 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +62 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +206 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4187 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +899 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +130 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1066 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +399 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +170 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +712 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +11 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +83 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +24 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +109 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1302 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1859 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/package.json +21 -0
- package/node_modules/semantifold-tree-sitter-zig-internal/src/zig.js +134 -0
- package/package.json +11 -6
- package/src/backends/android.js +6 -2
- package/src/backends/identifiers.js +24 -0
- package/src/backends/ios.js +1 -1
- package/src/backends/native-validation.js +1 -1
- package/src/backends/scalars.js +1 -0
- package/src/backends/shared.js +3 -3
- package/src/backends/zig-runtime.js +93 -0
- package/src/backends/zig-validation.js +68 -0
- package/src/backends/zig.js +579 -0
- package/src/frontends/scalars.js +1 -0
- package/src/frontends/zig-parser.js +20 -0
- package/src/frontends/zig.js +994 -0
- package/src/language-registry.js +30 -0
- package/src/mapping.js +1 -1
- package/src/semantic/provenance.js +2 -2
- package/src/semantic/types.js +1 -1
- package/src/semantic/validate.js +1 -1
- package/src/toolchains.js +1 -0
- package/src/zig-bindings.js +46 -0
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Exact Zig 0.15.2 standard-library-only support; the frontend checks every token before collapse. */
|
|
2
|
+
export declare const zigRuntime = "const std = @import(\"std\");\n\nvar semantifold_arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);\n\nfn semantifold_fail(message: []const u8) noreturn {\n std.fs.File.stderr().writeAll(message) catch {};\n std.process.exit(70);\n}\n\nfn semantifold_integer_add(left: i64, right: i64) i64 {\n const result = @addWithOverflow(left, right);\n if (result[1] != 0) semantifold_fail(\"semantifold: integer overflow\\n\");\n return result[0];\n}\n\nfn semantifold_integer_subtract(left: i64, right: i64) i64 {\n const result = @subWithOverflow(left, right);\n if (result[1] != 0) semantifold_fail(\"semantifold: integer overflow\\n\");\n return result[0];\n}\n\nfn semantifold_integer_multiply(left: i64, right: i64) i64 {\n const result = @mulWithOverflow(left, right);\n if (result[1] != 0) semantifold_fail(\"semantifold: integer overflow\\n\");\n return result[0];\n}\n\nfn semantifold_integer_negate(value: i64) i64 {\n return semantifold_integer_subtract(0, value);\n}\n\nfn semantifold_string_concat(left: []const u8, right: []const u8) []const u8 {\n const size = @addWithOverflow(left.len, right.len);\n if (size[1] != 0) semantifold_fail(\"semantifold: allocation failure\\n\");\n const bytes = semantifold_arena.allocator().alloc(u8, size[0]) catch semantifold_fail(\"semantifold: allocation failure\\n\");\n @memcpy(bytes[0..left.len], left);\n @memcpy(bytes[left.len..], right);\n return bytes;\n}\n\nfn semantifold_string_equal(left: []const u8, right: []const u8) bool {\n return std.mem.eql(u8, left, right);\n}\n\nfn semantifold_string_not_equal(left: []const u8, right: []const u8) bool {\n return !std.mem.eql(u8, left, right);\n}\n\nfn semantifold_write(value: []const u8) void {\n const stdout = std.fs.File.stdout();\n stdout.writeAll(value) catch semantifold_fail(\"semantifold: output failure\\n\");\n stdout.writeAll(\"\\n\") catch semantifold_fail(\"semantifold: output failure\\n\");\n}\n\nfn semantifold_print_integer(value: i64) void {\n var buffer: [20]u8 = undefined;\n const bytes = std.fmt.bufPrint(&buffer, \"{d}\", .{value}) catch semantifold_fail(\"semantifold: output failure\\n\");\n semantifold_write(bytes);\n}\n\nfn semantifold_print_boolean(value: bool) void {\n semantifold_write(if (value) \"true\" else \"false\");\n}\n\nfn semantifold_print_string(value: []const u8) void {\n semantifold_write(value);\n}\n";
|
|
3
|
+
/** Fixed native-host Zig build with only the selected optimization option and no package resolution. */
|
|
4
|
+
export declare const zigBuild = "const std = @import(\"std\");\n\npub fn build(b: *std.Build) void {\n const optimize = b.standardOptimizeOption(.{});\n const executable = b.addExecutable(.{\n .name = \"semantifold-generated\",\n .root_module = b.createModule(.{\n .root_source_file = b.path(\"src/main.zig\"),\n .target = b.graph.host,\n .optimize = optimize,\n }),\n });\n b.installArtifact(executable);\n\n const tests = b.addTest(.{ .root_module = executable.root_module });\n const run_tests = b.addRunArtifact(tests);\n const test_step = b.step(\"test\", \"Compile and run tests\");\n test_step.dependOn(&run_tests.step);\n}\n";
|
|
5
|
+
//# sourceMappingURL=zig-runtime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zig-runtime.d.ts","sourceRoot":"","sources":["../../../src/backends/zig-runtime.js"],"names":[],"mappings":"AAEA,uGAAuG;AACvG,eAAO,MAAM,UAAU,g5EAmEtB,CAAA;AAED,wGAAwG;AACxG,eAAO,MAAM,QAAQ,0qBAmBpB,CAAA"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
/** Exact Zig 0.15.2 standard-library-only support; the frontend checks every token before collapse. */
|
|
3
|
+
export const zigRuntime = `const std = @import("std");
|
|
4
|
+
|
|
5
|
+
var semantifold_arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
|
|
6
|
+
|
|
7
|
+
fn semantifold_fail(message: []const u8) noreturn {
|
|
8
|
+
std.fs.File.stderr().writeAll(message) catch {};
|
|
9
|
+
std.process.exit(70);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
fn semantifold_integer_add(left: i64, right: i64) i64 {
|
|
13
|
+
const result = @addWithOverflow(left, right);
|
|
14
|
+
if (result[1] != 0) semantifold_fail("semantifold: integer overflow\\n");
|
|
15
|
+
return result[0];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
fn semantifold_integer_subtract(left: i64, right: i64) i64 {
|
|
19
|
+
const result = @subWithOverflow(left, right);
|
|
20
|
+
if (result[1] != 0) semantifold_fail("semantifold: integer overflow\\n");
|
|
21
|
+
return result[0];
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
fn semantifold_integer_multiply(left: i64, right: i64) i64 {
|
|
25
|
+
const result = @mulWithOverflow(left, right);
|
|
26
|
+
if (result[1] != 0) semantifold_fail("semantifold: integer overflow\\n");
|
|
27
|
+
return result[0];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
fn semantifold_integer_negate(value: i64) i64 {
|
|
31
|
+
return semantifold_integer_subtract(0, value);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
fn semantifold_string_concat(left: []const u8, right: []const u8) []const u8 {
|
|
35
|
+
const size = @addWithOverflow(left.len, right.len);
|
|
36
|
+
if (size[1] != 0) semantifold_fail("semantifold: allocation failure\\n");
|
|
37
|
+
const bytes = semantifold_arena.allocator().alloc(u8, size[0]) catch semantifold_fail("semantifold: allocation failure\\n");
|
|
38
|
+
@memcpy(bytes[0..left.len], left);
|
|
39
|
+
@memcpy(bytes[left.len..], right);
|
|
40
|
+
return bytes;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
fn semantifold_string_equal(left: []const u8, right: []const u8) bool {
|
|
44
|
+
return std.mem.eql(u8, left, right);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
fn semantifold_string_not_equal(left: []const u8, right: []const u8) bool {
|
|
48
|
+
return !std.mem.eql(u8, left, right);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
fn semantifold_write(value: []const u8) void {
|
|
52
|
+
const stdout = std.fs.File.stdout();
|
|
53
|
+
stdout.writeAll(value) catch semantifold_fail("semantifold: output failure\\n");
|
|
54
|
+
stdout.writeAll("\\n") catch semantifold_fail("semantifold: output failure\\n");
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
fn semantifold_print_integer(value: i64) void {
|
|
58
|
+
var buffer: [20]u8 = undefined;
|
|
59
|
+
const bytes = std.fmt.bufPrint(&buffer, "{d}", .{value}) catch semantifold_fail("semantifold: output failure\\n");
|
|
60
|
+
semantifold_write(bytes);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
fn semantifold_print_boolean(value: bool) void {
|
|
64
|
+
semantifold_write(if (value) "true" else "false");
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
fn semantifold_print_string(value: []const u8) void {
|
|
68
|
+
semantifold_write(value);
|
|
69
|
+
}
|
|
70
|
+
`;
|
|
71
|
+
/** Fixed native-host Zig build with only the selected optimization option and no package resolution. */
|
|
72
|
+
export const zigBuild = `const std = @import("std");
|
|
73
|
+
|
|
74
|
+
pub fn build(b: *std.Build) void {
|
|
75
|
+
const optimize = b.standardOptimizeOption(.{});
|
|
76
|
+
const executable = b.addExecutable(.{
|
|
77
|
+
.name = "semantifold-generated",
|
|
78
|
+
.root_module = b.createModule(.{
|
|
79
|
+
.root_source_file = b.path("src/main.zig"),
|
|
80
|
+
.target = b.graph.host,
|
|
81
|
+
.optimize = optimize,
|
|
82
|
+
}),
|
|
83
|
+
});
|
|
84
|
+
b.installArtifact(executable);
|
|
85
|
+
|
|
86
|
+
const tests = b.addTest(.{ .root_module = executable.root_module });
|
|
87
|
+
const run_tests = b.addRunArtifact(tests);
|
|
88
|
+
const test_step = b.step("test", "Compile and run tests");
|
|
89
|
+
test_step.dependOn(&run_tests.step);
|
|
90
|
+
}
|
|
91
|
+
`;
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlnLXJ1bnRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZHMvemlnLXJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLHVHQUF1RztBQUN2RyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtRXpCLENBQUE7QUFFRCx3R0FBd0c7QUFDeEcsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUJ2QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKiBFeGFjdCBaaWcgMC4xNS4yIHN0YW5kYXJkLWxpYnJhcnktb25seSBzdXBwb3J0OyB0aGUgZnJvbnRlbmQgY2hlY2tzIGV2ZXJ5IHRva2VuIGJlZm9yZSBjb2xsYXBzZS4gKi9cbmV4cG9ydCBjb25zdCB6aWdSdW50aW1lID0gYGNvbnN0IHN0ZCA9IEBpbXBvcnQoXCJzdGRcIik7XG5cbnZhciBzZW1hbnRpZm9sZF9hcmVuYSA9IHN0ZC5oZWFwLkFyZW5hQWxsb2NhdG9yLmluaXQoc3RkLmhlYXAucGFnZV9hbGxvY2F0b3IpO1xuXG5mbiBzZW1hbnRpZm9sZF9mYWlsKG1lc3NhZ2U6IFtdY29uc3QgdTgpIG5vcmV0dXJuIHtcbiAgICBzdGQuZnMuRmlsZS5zdGRlcnIoKS53cml0ZUFsbChtZXNzYWdlKSBjYXRjaCB7fTtcbiAgICBzdGQucHJvY2Vzcy5leGl0KDcwKTtcbn1cblxuZm4gc2VtYW50aWZvbGRfaW50ZWdlcl9hZGQobGVmdDogaTY0LCByaWdodDogaTY0KSBpNjQge1xuICAgIGNvbnN0IHJlc3VsdCA9IEBhZGRXaXRoT3ZlcmZsb3cobGVmdCwgcmlnaHQpO1xuICAgIGlmIChyZXN1bHRbMV0gIT0gMCkgc2VtYW50aWZvbGRfZmFpbChcInNlbWFudGlmb2xkOiBpbnRlZ2VyIG92ZXJmbG93XFxcXG5cIik7XG4gICAgcmV0dXJuIHJlc3VsdFswXTtcbn1cblxuZm4gc2VtYW50aWZvbGRfaW50ZWdlcl9zdWJ0cmFjdChsZWZ0OiBpNjQsIHJpZ2h0OiBpNjQpIGk2NCB7XG4gICAgY29uc3QgcmVzdWx0ID0gQHN1YldpdGhPdmVyZmxvdyhsZWZ0LCByaWdodCk7XG4gICAgaWYgKHJlc3VsdFsxXSAhPSAwKSBzZW1hbnRpZm9sZF9mYWlsKFwic2VtYW50aWZvbGQ6IGludGVnZXIgb3ZlcmZsb3dcXFxcblwiKTtcbiAgICByZXR1cm4gcmVzdWx0WzBdO1xufVxuXG5mbiBzZW1hbnRpZm9sZF9pbnRlZ2VyX211bHRpcGx5KGxlZnQ6IGk2NCwgcmlnaHQ6IGk2NCkgaTY0IHtcbiAgICBjb25zdCByZXN1bHQgPSBAbXVsV2l0aE92ZXJmbG93KGxlZnQsIHJpZ2h0KTtcbiAgICBpZiAocmVzdWx0WzFdICE9IDApIHNlbWFudGlmb2xkX2ZhaWwoXCJzZW1hbnRpZm9sZDogaW50ZWdlciBvdmVyZmxvd1xcXFxuXCIpO1xuICAgIHJldHVybiByZXN1bHRbMF07XG59XG5cbmZuIHNlbWFudGlmb2xkX2ludGVnZXJfbmVnYXRlKHZhbHVlOiBpNjQpIGk2NCB7XG4gICAgcmV0dXJuIHNlbWFudGlmb2xkX2ludGVnZXJfc3VidHJhY3QoMCwgdmFsdWUpO1xufVxuXG5mbiBzZW1hbnRpZm9sZF9zdHJpbmdfY29uY2F0KGxlZnQ6IFtdY29uc3QgdTgsIHJpZ2h0OiBbXWNvbnN0IHU4KSBbXWNvbnN0IHU4IHtcbiAgICBjb25zdCBzaXplID0gQGFkZFdpdGhPdmVyZmxvdyhsZWZ0LmxlbiwgcmlnaHQubGVuKTtcbiAgICBpZiAoc2l6ZVsxXSAhPSAwKSBzZW1hbnRpZm9sZF9mYWlsKFwic2VtYW50aWZvbGQ6IGFsbG9jYXRpb24gZmFpbHVyZVxcXFxuXCIpO1xuICAgIGNvbnN0IGJ5dGVzID0gc2VtYW50aWZvbGRfYXJlbmEuYWxsb2NhdG9yKCkuYWxsb2ModTgsIHNpemVbMF0pIGNhdGNoIHNlbWFudGlmb2xkX2ZhaWwoXCJzZW1hbnRpZm9sZDogYWxsb2NhdGlvbiBmYWlsdXJlXFxcXG5cIik7XG4gICAgQG1lbWNweShieXRlc1swLi5sZWZ0Lmxlbl0sIGxlZnQpO1xuICAgIEBtZW1jcHkoYnl0ZXNbbGVmdC5sZW4uLl0sIHJpZ2h0KTtcbiAgICByZXR1cm4gYnl0ZXM7XG59XG5cbmZuIHNlbWFudGlmb2xkX3N0cmluZ19lcXVhbChsZWZ0OiBbXWNvbnN0IHU4LCByaWdodDogW11jb25zdCB1OCkgYm9vbCB7XG4gICAgcmV0dXJuIHN0ZC5tZW0uZXFsKHU4LCBsZWZ0LCByaWdodCk7XG59XG5cbmZuIHNlbWFudGlmb2xkX3N0cmluZ19ub3RfZXF1YWwobGVmdDogW11jb25zdCB1OCwgcmlnaHQ6IFtdY29uc3QgdTgpIGJvb2wge1xuICAgIHJldHVybiAhc3RkLm1lbS5lcWwodTgsIGxlZnQsIHJpZ2h0KTtcbn1cblxuZm4gc2VtYW50aWZvbGRfd3JpdGUodmFsdWU6IFtdY29uc3QgdTgpIHZvaWQge1xuICAgIGNvbnN0IHN0ZG91dCA9IHN0ZC5mcy5GaWxlLnN0ZG91dCgpO1xuICAgIHN0ZG91dC53cml0ZUFsbCh2YWx1ZSkgY2F0Y2ggc2VtYW50aWZvbGRfZmFpbChcInNlbWFudGlmb2xkOiBvdXRwdXQgZmFpbHVyZVxcXFxuXCIpO1xuICAgIHN0ZG91dC53cml0ZUFsbChcIlxcXFxuXCIpIGNhdGNoIHNlbWFudGlmb2xkX2ZhaWwoXCJzZW1hbnRpZm9sZDogb3V0cHV0IGZhaWx1cmVcXFxcblwiKTtcbn1cblxuZm4gc2VtYW50aWZvbGRfcHJpbnRfaW50ZWdlcih2YWx1ZTogaTY0KSB2b2lkIHtcbiAgICB2YXIgYnVmZmVyOiBbMjBddTggPSB1bmRlZmluZWQ7XG4gICAgY29uc3QgYnl0ZXMgPSBzdGQuZm10LmJ1ZlByaW50KCZidWZmZXIsIFwie2R9XCIsIC57dmFsdWV9KSBjYXRjaCBzZW1hbnRpZm9sZF9mYWlsKFwic2VtYW50aWZvbGQ6IG91dHB1dCBmYWlsdXJlXFxcXG5cIik7XG4gICAgc2VtYW50aWZvbGRfd3JpdGUoYnl0ZXMpO1xufVxuXG5mbiBzZW1hbnRpZm9sZF9wcmludF9ib29sZWFuKHZhbHVlOiBib29sKSB2b2lkIHtcbiAgICBzZW1hbnRpZm9sZF93cml0ZShpZiAodmFsdWUpIFwidHJ1ZVwiIGVsc2UgXCJmYWxzZVwiKTtcbn1cblxuZm4gc2VtYW50aWZvbGRfcHJpbnRfc3RyaW5nKHZhbHVlOiBbXWNvbnN0IHU4KSB2b2lkIHtcbiAgICBzZW1hbnRpZm9sZF93cml0ZSh2YWx1ZSk7XG59XG5gXG5cbi8qKiBGaXhlZCBuYXRpdmUtaG9zdCBaaWcgYnVpbGQgd2l0aCBvbmx5IHRoZSBzZWxlY3RlZCBvcHRpbWl6YXRpb24gb3B0aW9uIGFuZCBubyBwYWNrYWdlIHJlc29sdXRpb24uICovXG5leHBvcnQgY29uc3QgemlnQnVpbGQgPSBgY29uc3Qgc3RkID0gQGltcG9ydChcInN0ZFwiKTtcblxucHViIGZuIGJ1aWxkKGI6ICpzdGQuQnVpbGQpIHZvaWQge1xuICAgIGNvbnN0IG9wdGltaXplID0gYi5zdGFuZGFyZE9wdGltaXplT3B0aW9uKC57fSk7XG4gICAgY29uc3QgZXhlY3V0YWJsZSA9IGIuYWRkRXhlY3V0YWJsZSgue1xuICAgICAgICAubmFtZSA9IFwic2VtYW50aWZvbGQtZ2VuZXJhdGVkXCIsXG4gICAgICAgIC5yb290X21vZHVsZSA9IGIuY3JlYXRlTW9kdWxlKC57XG4gICAgICAgICAgICAucm9vdF9zb3VyY2VfZmlsZSA9IGIucGF0aChcInNyYy9tYWluLnppZ1wiKSxcbiAgICAgICAgICAgIC50YXJnZXQgPSBiLmdyYXBoLmhvc3QsXG4gICAgICAgICAgICAub3B0aW1pemUgPSBvcHRpbWl6ZSxcbiAgICAgICAgfSksXG4gICAgfSk7XG4gICAgYi5pbnN0YWxsQXJ0aWZhY3QoZXhlY3V0YWJsZSk7XG5cbiAgICBjb25zdCB0ZXN0cyA9IGIuYWRkVGVzdCgueyAucm9vdF9tb2R1bGUgPSBleGVjdXRhYmxlLnJvb3RfbW9kdWxlIH0pO1xuICAgIGNvbnN0IHJ1bl90ZXN0cyA9IGIuYWRkUnVuQXJ0aWZhY3QodGVzdHMpO1xuICAgIGNvbnN0IHRlc3Rfc3RlcCA9IGIuc3RlcChcInRlc3RcIiwgXCJDb21waWxlIGFuZCBydW4gdGVzdHNcIik7XG4gICAgdGVzdF9zdGVwLmRlcGVuZE9uKCZydW5fdGVzdHMuc3RlcCk7XG59XG5gXG4iXX0=
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Repository-owned bound for frozen CST traversal and deterministic project generation. */
|
|
2
|
+
export declare const maximumZigSourceLength = 1000000;
|
|
3
|
+
/**
|
|
4
|
+
* Rejects statically impossible UTF-8 arena sizes without changing the semantic graph.
|
|
5
|
+
* @param {import("../semantic/types.js").SemanticModule} module - Fully validated module.
|
|
6
|
+
* @returns {void}
|
|
7
|
+
*/
|
|
8
|
+
export declare function validateZigValues(module: import("../semantic/types.js").SemanticModule): void;
|
|
9
|
+
//# sourceMappingURL=zig-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zig-validation.d.ts","sourceRoot":"","sources":["../../../src/backends/zig-validation.js"],"names":[],"mappings":"AAIA,4FAA4F;AAC5F,eAAO,MAAM,sBAAsB,UAAY,CAAA;AAE/C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAH7B,OAAO,sBAAsB,EAAE,cAGF,GAF3B,IAAI,CAyDhB"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { unsupportedCapability } from "../diagnostic.js";
|
|
3
|
+
/** Repository-owned bound for frozen CST traversal and deterministic project generation. */
|
|
4
|
+
export const maximumZigSourceLength = 1_000_000;
|
|
5
|
+
/**
|
|
6
|
+
* Rejects statically impossible UTF-8 arena sizes without changing the semantic graph.
|
|
7
|
+
* @param {import("../semantic/types.js").SemanticModule} module - Fully validated module.
|
|
8
|
+
* @returns {void}
|
|
9
|
+
*/
|
|
10
|
+
export function validateZigValues(module) {
|
|
11
|
+
/**
|
|
12
|
+
* Infers a known UTF-8 byte size while validating literal shape.
|
|
13
|
+
* @param {import("../semantic/types.js").Expression} expression - Expression to inspect.
|
|
14
|
+
* @param {Map<string, bigint | undefined>} sizes - Known binding sizes.
|
|
15
|
+
* @returns {bigint | undefined} Known byte size when statically available.
|
|
16
|
+
*/
|
|
17
|
+
const size = (expression, sizes) => {
|
|
18
|
+
if (expression.kind == "IntegerLiteral" && (!Number.isSafeInteger(expression.value) || expression.value < 0 || Object.is(expression.value, -0))) {
|
|
19
|
+
unsupportedCapability("zig", "non-safe or noncanonical i64 literal", expression.location);
|
|
20
|
+
}
|
|
21
|
+
if (expression.kind == "StringLiteral")
|
|
22
|
+
return BigInt(Buffer.byteLength(expression.value, "utf8"));
|
|
23
|
+
if (expression.kind == "IdentifierExpression")
|
|
24
|
+
return sizes.get(expression.name);
|
|
25
|
+
if (expression.kind == "CallExpression")
|
|
26
|
+
expression.arguments.forEach(argument => size(argument, sizes));
|
|
27
|
+
else if (expression.kind == "UnaryExpression")
|
|
28
|
+
size(expression.operand, sizes);
|
|
29
|
+
else if (expression.kind == "BinaryExpression") {
|
|
30
|
+
const left = size(expression.left, sizes);
|
|
31
|
+
const right = size(expression.right, sizes);
|
|
32
|
+
if (expression.operation == "StringConcat") {
|
|
33
|
+
if ((left ?? 0n) + (right ?? 0n) > 9223372036854775807n) {
|
|
34
|
+
unsupportedCapability("zig", "known immutable UTF-8 slice exceeds the qualified native allocation limit", expression.location);
|
|
35
|
+
}
|
|
36
|
+
if (left !== undefined && right !== undefined)
|
|
37
|
+
return left + right;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Propagates conservative known string sizes through one block.
|
|
44
|
+
* @param {import("../semantic/types.js").Block} block - Block to inspect.
|
|
45
|
+
* @param {Map<string, bigint | undefined>} inherited - Sizes visible on entry.
|
|
46
|
+
* @returns {Map<string, bigint | undefined>} Sizes known after the block.
|
|
47
|
+
*/
|
|
48
|
+
const visit = (block, inherited) => {
|
|
49
|
+
const sizes = new Map(inherited);
|
|
50
|
+
for (const statement of block.statements) {
|
|
51
|
+
if (statement.kind == "LocalDeclaration")
|
|
52
|
+
sizes.set(statement.name, size(statement.initializer, sizes));
|
|
53
|
+
else if (statement.kind == "AssignmentStatement")
|
|
54
|
+
sizes.set(statement.target.name, size(statement.expression, sizes));
|
|
55
|
+
else if (statement.kind == "IfStatement") {
|
|
56
|
+
size(statement.condition, sizes);
|
|
57
|
+
const left = visit(statement.consequent, sizes);
|
|
58
|
+
const right = statement.alternate ? visit(statement.alternate, sizes) : sizes;
|
|
59
|
+
for (const name of sizes.keys())
|
|
60
|
+
sizes.set(name, left.get(name) === right.get(name) ? left.get(name) : undefined);
|
|
61
|
+
}
|
|
62
|
+
else if (statement.kind == "ExpressionStatement" || statement.kind == "PrintStatement" || statement.kind == "ReturnStatement") {
|
|
63
|
+
if (statement.expression)
|
|
64
|
+
size(statement.expression, sizes);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return sizes;
|
|
68
|
+
};
|
|
69
|
+
for (const declaration of module.functions)
|
|
70
|
+
visit(declaration.body, new Map());
|
|
71
|
+
visit(module.entryPoint.body, new Map());
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemlnLXZhbGlkYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2VuZHMvemlnLXZhbGlkYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGtCQUFrQixDQUFBO0FBRXRELDRGQUE0RjtBQUM1RixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxTQUFTLENBQUE7QUFFL0M7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxNQUFNO0lBQ3RDOzs7OztPQUtHO0lBQ0gsTUFBTSxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDakMsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLGdCQUFnQixJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEoscUJBQXFCLENBQUMsS0FBSyxFQUFFLHNDQUFzQyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUMzRixDQUFDO1FBQ0QsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLGVBQWU7WUFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQTtRQUNsRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksc0JBQXNCO1lBQUUsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNoRixJQUFJLFVBQVUsQ0FBQyxJQUFJLElBQUksZ0JBQWdCO1lBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxP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LFNBQVMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDN0QsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUMsQ0FBQTtJQUVELEtBQUssTUFBTSxXQUFXLElBQUksTUFBTSxDQUFDLFNBQVM7UUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUE7SUFDOUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQTtBQUMxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7dW5zdXBwb3J0ZWRDYXBhYmlsaXR5fSBmcm9tIFwiLi4vZGlhZ25vc3RpYy5qc1wiXG5cbi8qKiBSZXBvc2l0b3J5LW93bmVkIGJvdW5kIGZvciBmcm96ZW4gQ1NUIHRyYXZlcnNhbCBhbmQgZGV0ZXJtaW5pc3RpYyBwcm9qZWN0IGdlbmVyYXRpb24uICovXG5leHBvcnQgY29uc3QgbWF4aW11bVppZ1NvdXJjZUxlbmd0aCA9IDFfMDAwXzAwMFxuXG4vKipcbiAqIFJlamVjdHMgc3RhdGljYWxseSBpbXBvc3NpYmxlIFVURi04IGFyZW5hIHNpemVzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIHNlbWFudGljIGdyYXBoLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuLi9zZW1hbnRpYy90eXBlcy5qc1wiKS5TZW1hbnRpY01vZHVsZX0gbW9kdWxlIC0gRnVsbHkgdmFsaWRhdGVkIG1vZHVsZS5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVaaWdWYWx1ZXMobW9kdWxlKSB7XG4gIC8qKlxuICAgKiBJbmZlcnMgYSBrbm93biBVVEYtOCBieXRlIHNpemUgd2hpbGUgdmFsaWRhdGluZyBsaXRlcmFsIHNoYXBlLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLkV4cHJlc3Npb259IGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7TWFwPHN0cmluZywgYmlnaW50IHwgdW5kZWZpbmVkPn0gc2l6ZXMgLSBLbm93biBiaW5kaW5nIHNpemVzLlxuICAgKiBAcmV0dXJucyB7YmlnaW50IHwgdW5kZWZpbmVkfSBLbm93biBieXRlIHNpemUgd2hlbiBzdGF0aWNhbGx5IGF2YWlsYWJsZS5cbiAgICovXG4gIGNvbnN0IHNpemUgPSAoZXhwcmVzc2lvbiwgc2l6ZXMpID0+IHtcbiAgICBpZiAoZXhwcmVzc2lvbi5raW5kID09IFwiSW50ZWdlckxpdGVyYWxcIiAmJiAoIU51bWJlci5pc1NhZmVJbnRlZ2VyKGV4cHJlc3Npb24udmFsdWUpIHx8IGV4cHJlc3Npb24udmFsdWUgPCAwIHx8IE9iamVjdC5pcyhleHByZXNzaW9uLnZhbHVlLCAtMCkpKSB7XG4gICAgICB1bnN1cHBvcnRlZENhcGFiaWxpdHkoXCJ6aWdcIiwgXCJub24tc2FmZSBvciBub25jYW5vbmljYWwgaTY0IGxpdGVyYWxcIiwgZXhwcmVzc2lvbi5sb2NhdGlvbilcbiAgICB9XG4gICAgaWYgKGV4cHJlc3Npb24ua2luZCA9PSBcIlN0cmluZ0xpdGVyYWxcIikgcmV0dXJuIEJpZ0ludChCdWZmZXIuYnl0ZUxlbmd0aChleHByZXNzaW9uLnZhbHVlLCBcInV0ZjhcIikpXG4gICAgaWYgKGV4cHJlc3Npb24ua2luZCA9PSBcIklkZW50aWZpZXJFeHByZXNzaW9uXCIpIHJldHVybiBzaXplcy5nZXQoZXhwcmVzc2lvbi5uYW1lKVxuICAgIGlmIChleHByZXNzaW9uLmtpbmQgPT0gXCJDYWxsRXhwcmVzc2lvblwiKSBleHByZXNzaW9uLmFyZ3VtZW50cy5mb3JFYWNoKGFyZ3VtZW50ID0+IHNpemUoYXJndW1lbnQsIHNpemVzKSlcbiAgICBlbHNlIGlmIChleHByZXNzaW9uLmtpbmQgPT0gXCJVbmFyeUV4cHJlc3Npb25cIikgc2l6ZShleHByZXNzaW9uLm9wZXJhbmQsIHNpemVzKVxuICAgIGVsc2UgaWYgKGV4cHJlc3Npb24ua2luZCA9PSBcIkJpbmFyeUV4cHJlc3Npb25cIikge1xuICAgICAgY29uc3QgbGVmdCA9IHNpemUoZXhwcmVzc2lvbi5sZWZ0LCBzaXplcylcbiAgICAgIGNvbnN0IHJpZ2h0ID0gc2l6ZShleHByZXNzaW9uLnJpZ2h0LCBzaXplcylcblxuICAgICAgaWYgKGV4cHJlc3Npb24ub3BlcmF0aW9uID09IFwiU3RyaW5nQ29uY2F0XCIpIHtcbiAgICAgICAgaWYgKChsZWZ0ID8/IDBuKSArIChyaWdodCA/PyAwbikgPiA5MjIzMzcyMDM2ODU0Nzc1ODA3bikge1xuICAgICAgICAgIHVuc3VwcG9ydGVkQ2FwYWJpbGl0eShcInppZ1wiLCBcImtub3duIGltbXV0YWJsZSBVVEYtOCBzbGljZSBleGNlZWRzIHRoZSBxdWFsaWZpZWQgbmF0aXZlIGFsbG9jYXRpb24gbGltaXRcIiwgZXhwcmVzc2lvbi5sb2NhdGlvbilcbiAgICAgICAgfVxuICAgICAgICBpZiAobGVmdCAhPT0gdW5kZWZpbmVkICYmIHJpZ2h0ICE9PSB1bmRlZmluZWQpIHJldHVybiBsZWZ0ICsgcmlnaHRcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxuICB9XG4gIC8qKlxuICAgKiBQcm9wYWdhdGVzIGNvbnNlcnZhdGl2ZSBrbm93biBzdHJpbmcgc2l6ZXMgdGhyb3VnaCBvbmUgYmxvY2suXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vc2VtYW50aWMvdHlwZXMuanNcIikuQmxvY2t9IGJsb2NrIC0gQmxvY2sgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHtNYXA8c3RyaW5nLCBiaWdpbnQgfCB1bmRlZmluZWQ+fSBpbmhlcml0ZWQgLSBTaXplcyB2aXNpYmxlIG9uIGVudHJ5LlxuICAgKiBAcmV0dXJucyB7TWFwPHN0cmluZywgYmlnaW50IHwgdW5kZWZpbmVkPn0gU2l6ZXMga25vd24gYWZ0ZXIgdGhlIGJsb2NrLlxuICAgKi9cbiAgY29uc3QgdmlzaXQgPSAoYmxvY2ssIGluaGVyaXRlZCkgPT4ge1xuICAgIGNvbnN0IHNpemVzID0gbmV3IE1hcChpbmhlcml0ZWQpXG5cbiAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBibG9jay5zdGF0ZW1lbnRzKSB7XG4gICAgICBpZiAoc3RhdGVtZW50LmtpbmQgPT0gXCJMb2NhbERlY2xhcmF0aW9uXCIpIHNpemVzLnNldChzdGF0ZW1lbnQubmFtZSwgc2l6ZShzdGF0ZW1lbnQuaW5pdGlhbGl6ZXIsIHNpemVzKSlcbiAgICAgIGVsc2UgaWYgKHN0YXRlbWVudC5raW5kID09IFwiQXNzaWdubWVudFN0YXRlbWVudFwiKSBzaXplcy5zZXQoc3RhdGVtZW50LnRhcmdldC5uYW1lLCBzaXplKHN0YXRlbWVudC5leHByZXNzaW9uLCBzaXplcykpXG4gICAgICBlbHNlIGlmIChzdGF0ZW1lbnQua2luZCA9PSBcIklmU3RhdGVtZW50XCIpIHtcbiAgICAgICAgc2l6ZShzdGF0ZW1lbnQuY29uZGl0aW9uLCBzaXplcylcbiAgICAgICAgY29uc3QgbGVmdCA9IHZpc2l0KHN0YXRlbWVudC5jb25zZXF1ZW50LCBzaXplcylcbiAgICAgICAgY29uc3QgcmlnaHQgPSBzdGF0ZW1lbnQuYWx0ZXJuYXRlID8gdmlzaXQoc3RhdGVtZW50LmFsdGVybmF0ZSwgc2l6ZXMpIDogc2l6ZXNcblxuICAgICAgICBmb3IgKGNvbnN0IG5hbWUgb2Ygc2l6ZXMua2V5cygpKSBzaXplcy5zZXQobmFtZSwgbGVmdC5nZXQobmFtZSkgPT09IHJpZ2h0LmdldChuYW1lKSA/IGxlZnQuZ2V0KG5hbWUpIDogdW5kZWZpbmVkKVxuICAgICAgfSBlbHNlIGlmIChzdGF0ZW1lbnQua2luZCA9PSBcIkV4cHJlc3Npb25TdGF0ZW1lbnRcIiB8fCBzdGF0ZW1lbnQua2luZCA9PSBcIlByaW50U3RhdGVtZW50XCIgfHwgc3RhdGVtZW50LmtpbmQgPT0gXCJSZXR1cm5TdGF0ZW1lbnRcIikge1xuICAgICAgICBpZiAoc3RhdGVtZW50LmV4cHJlc3Npb24pIHNpemUoc3RhdGVtZW50LmV4cHJlc3Npb24sIHNpemVzKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc2l6ZXNcbiAgfVxuXG4gIGZvciAoY29uc3QgZGVjbGFyYXRpb24gb2YgbW9kdWxlLmZ1bmN0aW9ucykgdmlzaXQoZGVjbGFyYXRpb24uYm9keSwgbmV3IE1hcCgpKVxuICB2aXNpdChtb2R1bGUuZW50cnlQb2ludC5ib2R5LCBuZXcgTWFwKCkpXG59XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type SemanticModule = import("../semantic/types.js").SemanticModule;
|
|
2
|
+
export type SemanticNode = import("../semantic/types.js").SemanticNode;
|
|
3
|
+
export type Expression = import("../semantic/types.js").Expression;
|
|
4
|
+
export type Statement = import("../semantic/types.js").Statement;
|
|
5
|
+
export type Scalar = import("../semantic/types.js").FunctionReturnTypeName;
|
|
6
|
+
export type ZigPlannedValue = {
|
|
7
|
+
expression: Expression;
|
|
8
|
+
path: string;
|
|
9
|
+
type: Scalar;
|
|
10
|
+
name?: string;
|
|
11
|
+
};
|
|
12
|
+
export type ZigPlannedStep = {
|
|
13
|
+
result: ZigPlannedValue;
|
|
14
|
+
operands: ZigPlannedValue[];
|
|
15
|
+
rightSteps?: ZigPlannedStep[];
|
|
16
|
+
};
|
|
17
|
+
export type ZigStatementPlan = {
|
|
18
|
+
id: string;
|
|
19
|
+
steps: ZigPlannedStep[];
|
|
20
|
+
terminal?: ZigPlannedStep;
|
|
21
|
+
value?: ZigPlannedValue;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Produces a deterministic dependency-free Zig 0.15.2 native project after complete preflight.
|
|
25
|
+
* @param {{filename?: string, mapDirective?: unknown, module: SemanticModule, sourceMapFilename?: unknown, sources?: {filename: string, content: string, language?: import("../semantic/types.js").SemanticLanguage}[]}} input - Artifact request.
|
|
26
|
+
* @returns {{artifacts: import("../semantic/types.js").GeneratedSetArtifact[], target: string}} Candidate project.
|
|
27
|
+
*/
|
|
28
|
+
export declare function generateZigProject({ filename, mapDirective, module, sourceMapFilename, sources }: {
|
|
29
|
+
filename?: string;
|
|
30
|
+
mapDirective?: unknown;
|
|
31
|
+
module: SemanticModule;
|
|
32
|
+
sourceMapFilename?: unknown;
|
|
33
|
+
sources?: {
|
|
34
|
+
filename: string;
|
|
35
|
+
content: string;
|
|
36
|
+
language?: import("../semantic/types.js").SemanticLanguage;
|
|
37
|
+
}[];
|
|
38
|
+
}): {
|
|
39
|
+
artifacts: import("../semantic/types.js").GeneratedSetArtifact[];
|
|
40
|
+
target: string;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=zig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zig.d.ts","sourceRoot":"","sources":["../../../src/backends/zig.js"],"names":[],"mappings":"AAcI,YAAyD,cAAc,GAA7D,OAAO,sBAAsB,EAAE,cAAc,CAAgB;AACvE,YAAuD,YAAY,GAAzD,OAAO,sBAAsB,EAAE,YAAY,CAAc;AACnE,YAAqD,UAAU,GAArD,OAAO,sBAAsB,EAAE,UAAU,CAAY;AAC/D,YAAoD,SAAS,GAAnD,OAAO,sBAAsB,EAAE,SAAS,CAAW;AAC7D,YAAiE,MAAM,GAA7D,OAAO,sBAAsB,EAAE,sBAAsB,CAAQ;AACvE,YAA+E,eAAe,GAApF;IAAC,UAAU,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAC,CAAiB;AAC9F,YAAiG,cAAc,GAArG;IAAC,MAAM,EAAE,eAAe,CAAC;IAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAA;CAAC,CAAgB;AAC/G,YAAqG,gBAAgB,GAA3G;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,cAAc,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;IAAC,KAAK,CAAC,EAAE,eAAe,CAAA;CAAC,CAAkB;AA6LzH;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAC,EAHpF;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,sBAAsB,EAAE,gBAAgB,CAAA;KAAC,EAAE,CAAA;CAGxH,GAFlF;IAAC,SAAS,EAAE,OAAO,sBAAsB,EAAE,oBAAoB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CA4B9F"}
|