semantifold 0.1.1 → 0.3.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 +42 -10
- package/build/index.d.ts +32 -3
- package/build/index.d.ts.map +1 -1
- package/build/index.js +99 -4
- package/build/src/acceptance.d.ts +32 -0
- package/build/src/acceptance.d.ts.map +1 -0
- package/build/src/acceptance.js +358 -0
- package/build/src/array.d.ts +7 -0
- package/build/src/array.d.ts.map +1 -0
- package/build/src/array.js +18 -0
- package/build/src/artifact-path.d.ts +13 -0
- package/build/src/artifact-path.d.ts.map +1 -0
- package/build/src/artifact-path.js +30 -0
- package/build/src/artifacts.d.ts +7 -0
- package/build/src/artifacts.d.ts.map +1 -0
- package/build/src/artifacts.js +389 -0
- package/build/src/backends/c-runtime.d.ts +3 -0
- package/build/src/backends/c-runtime.d.ts.map +1 -0
- package/build/src/backends/c-runtime.js +151 -0
- package/build/src/backends/c-validation.d.ts +12 -0
- package/build/src/backends/c-validation.d.ts.map +1 -0
- package/build/src/backends/c-validation.js +85 -0
- package/build/src/backends/c.d.ts +31 -0
- package/build/src/backends/c.d.ts.map +1 -0
- package/build/src/backends/c.js +308 -0
- package/build/src/backends/cpp-runtime.d.ts +3 -0
- package/build/src/backends/cpp-runtime.d.ts.map +1 -0
- package/build/src/backends/cpp-runtime.js +99 -0
- package/build/src/backends/cpp-validation.d.ts +9 -0
- package/build/src/backends/cpp-validation.d.ts.map +1 -0
- package/build/src/backends/cpp-validation.js +74 -0
- package/build/src/backends/cpp.d.ts +16 -0
- package/build/src/backends/cpp.d.ts.map +1 -0
- package/build/src/backends/cpp.js +285 -0
- package/build/src/backends/csharp.d.ts +20 -0
- package/build/src/backends/csharp.d.ts.map +1 -0
- package/build/src/backends/csharp.js +259 -0
- package/build/src/backends/go.d.ts +20 -0
- package/build/src/backends/go.d.ts.map +1 -0
- package/build/src/backends/go.js +374 -0
- package/build/src/backends/identifiers.d.ts +12 -0
- package/build/src/backends/identifiers.d.ts.map +1 -1
- package/build/src/backends/identifiers.js +79 -2
- package/build/src/backends/index.d.ts.map +1 -1
- package/build/src/backends/index.js +27 -37
- package/build/src/backends/native-validation.d.ts +9 -0
- package/build/src/backends/native-validation.d.ts.map +1 -0
- package/build/src/backends/native-validation.js +59 -0
- package/build/src/backends/ordered-expressions.d.ts +74 -0
- package/build/src/backends/ordered-expressions.d.ts.map +1 -0
- package/build/src/backends/ordered-expressions.js +159 -0
- package/build/src/backends/python.d.ts +8 -0
- package/build/src/backends/python.d.ts.map +1 -0
- package/build/src/backends/python.js +162 -0
- package/build/src/backends/scalars.d.ts.map +1 -1
- package/build/src/backends/scalars.js +8 -2
- package/build/src/backends/shared.d.ts.map +1 -1
- package/build/src/backends/shared.js +67 -19
- package/build/src/binary-mapping.d.ts +32 -0
- package/build/src/binary-mapping.d.ts.map +1 -0
- package/build/src/binary-mapping.js +285 -0
- package/build/src/diagnostic.d.ts +36 -4
- package/build/src/diagnostic.d.ts.map +1 -1
- package/build/src/diagnostic.js +42 -3
- package/build/src/frontends/c-parser.d.ts +20 -0
- package/build/src/frontends/c-parser.d.ts.map +1 -0
- package/build/src/frontends/c-parser.js +14 -0
- package/build/src/frontends/c.d.ts +220 -0
- package/build/src/frontends/c.d.ts.map +1 -0
- package/build/src/frontends/c.js +750 -0
- package/build/src/frontends/cpp-parser.d.ts +11 -0
- package/build/src/frontends/cpp-parser.d.ts.map +1 -0
- package/build/src/frontends/cpp-parser.js +15 -0
- package/build/src/frontends/cpp.d.ts +227 -0
- package/build/src/frontends/cpp.d.ts.map +1 -0
- package/build/src/frontends/cpp.js +784 -0
- package/build/src/frontends/csharp.d.ts +14 -0
- package/build/src/frontends/csharp.d.ts.map +1 -0
- package/build/src/frontends/csharp.js +708 -0
- package/build/src/frontends/go.d.ts +15 -0
- package/build/src/frontends/go.d.ts.map +1 -0
- package/build/src/frontends/go.js +712 -0
- package/build/src/frontends/index.d.ts.map +1 -1
- package/build/src/frontends/index.js +5 -23
- package/build/src/frontends/python.d.ts +14 -0
- package/build/src/frontends/python.d.ts.map +1 -0
- package/build/src/frontends/python.js +615 -0
- package/build/src/frontends/scalars.d.ts.map +1 -1
- package/build/src/frontends/scalars.js +21 -1
- package/build/src/language-registry.d.ts +113 -0
- package/build/src/language-registry.d.ts.map +1 -0
- package/build/src/language-registry.js +421 -0
- package/build/src/mapping.js +3 -2
- package/build/src/semantic/location.d.ts +7 -0
- package/build/src/semantic/location.d.ts.map +1 -1
- package/build/src/semantic/location.js +10 -1
- package/build/src/semantic/provenance.js +3 -3
- package/build/src/semantic/types.d.ts +399 -2
- package/build/src/semantic/types.d.ts.map +1 -1
- package/build/src/semantic/types.js +110 -2
- package/build/src/subprocess.d.ts +38 -0
- package/build/src/subprocess.d.ts.map +1 -0
- package/build/src/subprocess.js +233 -0
- package/build/src/timeout.d.ts +8 -0
- package/build/src/timeout.d.ts.map +1 -0
- package/build/src/timeout.js +11 -0
- package/build/src/toolchains.d.ts +107 -0
- package/build/src/toolchains.d.ts.map +1 -0
- package/build/src/toolchains.js +417 -0
- package/docs/architecture.md +23 -5
- package/docs/c.md +60 -0
- package/docs/cpp.md +61 -0
- package/docs/goals.md +4 -2
- package/docs/language-support.md +46 -6
- package/docs/parser-qualification.md +219 -0
- package/docs/plans/2026-09-05-standard-library-portability.md +46 -0
- package/docs/source-maps.md +38 -5
- package/docs/standard-library-portability.md +190 -0
- package/docs/testing.md +131 -3
- package/index.js +109 -4
- package/node_modules/node-addon-api/LICENSE.md +9 -0
- package/node_modules/node-addon-api/README.md +95 -0
- package/node_modules/node-addon-api/common.gypi +21 -0
- package/node_modules/node-addon-api/except.gypi +25 -0
- package/node_modules/node-addon-api/index.js +14 -0
- package/node_modules/node-addon-api/napi-inl.deprecated.h +186 -0
- package/node_modules/node-addon-api/napi-inl.h +7250 -0
- package/node_modules/node-addon-api/napi.h +3463 -0
- package/node_modules/node-addon-api/node_addon_api.gyp +42 -0
- package/node_modules/node-addon-api/node_api.gyp +9 -0
- package/node_modules/node-addon-api/noexcept.gypi +26 -0
- package/node_modules/node-addon-api/nothing.c +0 -0
- package/node_modules/node-addon-api/package-support.json +21 -0
- package/node_modules/node-addon-api/package.json +481 -0
- package/node_modules/node-addon-api/tools/README.md +73 -0
- package/node_modules/node-addon-api/tools/check-napi.js +99 -0
- package/node_modules/node-addon-api/tools/clang-format.js +71 -0
- package/node_modules/node-addon-api/tools/conversion.js +301 -0
- package/node_modules/node-gyp-build/LICENSE +21 -0
- package/node_modules/node-gyp-build/README.md +58 -0
- package/node_modules/node-gyp-build/SECURITY.md +5 -0
- package/node_modules/node-gyp-build/bin.js +84 -0
- package/node_modules/node-gyp-build/build-test.js +19 -0
- package/node_modules/node-gyp-build/index.js +6 -0
- package/node_modules/node-gyp-build/node-gyp-build.js +207 -0
- package/node_modules/node-gyp-build/optional.js +7 -0
- package/node_modules/node-gyp-build/package.json +43 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/LICENSE +15 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/README.md +7 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/LICENSE +21 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/README.md +90 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/binding.gyp +79 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/index.js +895 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/package.json +62 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/addon_data.h +47 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/binding.cc +35 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/conversions.cc +140 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/conversions.h +22 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/language.cc +106 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/language.h +17 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/logger.cc +70 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/logger.h +19 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/node.cc +1056 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/node.h +30 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/parser.cc +298 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/parser.h +35 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/query.cc +383 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/query.h +39 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree.cc +307 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree.h +45 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/src/tree_cursor.h +52 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/tree-sitter.d.ts +211 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1266 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +290 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +501 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +221 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +299 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +419 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +49 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +14 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +774 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2151 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +230 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +62 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4134 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +899 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1060 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +382 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +165 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +714 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +50 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +23 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +109 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1294 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1823 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/LICENSE +21 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/README.md +18 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/binding.gyp +29 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/binding.cc +20 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/binding_test.js +9 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/index.d.ts +28 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/bindings/node/index.js +11 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/grammar.js +1470 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/package.json +60 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/darwin-arm64/tree-sitter-c.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/darwin-x64/tree-sitter-c.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/linux-arm64/tree-sitter-c.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/linux-x64/tree-sitter-c.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/win32-arm64/tree-sitter-c.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/prebuilds/win32-x64/tree-sitter-c.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/queries/highlights.scm +81 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/queries/tags.scm +9 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/grammar.json +9735 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/node-types.json +4614 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/parser.c +119615 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/alloc.h +54 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/array.h +290 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/src/tree_sitter/parser.h +266 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/tree-sitter-c.wasm +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-c/tree-sitter.json +43 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/LICENSE +21 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/README.md +22 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/binding.gyp +30 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/binding.cc +20 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/binding_test.js +9 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/index.d.ts +28 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/bindings/node/index.js +11 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/grammar.js +1436 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/package.json +61 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/darwin-arm64/tree-sitter-cpp.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/darwin-x64/tree-sitter-cpp.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/linux-arm64/tree-sitter-cpp.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/linux-x64/tree-sitter-cpp.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/win32-arm64/tree-sitter-cpp.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/prebuilds/win32-x64/tree-sitter-cpp.node +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/highlights.scm +70 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/injections.scm +3 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/queries/tags.scm +15 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/grammar.json +17084 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/node-types.json +7997 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/parser.c +530368 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/scanner.c +148 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/alloc.h +54 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/array.h +290 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/src/tree_sitter/parser.h +266 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/tree-sitter-cpp.wasm +0 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/node_modules/tree-sitter-cpp/tree-sitter.json +55 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/package.json +22 -0
- package/node_modules/semantifold-tree-sitter-legacy-internal/src/c.js +152 -0
- package/node_modules/tree-sitter/LICENSE +21 -0
- package/node_modules/tree-sitter/README.md +128 -0
- package/node_modules/tree-sitter/binding.gyp +88 -0
- package/node_modules/tree-sitter/index.js +950 -0
- package/node_modules/tree-sitter/package.json +76 -0
- package/node_modules/tree-sitter/prebuilds/darwin-arm64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/darwin-x64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/linux-arm64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/linux-x64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/win32-arm64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/prebuilds/win32-x64/tree-sitter.node +0 -0
- package/node_modules/tree-sitter/src/addon_data.h +47 -0
- package/node_modules/tree-sitter/src/binding.cc +35 -0
- package/node_modules/tree-sitter/src/conversions.cc +140 -0
- package/node_modules/tree-sitter/src/conversions.h +22 -0
- package/node_modules/tree-sitter/src/language.cc +105 -0
- package/node_modules/tree-sitter/src/language.h +17 -0
- package/node_modules/tree-sitter/src/logger.cc +70 -0
- package/node_modules/tree-sitter/src/logger.h +19 -0
- package/node_modules/tree-sitter/src/lookaheaditerator.cc +122 -0
- package/node_modules/tree-sitter/src/lookaheaditerator.h +33 -0
- package/node_modules/tree-sitter/src/node.cc +1088 -0
- package/node_modules/tree-sitter/src/node.h +30 -0
- package/node_modules/tree-sitter/src/parser.cc +332 -0
- package/node_modules/tree-sitter/src/parser.h +35 -0
- package/node_modules/tree-sitter/src/query.cc +425 -0
- package/node_modules/tree-sitter/src/query.h +40 -0
- package/node_modules/tree-sitter/src/tree.cc +316 -0
- package/node_modules/tree-sitter/src/tree.h +45 -0
- package/node_modules/tree-sitter/src/tree_cursor.cc +213 -0
- package/node_modules/tree-sitter/src/tree_cursor.h +52 -0
- package/node_modules/tree-sitter/tree-sitter.d.ts +1083 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +1478 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +48 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +41 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +291 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +68 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +146 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +11 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +523 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +36 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +21 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +293 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +293 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +52 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +483 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +54 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +12 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +875 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +2297 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +286 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +48 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +241 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +4347 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +34 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +95 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +912 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +133 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +1034 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +399 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +170 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +31 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +716 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +48 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +11 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +414 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +29 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +448 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +1 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +733 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +881 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +75 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +24 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +137 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +1314 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +1937 -0
- package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +31 -0
- package/package.json +24 -6
- package/src/acceptance.js +380 -0
- package/src/array.js +19 -0
- package/src/artifact-path.js +34 -0
- package/src/artifacts.js +420 -0
- package/src/backends/c-runtime.js +151 -0
- package/src/backends/c-validation.js +83 -0
- package/src/backends/c.js +308 -0
- package/src/backends/cpp-runtime.js +99 -0
- package/src/backends/cpp-validation.js +70 -0
- package/src/backends/cpp.js +285 -0
- package/src/backends/csharp.js +270 -0
- package/src/backends/go.js +383 -0
- package/src/backends/identifiers.js +80 -1
- package/src/backends/index.js +23 -32
- package/src/backends/native-validation.js +64 -0
- package/src/backends/ordered-expressions.js +161 -0
- package/src/backends/python.js +175 -0
- package/src/backends/scalars.js +8 -1
- package/src/backends/shared.js +64 -17
- package/src/binary-mapping.js +305 -0
- package/src/diagnostic.js +34 -2
- package/src/frontends/c-parser.js +17 -0
- package/src/frontends/c.js +780 -0
- package/src/frontends/cpp-parser.js +18 -0
- package/src/frontends/cpp.js +816 -0
- package/src/frontends/csharp.js +759 -0
- package/src/frontends/go.js +770 -0
- package/src/frontends/index.js +5 -20
- package/src/frontends/python.js +689 -0
- package/src/frontends/scalars.js +20 -0
- package/src/language-registry.js +454 -0
- package/src/mapping.js +2 -1
- package/src/semantic/location.js +10 -0
- package/src/semantic/provenance.js +2 -2
- package/src/semantic/types.js +124 -1
- package/src/subprocess.js +232 -0
- package/src/timeout.js +12 -0
- package/src/toolchains.js +448 -0
- package/tsconfig.json +1 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
/** Canonical C17 support header; native ownership never enters semantic IR. */
|
|
3
|
+
export const cRuntimeHeader = `#ifndef SEMANTIFOLD_RUNTIME_H
|
|
4
|
+
#define SEMANTIFOLD_RUNTIME_H
|
|
5
|
+
|
|
6
|
+
#include <stdbool.h>
|
|
7
|
+
#include <stddef.h>
|
|
8
|
+
#include <stdint.h>
|
|
9
|
+
#include <limits.h>
|
|
10
|
+
#include <stdio.h>
|
|
11
|
+
#include <stdlib.h>
|
|
12
|
+
#include <string.h>
|
|
13
|
+
|
|
14
|
+
_Static_assert(CHAR_BIT == 8, "Semantifold requires eight-bit bytes");
|
|
15
|
+
_Static_assert(sizeof(int64_t) == 8, "Semantifold requires exact int64_t");
|
|
16
|
+
_Static_assert(sizeof(size_t) == 8 && PTRDIFF_MAX == INT64_MAX, "Semantifold requires the qualified 64-bit ABI");
|
|
17
|
+
|
|
18
|
+
typedef struct {
|
|
19
|
+
const unsigned char *data;
|
|
20
|
+
size_t length;
|
|
21
|
+
} SemantifoldString;
|
|
22
|
+
|
|
23
|
+
#define SEMANTIFOLD_STRING(literal) ((SemantifoldString){(const unsigned char *)(literal), sizeof(literal) - 1})
|
|
24
|
+
|
|
25
|
+
typedef struct SemantifoldAllocation {
|
|
26
|
+
struct SemantifoldAllocation *next;
|
|
27
|
+
unsigned char data[];
|
|
28
|
+
} SemantifoldAllocation;
|
|
29
|
+
|
|
30
|
+
_Static_assert(sizeof(SemantifoldAllocation) == 8, "Semantifold requires the qualified arena metadata size");
|
|
31
|
+
|
|
32
|
+
static SemantifoldAllocation *semantifold_arena = NULL;
|
|
33
|
+
static size_t semantifold_arena_bytes = 0;
|
|
34
|
+
|
|
35
|
+
static inline void semantifold_cleanup(void) {
|
|
36
|
+
while (semantifold_arena != NULL) {
|
|
37
|
+
SemantifoldAllocation *allocation = semantifold_arena;
|
|
38
|
+
semantifold_arena = allocation->next;
|
|
39
|
+
free(allocation);
|
|
40
|
+
}
|
|
41
|
+
semantifold_arena_bytes = 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
_Noreturn static inline void semantifold_fatal(const char *message, size_t length) {
|
|
45
|
+
semantifold_cleanup();
|
|
46
|
+
(void)fwrite(message, 1, length, stderr);
|
|
47
|
+
exit(70);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static inline int64_t semantifold_integer_add(int64_t left, int64_t right) {
|
|
51
|
+
int64_t result;
|
|
52
|
+
if (__builtin_add_overflow(left, right, &result)) {
|
|
53
|
+
semantifold_fatal("semantifold: integer overflow\\n", sizeof("semantifold: integer overflow\\n") - 1);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static inline int64_t semantifold_integer_subtract(int64_t left, int64_t right) {
|
|
59
|
+
int64_t result;
|
|
60
|
+
if (__builtin_sub_overflow(left, right, &result)) {
|
|
61
|
+
semantifold_fatal("semantifold: integer overflow\\n", sizeof("semantifold: integer overflow\\n") - 1);
|
|
62
|
+
}
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static inline int64_t semantifold_integer_multiply(int64_t left, int64_t right) {
|
|
67
|
+
int64_t result;
|
|
68
|
+
if (__builtin_mul_overflow(left, right, &result)) {
|
|
69
|
+
semantifold_fatal("semantifold: integer overflow\\n", sizeof("semantifold: integer overflow\\n") - 1);
|
|
70
|
+
}
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
static inline int64_t semantifold_integer_negate(int64_t value) {
|
|
75
|
+
return semantifold_integer_subtract(INT64_C(0), value);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
static inline size_t semantifold_allocation_size(size_t left, size_t right) {
|
|
79
|
+
const size_t maximum = (size_t)PTRDIFF_MAX;
|
|
80
|
+
if (left > maximum || right > maximum - left ||
|
|
81
|
+
left + right > maximum - sizeof(SemantifoldAllocation)) {
|
|
82
|
+
semantifold_fatal("semantifold: allocation size\\n", sizeof("semantifold: allocation size\\n") - 1);
|
|
83
|
+
}
|
|
84
|
+
const size_t size = sizeof(SemantifoldAllocation) + left + right;
|
|
85
|
+
if (semantifold_arena_bytes > maximum - size) {
|
|
86
|
+
semantifold_fatal("semantifold: allocation size\\n", sizeof("semantifold: allocation size\\n") - 1);
|
|
87
|
+
}
|
|
88
|
+
return size;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
static inline SemantifoldString semantifold_string_concat(SemantifoldString left, SemantifoldString right) {
|
|
92
|
+
const size_t size = semantifold_allocation_size(left.length, right.length);
|
|
93
|
+
SemantifoldAllocation *allocation = malloc(size);
|
|
94
|
+
if (allocation == NULL) {
|
|
95
|
+
semantifold_fatal("semantifold: allocation failure\\n", sizeof("semantifold: allocation failure\\n") - 1);
|
|
96
|
+
}
|
|
97
|
+
allocation->next = semantifold_arena;
|
|
98
|
+
semantifold_arena = allocation;
|
|
99
|
+
semantifold_arena_bytes += size;
|
|
100
|
+
if (left.length != 0) (void)memcpy(allocation->data, left.data, left.length);
|
|
101
|
+
if (right.length != 0) (void)memcpy(allocation->data + left.length, right.data, right.length);
|
|
102
|
+
return (SemantifoldString){allocation->data, left.length + right.length};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
static inline bool semantifold_string_equal(SemantifoldString left, SemantifoldString right) {
|
|
106
|
+
return left.length == right.length && (left.length == 0 || memcmp(left.data, right.data, left.length) == 0);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
static inline bool semantifold_string_not_equal(SemantifoldString left, SemantifoldString right) {
|
|
110
|
+
return !semantifold_string_equal(left, right);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
static inline void semantifold_write(const unsigned char *data, size_t length) {
|
|
114
|
+
if (length != 0 && fwrite(data, 1, length, stdout) != length) {
|
|
115
|
+
semantifold_fatal("semantifold: output failure\\n", sizeof("semantifold: output failure\\n") - 1);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
static inline void semantifold_newline(void) {
|
|
120
|
+
semantifold_write((const unsigned char *)"\\n", 1);
|
|
121
|
+
if (fflush(stdout) != 0) semantifold_fatal("semantifold: output failure\\n", sizeof("semantifold: output failure\\n") - 1);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
static inline void semantifold_print_string(SemantifoldString value) {
|
|
125
|
+
semantifold_write(value.data, value.length);
|
|
126
|
+
semantifold_newline();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
static inline void semantifold_print_boolean(bool value) {
|
|
130
|
+
if (value) semantifold_write((const unsigned char *)"true", 4);
|
|
131
|
+
else semantifold_write((const unsigned char *)"false", 5);
|
|
132
|
+
semantifold_newline();
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
static inline void semantifold_print_integer(int64_t value) {
|
|
136
|
+
unsigned char digits[20];
|
|
137
|
+
size_t position = sizeof(digits);
|
|
138
|
+
uint64_t magnitude = (uint64_t)value;
|
|
139
|
+
if (value < 0) magnitude = UINT64_C(0) - magnitude;
|
|
140
|
+
do {
|
|
141
|
+
digits[--position] = (unsigned char)(UINT64_C(48) + magnitude % UINT64_C(10));
|
|
142
|
+
magnitude /= UINT64_C(10);
|
|
143
|
+
} while (magnitude != 0);
|
|
144
|
+
if (value < 0) digits[--position] = (unsigned char)45;
|
|
145
|
+
semantifold_write(digits + position, sizeof(digits) - position);
|
|
146
|
+
semantifold_newline();
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
#endif
|
|
150
|
+
`;
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYy1ydW50aW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tlbmRzL2MtcnVudGltZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosK0VBQStFO0FBQy9FLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBbUo3QixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKiBDYW5vbmljYWwgQzE3IHN1cHBvcnQgaGVhZGVyOyBuYXRpdmUgb3duZXJzaGlwIG5ldmVyIGVudGVycyBzZW1hbnRpYyBJUi4gKi9cbmV4cG9ydCBjb25zdCBjUnVudGltZUhlYWRlciA9IGAjaWZuZGVmIFNFTUFOVElGT0xEX1JVTlRJTUVfSFxuI2RlZmluZSBTRU1BTlRJRk9MRF9SVU5USU1FX0hcblxuI2luY2x1ZGUgPHN0ZGJvb2wuaD5cbiNpbmNsdWRlIDxzdGRkZWYuaD5cbiNpbmNsdWRlIDxzdGRpbnQuaD5cbiNpbmNsdWRlIDxsaW1pdHMuaD5cbiNpbmNsdWRlIDxzdGRpby5oPlxuI2luY2x1ZGUgPHN0ZGxpYi5oPlxuI2luY2x1ZGUgPHN0cmluZy5oPlxuXG5fU3RhdGljX2Fzc2VydChDSEFSX0JJVCA9PSA4LCBcIlNlbWFudGlmb2xkIHJlcXVpcmVzIGVpZ2h0LWJpdCBieXRlc1wiKTtcbl9TdGF0aWNfYXNzZXJ0KHNpemVvZihpbnQ2NF90KSA9PSA4LCBcIlNlbWFudGlmb2xkIHJlcXVpcmVzIGV4YWN0IGludDY0X3RcIik7XG5fU3RhdGljX2Fzc2VydChzaXplb2Yoc2l6ZV90KSA9PSA4ICYmIFBUUkRJRkZfTUFYID09IElOVDY0X01BWCwgXCJTZW1hbnRpZm9sZCByZXF1aXJlcyB0aGUgcXVhbGlmaWVkIDY0LWJpdCBBQklcIik7XG5cbnR5cGVkZWYgc3RydWN0IHtcbiAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhO1xuICAgIHNpemVfdCBsZW5ndGg7XG59IFNlbWFudGlmb2xkU3RyaW5nO1xuXG4jZGVmaW5lIFNFTUFOVElGT0xEX1NUUklORyhsaXRlcmFsKSAoKFNlbWFudGlmb2xkU3RyaW5nKXsoY29uc3QgdW5zaWduZWQgY2hhciAqKShsaXRlcmFsKSwgc2l6ZW9mKGxpdGVyYWwpIC0gMX0pXG5cbnR5cGVkZWYgc3RydWN0IFNlbWFudGlmb2xkQWxsb2NhdGlvbiB7XG4gICAgc3RydWN0IFNlbWFudGlmb2xkQWxsb2NhdGlvbiAqbmV4dDtcbiAgICB1bnNpZ25lZCBjaGFyIGRhdGFbXTtcbn0gU2VtYW50aWZvbGRBbGxvY2F0aW9uO1xuXG5fU3RhdGljX2Fzc2VydChzaXplb2YoU2VtYW50aWZvbGRBbGxvY2F0aW9uKSA9PSA4LCBcIlNlbWFudGlmb2xkIHJlcXVpcmVzIHRoZSBxdWFsaWZpZWQgYXJlbmEgbWV0YWRhdGEgc2l6ZVwiKTtcblxuc3RhdGljIFNlbWFudGlmb2xkQWxsb2NhdGlvbiAqc2VtYW50aWZvbGRfYXJlbmEgPSBOVUxMO1xuc3RhdGljIHNpemVfdCBzZW1hbnRpZm9sZF9hcmVuYV9ieXRlcyA9IDA7XG5cbnN0YXRpYyBpbmxpbmUgdm9pZCBzZW1hbnRpZm9sZF9jbGVhbnVwKHZvaWQpIHtcbiAgICB3aGlsZSAoc2VtYW50aWZvbGRfYXJlbmEgIT0gTlVMTCkge1xuICAgICAgICBTZW1hbnRpZm9sZEFsbG9jYXRpb24gKmFsbG9jYXRpb24gPSBzZW1hbnRpZm9sZF9hcmVuYTtcbiAgICAgICAgc2VtYW50aWZvbGRfYXJlbmEgPSBhbGxvY2F0aW9uLT5uZXh0O1xuICAgICAgICBmcmVlKGFsbG9jYXRpb24pO1xuICAgIH1cbiAgICBzZW1hbnRpZm9sZF9hcmVuYV9ieXRlcyA9IDA7XG59XG5cbl9Ob3JldHVybiBzdGF0aWMgaW5saW5lIHZvaWQgc2VtYW50aWZvbGRfZmF0YWwoY29uc3QgY2hhciAqbWVzc2FnZSwgc2l6ZV90IGxlbmd0aCkge1xuICAgIHNlbWFudGlmb2xkX2NsZWFudXAoKTtcbiAgICAodm9pZClmd3JpdGUobWVzc2FnZSwgMSwgbGVuZ3RoLCBzdGRlcnIpO1xuICAgIGV4aXQoNzApO1xufVxuXG5zdGF0aWMgaW5saW5lIGludDY0X3Qgc2VtYW50aWZvbGRfaW50ZWdlcl9hZGQoaW50NjRfdCBsZWZ0LCBpbnQ2NF90IHJpZ2h0KSB7XG4gICAgaW50NjRfdCByZXN1bHQ7XG4gICAgaWYgKF9fYnVpbHRpbl9hZGRfb3ZlcmZsb3cobGVmdCwgcmlnaHQsICZyZXN1bHQpKSB7XG4gICAgICAgIHNlbWFudGlmb2xkX2ZhdGFsKFwic2VtYW50aWZvbGQ6IGludGVnZXIgb3ZlcmZsb3dcXFxcblwiLCBzaXplb2YoXCJzZW1hbnRpZm9sZDogaW50ZWdlciBvdmVyZmxvd1xcXFxuXCIpIC0gMSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5cbnN0YXRpYyBpbmxpbmUgaW50NjRfdCBzZW1hbnRpZm9sZF9pbnRlZ2VyX3N1YnRyYWN0KGludDY0X3QgbGVmdCwgaW50NjRfdCByaWdodCkge1xuICAgIGludDY0X3QgcmVzdWx0O1xuICAgIGlmIChfX2J1aWx0aW5fc3ViX292ZXJmbG93KGxlZnQsIHJpZ2h0LCAmcmVzdWx0KSkge1xuICAgICAgICBzZW1hbnRpZm9sZF9mYXRhbChcInNlbWFudGlmb2xkOiBpbnRlZ2VyIG92ZXJmbG93XFxcXG5cIiwgc2l6ZW9mKFwic2VtYW50aWZvbGQ6IGludGVnZXIgb3ZlcmZsb3dcXFxcblwiKSAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuXG5zdGF0aWMgaW5saW5lIGludDY0X3Qgc2VtYW50aWZvbGRfaW50ZWdlcl9tdWx0aXBseShpbnQ2NF90IGxlZnQsIGludDY0X3QgcmlnaHQpIHtcbiAgICBpbnQ2NF90IHJlc3VsdDtcbiAgICBpZiAoX19idWlsdGluX211bF9vdmVyZmxvdyhsZWZ0LCByaWdodCwgJnJlc3VsdCkpIHtcbiAgICAgICAgc2VtYW50aWZvbGRfZmF0YWwoXCJzZW1hbnRpZm9sZDogaW50ZWdlciBvdmVyZmxvd1xcXFxuXCIsIHNpemVvZihcInNlbWFudGlmb2xkOiBpbnRlZ2VyIG92ZXJmbG93XFxcXG5cIikgLSAxKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuc3RhdGljIGlubGluZSBpbnQ2NF90IHNlbWFudGlmb2xkX2ludGVnZXJfbmVnYXRlKGludDY0X3QgdmFsdWUpIHtcbiAgICByZXR1cm4gc2VtYW50aWZvbGRfaW50ZWdlcl9zdWJ0cmFjdChJTlQ2NF9DKDApLCB2YWx1ZSk7XG59XG5cbnN0YXRpYyBpbmxpbmUgc2l6ZV90IHNlbWFudGlmb2xkX2FsbG9jYXRpb25fc2l6ZShzaXplX3QgbGVmdCwgc2l6ZV90IHJpZ2h0KSB7XG4gICAgY29uc3Qgc2l6ZV90IG1heGltdW0gPSAoc2l6ZV90KVBUUkRJRkZfTUFYO1xuICAgIGlmIChsZWZ0ID4gbWF4aW11bSB8fCByaWdodCA+IG1heGltdW0gLSBsZWZ0IHx8XG4gICAgICAgIGxlZnQgKyByaWdodCA+IG1heGltdW0gLSBzaXplb2YoU2VtYW50aWZvbGRBbGxvY2F0aW9uKSkge1xuICAgICAgICBzZW1hbnRpZm9sZF9mYXRhbChcInNlbWFudGlmb2xkOiBhbGxvY2F0aW9uIHNpemVcXFxcblwiLCBzaXplb2YoXCJzZW1hbnRpZm9sZDogYWxsb2NhdGlvbiBzaXplXFxcXG5cIikgLSAxKTtcbiAgICB9XG4gICAgY29uc3Qgc2l6ZV90IHNpemUgPSBzaXplb2YoU2VtYW50aWZvbGRBbGxvY2F0aW9uKSArIGxlZnQgKyByaWdodDtcbiAgICBpZiAoc2VtYW50aWZvbGRfYXJlbmFfYnl0ZXMgPiBtYXhpbXVtIC0gc2l6ZSkge1xuICAgICAgICBzZW1hbnRpZm9sZF9mYXRhbChcInNlbWFudGlmb2xkOiBhbGxvY2F0aW9uIHNpemVcXFxcblwiLCBzaXplb2YoXCJzZW1hbnRpZm9sZDogYWxsb2NhdGlvbiBzaXplXFxcXG5cIikgLSAxKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpemU7XG59XG5cbnN0YXRpYyBpbmxpbmUgU2VtYW50aWZvbGRTdHJpbmcgc2VtYW50aWZvbGRfc3RyaW5nX2NvbmNhdChTZW1hbnRpZm9sZFN0cmluZyBsZWZ0LCBTZW1hbnRpZm9sZFN0cmluZyByaWdodCkge1xuICAgIGNvbnN0IHNpemVfdCBzaXplID0gc2VtYW50aWZvbGRfYWxsb2NhdGlvbl9zaXplKGxlZnQubGVuZ3RoLCByaWdodC5sZW5ndGgpO1xuICAgIFNlbWFudGlmb2xkQWxsb2NhdGlvbiAqYWxsb2NhdGlvbiA9IG1hbGxvYyhzaXplKTtcbiAgICBpZiAoYWxsb2NhdGlvbiA9PSBOVUxMKSB7XG4gICAgICAgIHNlbWFudGlmb2xkX2ZhdGFsKFwic2VtYW50aWZvbGQ6IGFsbG9jYXRpb24gZmFpbHVyZVxcXFxuXCIsIHNpemVvZihcInNlbWFudGlmb2xkOiBhbGxvY2F0aW9uIGZhaWx1cmVcXFxcblwiKSAtIDEpO1xuICAgIH1cbiAgICBhbGxvY2F0aW9uLT5uZXh0ID0gc2VtYW50aWZvbGRfYXJlbmE7XG4gICAgc2VtYW50aWZvbGRfYXJlbmEgPSBhbGxvY2F0aW9uO1xuICAgIHNlbWFudGlmb2xkX2FyZW5hX2J5dGVzICs9IHNpemU7XG4gICAgaWYgKGxlZnQubGVuZ3RoICE9IDApICh2b2lkKW1lbWNweShhbGxvY2F0aW9uLT5kYXRhLCBsZWZ0LmRhdGEsIGxlZnQubGVuZ3RoKTtcbiAgICBpZiAocmlnaHQubGVuZ3RoICE9IDApICh2b2lkKW1lbWNweShhbGxvY2F0aW9uLT5kYXRhICsgbGVmdC5sZW5ndGgsIHJpZ2h0LmRhdGEsIHJpZ2h0Lmxlbmd0aCk7XG4gICAgcmV0dXJuIChTZW1hbnRpZm9sZFN0cmluZyl7YWxsb2NhdGlvbi0+ZGF0YSwgbGVmdC5sZW5ndGggKyByaWdodC5sZW5ndGh9O1xufVxuXG5zdGF0aWMgaW5saW5lIGJvb2wgc2VtYW50aWZvbGRfc3RyaW5nX2VxdWFsKFNlbWFudGlmb2xkU3RyaW5nIGxlZnQsIFNlbWFudGlmb2xkU3RyaW5nIHJpZ2h0KSB7XG4gICAgcmV0dXJuIGxlZnQubGVuZ3RoID09IHJpZ2h0Lmxlbmd0aCAmJiAobGVmdC5sZW5ndGggPT0gMCB8fCBtZW1jbXAobGVmdC5kYXRhLCByaWdodC5kYXRhLCBsZWZ0Lmxlbmd0aCkgPT0gMCk7XG59XG5cbnN0YXRpYyBpbmxpbmUgYm9vbCBzZW1hbnRpZm9sZF9zdHJpbmdfbm90X2VxdWFsKFNlbWFudGlmb2xkU3RyaW5nIGxlZnQsIFNlbWFudGlmb2xkU3RyaW5nIHJpZ2h0KSB7XG4gICAgcmV0dXJuICFzZW1hbnRpZm9sZF9zdHJpbmdfZXF1YWwobGVmdCwgcmlnaHQpO1xufVxuXG5zdGF0aWMgaW5saW5lIHZvaWQgc2VtYW50aWZvbGRfd3JpdGUoY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbmd0aCkge1xuICAgIGlmIChsZW5ndGggIT0gMCAmJiBmd3JpdGUoZGF0YSwgMSwgbGVuZ3RoLCBzdGRvdXQpICE9IGxlbmd0aCkge1xuICAgICAgICBzZW1hbnRpZm9sZF9mYXRhbChcInNlbWFudGlmb2xkOiBvdXRwdXQgZmFpbHVyZVxcXFxuXCIsIHNpemVvZihcInNlbWFudGlmb2xkOiBvdXRwdXQgZmFpbHVyZVxcXFxuXCIpIC0gMSk7XG4gICAgfVxufVxuXG5zdGF0aWMgaW5saW5lIHZvaWQgc2VtYW50aWZvbGRfbmV3bGluZSh2b2lkKSB7XG4gICAgc2VtYW50aWZvbGRfd3JpdGUoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilcIlxcXFxuXCIsIDEpO1xuICAgIGlmIChmZmx1c2goc3Rkb3V0KSAhPSAwKSBzZW1hbnRpZm9sZF9mYXRhbChcInNlbWFudGlmb2xkOiBvdXRwdXQgZmFpbHVyZVxcXFxuXCIsIHNpemVvZihcInNlbWFudGlmb2xkOiBvdXRwdXQgZmFpbHVyZVxcXFxuXCIpIC0gMSk7XG59XG5cbnN0YXRpYyBpbmxpbmUgdm9pZCBzZW1hbnRpZm9sZF9wcmludF9zdHJpbmcoU2VtYW50aWZvbGRTdHJpbmcgdmFsdWUpIHtcbiAgICBzZW1hbnRpZm9sZF93cml0ZSh2YWx1ZS5kYXRhLCB2YWx1ZS5sZW5ndGgpO1xuICAgIHNlbWFudGlmb2xkX25ld2xpbmUoKTtcbn1cblxuc3RhdGljIGlubGluZSB2b2lkIHNlbWFudGlmb2xkX3ByaW50X2Jvb2xlYW4oYm9vbCB2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkgc2VtYW50aWZvbGRfd3JpdGUoKGNvbnN0IHVuc2lnbmVkIGNoYXIgKilcInRydWVcIiwgNCk7XG4gICAgZWxzZSBzZW1hbnRpZm9sZF93cml0ZSgoY29uc3QgdW5zaWduZWQgY2hhciAqKVwiZmFsc2VcIiwgNSk7XG4gICAgc2VtYW50aWZvbGRfbmV3bGluZSgpO1xufVxuXG5zdGF0aWMgaW5saW5lIHZvaWQgc2VtYW50aWZvbGRfcHJpbnRfaW50ZWdlcihpbnQ2NF90IHZhbHVlKSB7XG4gICAgdW5zaWduZWQgY2hhciBkaWdpdHNbMjBdO1xuICAgIHNpemVfdCBwb3NpdGlvbiA9IHNpemVvZihkaWdpdHMpO1xuICAgIHVpbnQ2NF90IG1hZ25pdHVkZSA9ICh1aW50NjRfdCl2YWx1ZTtcbiAgICBpZiAodmFsdWUgPCAwKSBtYWduaXR1ZGUgPSBVSU5UNjRfQygwKSAtIG1hZ25pdHVkZTtcbiAgICBkbyB7XG4gICAgICAgIGRpZ2l0c1stLXBvc2l0aW9uXSA9ICh1bnNpZ25lZCBjaGFyKShVSU5UNjRfQyg0OCkgKyBtYWduaXR1ZGUgJSBVSU5UNjRfQygxMCkpO1xuICAgICAgICBtYWduaXR1ZGUgLz0gVUlOVDY0X0MoMTApO1xuICAgIH0gd2hpbGUgKG1hZ25pdHVkZSAhPSAwKTtcbiAgICBpZiAodmFsdWUgPCAwKSBkaWdpdHNbLS1wb3NpdGlvbl0gPSAodW5zaWduZWQgY2hhcik0NTtcbiAgICBzZW1hbnRpZm9sZF93cml0ZShkaWdpdHMgKyBwb3NpdGlvbiwgc2l6ZW9mKGRpZ2l0cykgLSBwb3NpdGlvbik7XG4gICAgc2VtYW50aWZvbGRfbmV3bGluZSgpO1xufVxuXG4jZW5kaWZcbmBcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type SemanticModule = import("../semantic/types.js").SemanticModule;
|
|
2
|
+
export type Expression = import("../semantic/types.js").Expression;
|
|
3
|
+
export type SourceLocation = import("../semantic/types.js").SourceLocation;
|
|
4
|
+
/** Maximum UTF-16 input accepted by the unchanged qualified legacy parser. */
|
|
5
|
+
export declare const maximumCSourceLength = 32767;
|
|
6
|
+
/**
|
|
7
|
+
* Rejects compile-time-known object and arena sizes; unknown runtime lengths remain checked in C.
|
|
8
|
+
* @param {SemanticModule} module - Shape/type-validated module.
|
|
9
|
+
* @returns {void}
|
|
10
|
+
*/
|
|
11
|
+
export declare function validateCMemory(module: SemanticModule): void;
|
|
12
|
+
//# sourceMappingURL=c-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c-validation.d.ts","sourceRoot":"","sources":["../../../src/backends/c-validation.js"],"names":[],"mappings":"AAII,YAAyD,cAAc,GAA7D,OAAO,sBAAsB,EAAE,cAAc,CAAgB;AACvE,YAAqD,UAAU,GAArD,OAAO,sBAAsB,EAAE,UAAU,CAAY;AAC/D,YAAyD,cAAc,GAA7D,OAAO,sBAAsB,EAAE,cAAc,CAAgB;AAG3E,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,QAAQ,CAAA;AAEzC;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAH3B,cAG2B,GAFzB,IAAI,CAmEhB"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
import { unsupportedCapability } from "../diagnostic.js";
|
|
3
|
+
/** @typedef {import("../semantic/types.js").SemanticModule} SemanticModule */
|
|
4
|
+
/** @typedef {import("../semantic/types.js").Expression} Expression */
|
|
5
|
+
/** @typedef {import("../semantic/types.js").SourceLocation} SourceLocation */
|
|
6
|
+
const maximumObjectBytes = 9223372036854775807n;
|
|
7
|
+
/** Maximum UTF-16 input accepted by the unchanged qualified legacy parser. */
|
|
8
|
+
export const maximumCSourceLength = 32767;
|
|
9
|
+
const allocationMetadataBytes = 8n;
|
|
10
|
+
/**
|
|
11
|
+
* Rejects compile-time-known object and arena sizes; unknown runtime lengths remain checked in C.
|
|
12
|
+
* @param {SemanticModule} module - Shape/type-validated module.
|
|
13
|
+
* @returns {void}
|
|
14
|
+
*/
|
|
15
|
+
export function validateCMemory(module) {
|
|
16
|
+
/**
|
|
17
|
+
* Checks one expression and its known byte lengths without folding the IR.
|
|
18
|
+
* @param {Expression} expression - Semantic expression.
|
|
19
|
+
* @param {Map<string, bigint | undefined>} lengths - Visible immutable or assigned lengths.
|
|
20
|
+
* @param {{bytes: bigint}} arena - Known minimum allocations in this lexical path.
|
|
21
|
+
* @returns {bigint | undefined} Known UTF-8 byte length.
|
|
22
|
+
*/
|
|
23
|
+
function size(expression, lengths, arena) {
|
|
24
|
+
if (expression.kind == "StringLiteral") {
|
|
25
|
+
const bytes = BigInt(Buffer.byteLength(expression.value, "utf8"));
|
|
26
|
+
if (bytes > 4095n)
|
|
27
|
+
unsupportedCapability("c", "UTF-8 literal exceeds the strict C17 4095-byte translation limit", expression.location);
|
|
28
|
+
return bytes;
|
|
29
|
+
}
|
|
30
|
+
if (expression.kind == "IdentifierExpression")
|
|
31
|
+
return lengths.get(expression.name);
|
|
32
|
+
if (expression.kind == "CallExpression") {
|
|
33
|
+
for (const argument of expression.arguments)
|
|
34
|
+
size(argument, lengths, arena);
|
|
35
|
+
}
|
|
36
|
+
else if (expression.kind == "UnaryExpression")
|
|
37
|
+
size(expression.operand, lengths, arena);
|
|
38
|
+
else if (expression.kind == "BinaryExpression") {
|
|
39
|
+
const left = size(expression.left, lengths, arena);
|
|
40
|
+
const right = size(expression.right, lengths, arena);
|
|
41
|
+
if (expression.operation == "StringConcat") {
|
|
42
|
+
const minimum = (left ?? 0n) + (right ?? 0n);
|
|
43
|
+
arena.bytes += allocationMetadataBytes + minimum;
|
|
44
|
+
if (minimum > maximumObjectBytes - allocationMetadataBytes || arena.bytes > maximumObjectBytes) {
|
|
45
|
+
unsupportedCapability("c", "known immutable slice or module arena size exceeds PTRDIFF_MAX", expression.location);
|
|
46
|
+
}
|
|
47
|
+
return left === undefined || right === undefined ? undefined : left + right;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Propagates known local descriptor sizes through straight-line code and both branch paths.
|
|
54
|
+
* @param {import("../semantic/types.js").Block} block - Semantic block.
|
|
55
|
+
* @param {Map<string, bigint | undefined>} inherited - Visible known lengths.
|
|
56
|
+
* @param {{bytes: bigint}} arena - Known path allocation size.
|
|
57
|
+
* @returns {Map<string, bigint | undefined>} Outgoing known lengths.
|
|
58
|
+
*/
|
|
59
|
+
function visit(block, inherited, arena) {
|
|
60
|
+
const lengths = new Map(inherited);
|
|
61
|
+
for (const statement of block.statements) {
|
|
62
|
+
if (statement.kind == "LocalDeclaration")
|
|
63
|
+
lengths.set(statement.name, size(statement.initializer, lengths, arena));
|
|
64
|
+
else if (statement.kind == "AssignmentStatement")
|
|
65
|
+
lengths.set(statement.target.name, size(statement.expression, lengths, arena));
|
|
66
|
+
else if (statement.kind == "IfStatement") {
|
|
67
|
+
size(statement.condition, lengths, arena);
|
|
68
|
+
const leftArena = { bytes: arena.bytes };
|
|
69
|
+
const rightArena = { bytes: arena.bytes };
|
|
70
|
+
const left = visit(statement.consequent, lengths, leftArena);
|
|
71
|
+
const right = statement.alternate ? visit(statement.alternate, lengths, rightArena) : lengths;
|
|
72
|
+
for (const name of lengths.keys())
|
|
73
|
+
lengths.set(name, left.get(name) === right.get(name) ? left.get(name) : undefined);
|
|
74
|
+
arena.bytes = leftArena.bytes < rightArena.bytes ? leftArena.bytes : rightArena.bytes;
|
|
75
|
+
}
|
|
76
|
+
else
|
|
77
|
+
size(statement.expression, lengths, arena);
|
|
78
|
+
}
|
|
79
|
+
return lengths;
|
|
80
|
+
}
|
|
81
|
+
for (const declaration of module.functions)
|
|
82
|
+
visit(declaration.body, new Map(), { bytes: 0n });
|
|
83
|
+
visit(module.entryPoint.body, new Map(), { bytes: 0n });
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYy12YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tlbmRzL2MtdmFsaWRhdGlvbi5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFdEQsOEVBQThFO0FBQzlFLHNFQUFzRTtBQUN0RSw4RUFBOEU7QUFFOUUsTUFBTSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQTtBQUMvQyw4RUFBOEU7QUFDOUUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxDQUFBO0FBQ3pDLE1BQU0sdUJBQXVCLEdBQUcsRUFBRSxDQUFBO0FBQ2xDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQU07SUFDcEM7Ozs7OztPQU1HO0lBQ0gsU0FBUyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLO1FBQ3RDLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUN2QyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUE7WUFFakUsSUFBSSxLQUFLLEdBQUcsS0FBSztnQkFBRSxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsa0VBQWtFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQ3RJLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQztRQUNELElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxzQkFBc0I7WUFBRSxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ2xGLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hDLEtBQUssTUFBTSxRQUFRLElBQUksVUFBVSxDQUFDLFNBQVM7Z0JBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7UUFDN0UsQ0FBQzthQUFNLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxpQkFBaUI7WUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUE7YUFDcEYsSUFBSSxVQUFVLENBQUMsSUFBSSxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDL0MsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO1lBQ2xELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUVwRCxJQUFJLFVBQVUsQ0FBQyxTQUFTLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQzNDLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFBO2dCQUU1QyxLQUFLLENBQUMsS0FBSyxJQUFJLHVCQUF1QixHQUFHLE9BQU8sQ0FBQTtnQkFDaEQsSUFBSSxPQUFPLEdBQUcsa0JBQWtCLEdBQUcsdUJBQXVCLElBQUksS0FBSyxDQUFDLEtBQUssR0FBRyxrQkFBa0IsRUFBRSxDQUFDO29CQUMvRixxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsZ0VBQWdFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFBO2dCQUNuSCxDQUFDO2dCQUNELE9BQU8sSUFBSSxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUE7WUFDN0UsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxLQUFLLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWxDLEtBQUssTUFBTSxTQUFTLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3pDLElBQUksU0FBUyxDQUFDLElBQUksSUFBSSxrQkFBa0I7Z0JBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO2lCQUM3RyxJQUFJLFNBQVMsQ0FBQyxJQUFJLElBQUkscUJBQXFCO2dCQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7aUJBQzNILElBQUksU0FBUyxDQUFDLElBQUksSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFBO2dCQUN6QyxNQUFNLFNBQVMsR0FBRyxFQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFDLENBQUE7Z0JBQ3RDLE1BQU0sVUFBVSxHQUFHLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUMsQ0FBQTtnQkFDdkMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFBO2dCQUM1RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtnQkFFN0YsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO29CQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUE7Z0JBQ3JILEtBQUssQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFBO1lBQ3ZGLENBQUM7O2dCQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNuRCxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVELEtBQUssTUFBTSxXQUFXLElBQUksTUFBTSxDQUFDLFNBQVM7UUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLEVBQUUsRUFBQyxDQUFDLENBQUE7SUFDM0YsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQTtBQUN2RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB7dW5zdXBwb3J0ZWRDYXBhYmlsaXR5fSBmcm9tIFwiLi4vZGlhZ25vc3RpYy5qc1wiXG5cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi4vc2VtYW50aWMvdHlwZXMuanNcIikuU2VtYW50aWNNb2R1bGV9IFNlbWFudGljTW9kdWxlICovXG4vKiogQHR5cGVkZWYge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLkV4cHJlc3Npb259IEV4cHJlc3Npb24gKi9cbi8qKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi4vc2VtYW50aWMvdHlwZXMuanNcIikuU291cmNlTG9jYXRpb259IFNvdXJjZUxvY2F0aW9uICovXG5cbmNvbnN0IG1heGltdW1PYmplY3RCeXRlcyA9IDkyMjMzNzIwMzY4NTQ3NzU4MDduXG4vKiogTWF4aW11bSBVVEYtMTYgaW5wdXQgYWNjZXB0ZWQgYnkgdGhlIHVuY2hhbmdlZCBxdWFsaWZpZWQgbGVnYWN5IHBhcnNlci4gKi9cbmV4cG9ydCBjb25zdCBtYXhpbXVtQ1NvdXJjZUxlbmd0aCA9IDMyNzY3XG5jb25zdCBhbGxvY2F0aW9uTWV0YWRhdGFCeXRlcyA9IDhuXG4vKipcbiAqIFJlamVjdHMgY29tcGlsZS10aW1lLWtub3duIG9iamVjdCBhbmQgYXJlbmEgc2l6ZXM7IHVua25vd24gcnVudGltZSBsZW5ndGhzIHJlbWFpbiBjaGVja2VkIGluIEMuXG4gKiBAcGFyYW0ge1NlbWFudGljTW9kdWxlfSBtb2R1bGUgLSBTaGFwZS90eXBlLXZhbGlkYXRlZCBtb2R1bGUuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlQ01lbW9yeShtb2R1bGUpIHtcbiAgLyoqXG4gICAqIENoZWNrcyBvbmUgZXhwcmVzc2lvbiBhbmQgaXRzIGtub3duIGJ5dGUgbGVuZ3RocyB3aXRob3V0IGZvbGRpbmcgdGhlIElSLlxuICAgKiBAcGFyYW0ge0V4cHJlc3Npb259IGV4cHJlc3Npb24gLSBTZW1hbnRpYyBleHByZXNzaW9uLlxuICAgKiBAcGFyYW0ge01hcDxzdHJpbmcsIGJpZ2ludCB8IHVuZGVmaW5lZD59IGxlbmd0aHMgLSBWaXNpYmxlIGltbXV0YWJsZSBvciBhc3NpZ25lZCBsZW5ndGhzLlxuICAgKiBAcGFyYW0ge3tieXRlczogYmlnaW50fX0gYXJlbmEgLSBLbm93biBtaW5pbXVtIGFsbG9jYXRpb25zIGluIHRoaXMgbGV4aWNhbCBwYXRoLlxuICAgKiBAcmV0dXJucyB7YmlnaW50IHwgdW5kZWZpbmVkfSBLbm93biBVVEYtOCBieXRlIGxlbmd0aC5cbiAgICovXG4gIGZ1bmN0aW9uIHNpemUoZXhwcmVzc2lvbiwgbGVuZ3RocywgYXJlbmEpIHtcbiAgICBpZiAoZXhwcmVzc2lvbi5raW5kID09IFwiU3RyaW5nTGl0ZXJhbFwiKSB7XG4gICAgICBjb25zdCBieXRlcyA9IEJpZ0ludChCdWZmZXIuYnl0ZUxlbmd0aChleHByZXNzaW9uLnZhbHVlLCBcInV0ZjhcIikpXG5cbiAgICAgIGlmIChieXRlcyA+IDQwOTVuKSB1bnN1cHBvcnRlZENhcGFiaWxpdHkoXCJjXCIsIFwiVVRGLTggbGl0ZXJhbCBleGNlZWRzIHRoZSBzdHJpY3QgQzE3IDQwOTUtYnl0ZSB0cmFuc2xhdGlvbiBsaW1pdFwiLCBleHByZXNzaW9uLmxvY2F0aW9uKVxuICAgICAgcmV0dXJuIGJ5dGVzXG4gICAgfVxuICAgIGlmIChleHByZXNzaW9uLmtpbmQgPT0gXCJJZGVudGlmaWVyRXhwcmVzc2lvblwiKSByZXR1cm4gbGVuZ3Rocy5nZXQoZXhwcmVzc2lvbi5uYW1lKVxuICAgIGlmIChleHByZXNzaW9uLmtpbmQgPT0gXCJDYWxsRXhwcmVzc2lvblwiKSB7XG4gICAgICBmb3IgKGNvbnN0IGFyZ3VtZW50IG9mIGV4cHJlc3Npb24uYXJndW1lbnRzKSBzaXplKGFyZ3VtZW50LCBsZW5ndGhzLCBhcmVuYSlcbiAgICB9IGVsc2UgaWYgKGV4cHJlc3Npb24ua2luZCA9PSBcIlVuYXJ5RXhwcmVzc2lvblwiKSBzaXplKGV4cHJlc3Npb24ub3BlcmFuZCwgbGVuZ3RocywgYXJlbmEpXG4gICAgZWxzZSBpZiAoZXhwcmVzc2lvbi5raW5kID09IFwiQmluYXJ5RXhwcmVzc2lvblwiKSB7XG4gICAgICBjb25zdCBsZWZ0ID0gc2l6ZShleHByZXNzaW9uLmxlZnQsIGxlbmd0aHMsIGFyZW5hKVxuICAgICAgY29uc3QgcmlnaHQgPSBzaXplKGV4cHJlc3Npb24ucmlnaHQsIGxlbmd0aHMsIGFyZW5hKVxuXG4gICAgICBpZiAoZXhwcmVzc2lvbi5vcGVyYXRpb24gPT0gXCJTdHJpbmdDb25jYXRcIikge1xuICAgICAgICBjb25zdCBtaW5pbXVtID0gKGxlZnQgPz8gMG4pICsgKHJpZ2h0ID8/IDBuKVxuXG4gICAgICAgIGFyZW5hLmJ5dGVzICs9IGFsbG9jYXRpb25NZXRhZGF0YUJ5dGVzICsgbWluaW11bVxuICAgICAgICBpZiAobWluaW11bSA+IG1heGltdW1PYmplY3RCeXRlcyAtIGFsbG9jYXRpb25NZXRhZGF0YUJ5dGVzIHx8IGFyZW5hLmJ5dGVzID4gbWF4aW11bU9iamVjdEJ5dGVzKSB7XG4gICAgICAgICAgdW5zdXBwb3J0ZWRDYXBhYmlsaXR5KFwiY1wiLCBcImtub3duIGltbXV0YWJsZSBzbGljZSBvciBtb2R1bGUgYXJlbmEgc2l6ZSBleGNlZWRzIFBUUkRJRkZfTUFYXCIsIGV4cHJlc3Npb24ubG9jYXRpb24pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxlZnQgPT09IHVuZGVmaW5lZCB8fCByaWdodCA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogbGVmdCArIHJpZ2h0XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9wYWdhdGVzIGtub3duIGxvY2FsIGRlc2NyaXB0b3Igc2l6ZXMgdGhyb3VnaCBzdHJhaWdodC1saW5lIGNvZGUgYW5kIGJvdGggYnJhbmNoIHBhdGhzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL3NlbWFudGljL3R5cGVzLmpzXCIpLkJsb2NrfSBibG9jayAtIFNlbWFudGljIGJsb2NrLlxuICAgKiBAcGFyYW0ge01hcDxzdHJpbmcsIGJpZ2ludCB8IHVuZGVmaW5lZD59IGluaGVyaXRlZCAtIFZpc2libGUga25vd24gbGVuZ3Rocy5cbiAgICogQHBhcmFtIHt7Ynl0ZXM6IGJpZ2ludH19IGFyZW5hIC0gS25vd24gcGF0aCBhbGxvY2F0aW9uIHNpemUuXG4gICAqIEByZXR1cm5zIHtNYXA8c3RyaW5nLCBiaWdpbnQgfCB1bmRlZmluZWQ+fSBPdXRnb2luZyBrbm93biBsZW5ndGhzLlxuICAgKi9cbiAgZnVuY3Rpb24gdmlzaXQoYmxvY2ssIGluaGVyaXRlZCwgYXJlbmEpIHtcbiAgICBjb25zdCBsZW5ndGhzID0gbmV3IE1hcChpbmhlcml0ZWQpXG5cbiAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBibG9jay5zdGF0ZW1lbnRzKSB7XG4gICAgICBpZiAoc3RhdGVtZW50LmtpbmQgPT0gXCJMb2NhbERlY2xhcmF0aW9uXCIpIGxlbmd0aHMuc2V0KHN0YXRlbWVudC5uYW1lLCBzaXplKHN0YXRlbWVudC5pbml0aWFsaXplciwgbGVuZ3RocywgYXJlbmEpKVxuICAgICAgZWxzZSBpZiAoc3RhdGVtZW50LmtpbmQgPT0gXCJBc3NpZ25tZW50U3RhdGVtZW50XCIpIGxlbmd0aHMuc2V0KHN0YXRlbWVudC50YXJnZXQubmFtZSwgc2l6ZShzdGF0ZW1lbnQuZXhwcmVzc2lvbiwgbGVuZ3RocywgYXJlbmEpKVxuICAgICAgZWxzZSBpZiAoc3RhdGVtZW50LmtpbmQgPT0gXCJJZlN0YXRlbWVudFwiKSB7XG4gICAgICAgIHNpemUoc3RhdGVtZW50LmNvbmRpdGlvbiwgbGVuZ3RocywgYXJlbmEpXG4gICAgICAgIGNvbnN0IGxlZnRBcmVuYSA9IHtieXRlczogYXJlbmEuYnl0ZXN9XG4gICAgICAgIGNvbnN0IHJpZ2h0QXJlbmEgPSB7Ynl0ZXM6IGFyZW5hLmJ5dGVzfVxuICAgICAgICBjb25zdCBsZWZ0ID0gdmlzaXQoc3RhdGVtZW50LmNvbnNlcXVlbnQsIGxlbmd0aHMsIGxlZnRBcmVuYSlcbiAgICAgICAgY29uc3QgcmlnaHQgPSBzdGF0ZW1lbnQuYWx0ZXJuYXRlID8gdmlzaXQoc3RhdGVtZW50LmFsdGVybmF0ZSwgbGVuZ3RocywgcmlnaHRBcmVuYSkgOiBsZW5ndGhzXG5cbiAgICAgICAgZm9yIChjb25zdCBuYW1lIG9mIGxlbmd0aHMua2V5cygpKSBsZW5ndGhzLnNldChuYW1lLCBsZWZ0LmdldChuYW1lKSA9PT0gcmlnaHQuZ2V0KG5hbWUpID8gbGVmdC5nZXQobmFtZSkgOiB1bmRlZmluZWQpXG4gICAgICAgIGFyZW5hLmJ5dGVzID0gbGVmdEFyZW5hLmJ5dGVzIDwgcmlnaHRBcmVuYS5ieXRlcyA/IGxlZnRBcmVuYS5ieXRlcyA6IHJpZ2h0QXJlbmEuYnl0ZXNcbiAgICAgIH0gZWxzZSBzaXplKHN0YXRlbWVudC5leHByZXNzaW9uLCBsZW5ndGhzLCBhcmVuYSlcbiAgICB9XG4gICAgcmV0dXJuIGxlbmd0aHNcbiAgfVxuXG4gIGZvciAoY29uc3QgZGVjbGFyYXRpb24gb2YgbW9kdWxlLmZ1bmN0aW9ucykgdmlzaXQoZGVjbGFyYXRpb24uYm9keSwgbmV3IE1hcCgpLCB7Ynl0ZXM6IDBufSlcbiAgdmlzaXQobW9kdWxlLmVudHJ5UG9pbnQuYm9keSwgbmV3IE1hcCgpLCB7Ynl0ZXM6IDBufSlcbn1cbiJdfQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export type SemanticModule = import("../semantic/types.js").SemanticModule;
|
|
2
|
+
export type SemanticNode = import("../semantic/types.js").SemanticNode;
|
|
3
|
+
export type Statement = import("../semantic/types.js").Statement;
|
|
4
|
+
export type Block = import("../semantic/types.js").Block;
|
|
5
|
+
export type PlannedValue = import("./ordered-expressions.js").PlannedValue;
|
|
6
|
+
export type PlannedStep = import("./ordered-expressions.js").PlannedStep;
|
|
7
|
+
export type StatementPlan = {
|
|
8
|
+
id: string;
|
|
9
|
+
steps: PlannedStep[];
|
|
10
|
+
value: PlannedValue;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Produces a fully validated, deterministic C17 translation unit and owned support header.
|
|
14
|
+
* @param {{filename?: string, mapDirective?: unknown, module: SemanticModule, sourceMapFilename?: unknown, sources?: {filename: string, content: string, language?: import("../semantic/types.js").SemanticLanguage}[]}} input - Backend request.
|
|
15
|
+
* @returns {{artifacts: import("../semantic/types.js").GeneratedSetArtifact[], target: string}} Complete candidate.
|
|
16
|
+
*/
|
|
17
|
+
export declare function generateCProgram({ filename, mapDirective, module, sourceMapFilename, sources }: {
|
|
18
|
+
filename?: string;
|
|
19
|
+
mapDirective?: unknown;
|
|
20
|
+
module: SemanticModule;
|
|
21
|
+
sourceMapFilename?: unknown;
|
|
22
|
+
sources?: {
|
|
23
|
+
filename: string;
|
|
24
|
+
content: string;
|
|
25
|
+
language?: import("../semantic/types.js").SemanticLanguage;
|
|
26
|
+
}[];
|
|
27
|
+
}): {
|
|
28
|
+
artifacts: import("../semantic/types.js").GeneratedSetArtifact[];
|
|
29
|
+
target: string;
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=c.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"c.d.ts","sourceRoot":"","sources":["../../../src/backends/c.js"],"names":[],"mappings":"AAYI,YAAyD,cAAc,GAA7D,OAAO,sBAAsB,EAAE,cAAc,CAAgB;AACvE,YAAuD,YAAY,GAAzD,OAAO,sBAAsB,EAAE,YAAY,CAAc;AACnE,YAAoD,SAAS,GAAnD,OAAO,sBAAsB,EAAE,SAAS,CAAW;AAC7D,YAAgD,KAAK,GAA3C,OAAO,sBAAsB,EAAE,KAAK,CAAO;AACrD,YAA2D,YAAY,GAA7D,OAAO,0BAA0B,EAAE,YAAY,CAAc;AACvE,YAA0D,WAAW,GAA3D,OAAO,0BAA0B,EAAE,WAAW,CAAa;AACrE,YAAmE,aAAa,GAAtE;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAC,CAAe;AAWpF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAC,EAHlF;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;CAG1H,GAFhF;IAAC,SAAS,EAAE,OAAO,sBAAsB,EAAE,oBAAoB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CA+B9F"}
|