openscad-cpp-evaluator 0.4.5__tar.gz → 0.4.6__tar.gz
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.
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/PKG-INFO +1 -1
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/pyproject.toml +1 -1
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/bytecode_compiler.cpp +14 -5
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_bytecode_compiler.cpp +16 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/.github/workflows/wheels.yml +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/.gitignore +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/.gitmodules +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/LICENSE +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/README.md +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/bindings/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/bindings/module.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/cmake/embed_font.cmake +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/examples/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/examples/eval_perf_benchmark.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/examples/manifold_cache_reuse.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/examples/minimal_debugger.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/.github/workflows/ci.yml +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/.gitignore +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/CLAUDE.md +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/README.md +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/api.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/ast_node.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/comments.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/declarations.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/expression.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/module_instantiation.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/scope_builder.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast/vector_element.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/ast.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/comments.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/position.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/pretty_print.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/scope.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/serialization.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/include/openscad_cpp_parser/source_map.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/api.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/ast/ast_node.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/ast/declarations.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/ast/expression.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/ast/format_utils.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/ast/module_instantiation.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/ast/scope_builder.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/ast/vector_element.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/comment_attach_internal.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/comments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/grammar/driver.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/grammar/driver.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/grammar/lexer.l +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/grammar/lexer_api.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/grammar/oscad_location.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/grammar/parser.y +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/inline_comment_attach.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/position.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/scope.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/serialization/json_io.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/serialization/yaml_io.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/src/source_map.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_assignments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_ast_generation.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_comments_and_files.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_const_borrow.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_control.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_expressions.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_functions.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_inline_comments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_lexical.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_modules.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_node_str.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_pretty_print.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_scope.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_serialization.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_smoke.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_source_map.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_use_include.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tests/test_vectors.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/tools/cli/main.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/bound_args.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/bytecode.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/bytecode_compiler.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/bytecode_vm.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/call_args.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/colored_body.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/csg_node.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/css_colors.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/debug_hooks.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/debug_repl.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/dispatch.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/dxf_svg_import.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/eval_context.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/eval_error.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/eval_use.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/evaluator.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/export.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/font_provider.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/function_builtins.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/import_builtin.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/manifold_cache.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/mesh_import.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/osc_range.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/profile.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/scope_trail.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/segments.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/stb_font_provider.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/surface_load.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/text_metrics.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/value.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/include/openscad_cpp_evaluator/zip_stored.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/python/openscad_cpp_evaluator/__init__.py +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/resources/fonts/LICENSE +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/resources/fonts/LiberationSans-Regular.ttf +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/booleans.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/builtins.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/call_args.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/color.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/control.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/extrude.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/modifiers.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/primitives_2d.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/primitives_3d.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/registry.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/roof.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/segments.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/surface.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/text.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/topology.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/transforms.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/bytecode_vm.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/colored_body.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/csg_generate.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/csg_resolve.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/css_colors.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/debug/debug_repl.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/debug_profile.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/eval_context.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/eval_error.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/eval_use.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/export.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/import/dxf_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/import/mesh_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/import/surface_load.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/import/svg_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/stmt_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/text/stb_font_provider.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/text/text_metrics.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/user_calls.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/value.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_booleans.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_cli.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_control_flow.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_csg_tree.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_debug_hooks.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_dxf_svg_import.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_eval_context.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_export.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_expr_eval.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_extrude_roof.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_function_builtins.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_helpers.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_import_export.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_manifold_cache.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_multi_color_merge.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_primitives.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_profiling.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_python_bindings.py +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_scope_trail.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_scoping.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_surface.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_tail_calls.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_text.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_transforms.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_use.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_value.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_viewport_params.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_zip_stored.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tools/cli/CMakeLists.txt +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tools/cli/cli_lib.cpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tools/cli/cli_lib.hpp +0 -0
- {openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tools/cli/main.cpp +0 -0
|
@@ -675,11 +675,20 @@ public:
|
|
|
675
675
|
for (const auto& assign : n.incrs) {
|
|
676
676
|
compileExpr(*assign->expr, out, scope);
|
|
677
677
|
auto slot = scope.resolve(assign->name->name);
|
|
678
|
-
//
|
|
679
|
-
//
|
|
680
|
-
//
|
|
681
|
-
//
|
|
682
|
-
|
|
678
|
+
// An incr assignment can introduce a brand-new name
|
|
679
|
+
// never present in the init list, then have a LATER
|
|
680
|
+
// incr expression in the same list read it -- e.g.
|
|
681
|
+
// BOSL2's nurbs.scad: `inc_k = ...; kind = inc_k ? ...
|
|
682
|
+
// : kind;` (verified against real OpenSCAD and this
|
|
683
|
+
// port's own AST interpreter, evalListElement's
|
|
684
|
+
// ListCompCFor case in expr_eval.cpp -- both handle it
|
|
685
|
+
// correctly). The old assumption here ("incrs always
|
|
686
|
+
// reference an already-declared init name") was wrong
|
|
687
|
+
// and silently dereferenced a disengaged optional (UB)
|
|
688
|
+
// whenever it didn't hold. Declare a fresh slot on
|
|
689
|
+
// first appearance, exactly like an init assignment.
|
|
690
|
+
int resolvedSlot = slot ? *slot : declareLocal(scope, assign->name->name);
|
|
691
|
+
out.push_back({Op::StoreLocal, resolvedSlot, 0, &assign->position()});
|
|
683
692
|
}
|
|
684
693
|
out.push_back({Op::Jump, static_cast<int>(loopStart), 0, nullptr});
|
|
685
694
|
out[jend].a = static_cast<int>(out.size());
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_bytecode_compiler.cpp
RENAMED
|
@@ -243,6 +243,22 @@ TEST(BytecodeCompiler, CStyleForAccumulates) {
|
|
|
243
243
|
"ECHO: [0, 0, 1, 3, 6]");
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
+
TEST(BytecodeCompiler, CStyleForIncrCanIntroduceAndUseANewNameInTheSamePass) {
|
|
247
|
+
// Real bug found via BOSL2's nurbs.scad hanging in BelfrySCAD (produced
|
|
248
|
+
// no geometry there, silently, until traced to this): the compiler
|
|
249
|
+
// assumed every incr assignment's target name was already declared in
|
|
250
|
+
// the init list, dereferencing a disengaged scope.resolve() optional
|
|
251
|
+
// (UB) whenever an incr introduced a brand-new name -- e.g. `k` here,
|
|
252
|
+
// read by the very next incr in the same list. Verified against real
|
|
253
|
+
// OpenSCAD and this port's own AST interpreter (both handle it
|
|
254
|
+
// correctly) before fixing the compiler to match.
|
|
255
|
+
ScopedVm vm(true);
|
|
256
|
+
EXPECT_EQ(runCapturingEcho(
|
|
257
|
+
"function f() = [for (a = 0, i = 0; i < 5; k = i >= 2, a = k ? a + 10 : a + 1, i = i + 1) a];\n"
|
|
258
|
+
"echo(f());"),
|
|
259
|
+
"ECHO: [0, 1, 2, 12, 22]");
|
|
260
|
+
}
|
|
261
|
+
|
|
246
262
|
TEST(BytecodeCompiler, CStyleForExceedingMaxIterationsThrows) {
|
|
247
263
|
ScopedVm vm(true);
|
|
248
264
|
EXPECT_THROW(runCapturingEcho("function f() = [for (a = 0; true; a = a + 1) a];\necho(f());"), EvalError);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/examples/eval_perf_benchmark.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/examples/manifold_cache_reuse.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/CLAUDE.md
RENAMED
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/external/openscad_cpp_parser/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/primitives_2d.cpp
RENAMED
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/builtins/primitives_3d.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/src/text/stb_font_provider.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_function_builtins.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_multi_color_merge.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{openscad_cpp_evaluator-0.4.5 → openscad_cpp_evaluator-0.4.6}/tests/test_viewport_params.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|