├── .clang-format ├── .devcontainer ├── Dockerfile ├── devcontainer.json └── post_create.sh ├── .github └── workflows │ ├── linux-ci.yml │ ├── macos-ci.yml │ └── pre-commit.yml ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── CMakeLists.txt ├── CMakePresets.json ├── LICENSE ├── README.md ├── aobench.png ├── cmake ├── lightstorm.cmake ├── mruby.cmake └── version.cmake ├── include └── lightstorm │ ├── compiler │ └── compiler.h │ ├── config │ └── config.h │ ├── conversion │ └── conversion.h │ ├── dialect │ ├── rite.h │ └── rite.td │ ├── optimizations │ └── optimizations.h │ └── version.h ├── lib ├── CMakeLists.txt ├── compiler │ ├── CMakeLists.txt │ ├── compiler.cpp │ ├── converter.cpp │ └── converter.h ├── conversion │ ├── CMakeLists.txt │ └── c_conversion.cpp ├── dialect │ ├── CMakeLists.txt │ └── rite.cpp ├── optimizations │ ├── CMakeLists.txt │ └── optimizations.cpp ├── runtime │ ├── CMakeLists.txt │ ├── lightstorm_runtime.c │ └── lightstorm_runtime_main.c └── version.cpp ├── open-source-licenses.txt ├── tests ├── CMakeLists.txt ├── benchmarks │ ├── CMakeLists.txt │ ├── bench.py │ ├── benchmarks_bytecode_main.c │ ├── bm_ao_render.rb │ ├── bm_fib.rb │ ├── bm_so_lists.rb │ └── long_loop.rb ├── end2end │ ├── 00 │ │ ├── host.rb │ │ └── lightstorm.rb │ ├── CMakeLists.txt │ ├── end2end_test_main.c │ └── geometry_quadtree │ │ ├── host.rb │ │ └── lightstorm.rb └── integration │ ├── CMakeLists.txt │ ├── arith.rb │ ├── array.rb │ ├── calls.rb │ ├── class.rb │ ├── cmp.rb │ ├── constants.rb │ ├── errors │ ├── block.rb │ ├── block_args.rb │ ├── default_args.rb │ ├── ensure.rb │ ├── except.rb │ ├── keyword_args.rb │ ├── lambda.rb │ ├── rescue.rb │ ├── return_from_block.rb │ ├── super.rb │ ├── syntax.rb │ ├── var_args.rb │ └── yeild.rb │ ├── escape_analysis.rb │ ├── hash.rb │ ├── jumps.rb │ ├── lit.cfg │ ├── loads.rb │ ├── module.rb │ └── ranges.rb └── tools ├── CMakeLists.txt └── lightstorm ├── CMakeLists.txt └── lightstorm.cpp /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.clang-format -------------------------------------------------------------------------------- /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.devcontainer/Dockerfile -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/post_create.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.devcontainer/post_create.sh -------------------------------------------------------------------------------- /.github/workflows/linux-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.github/workflows/linux-ci.yml -------------------------------------------------------------------------------- /.github/workflows/macos-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.github/workflows/macos-ci.yml -------------------------------------------------------------------------------- /.github/workflows/pre-commit.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.github/workflows/pre-commit.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.gitmodules -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /CMakePresets.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/CMakePresets.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/README.md -------------------------------------------------------------------------------- /aobench.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/aobench.png -------------------------------------------------------------------------------- /cmake/lightstorm.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/cmake/lightstorm.cmake -------------------------------------------------------------------------------- /cmake/mruby.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/cmake/mruby.cmake -------------------------------------------------------------------------------- /cmake/version.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/cmake/version.cmake -------------------------------------------------------------------------------- /include/lightstorm/compiler/compiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/include/lightstorm/compiler/compiler.h -------------------------------------------------------------------------------- /include/lightstorm/config/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/include/lightstorm/config/config.h -------------------------------------------------------------------------------- /include/lightstorm/conversion/conversion.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/include/lightstorm/conversion/conversion.h -------------------------------------------------------------------------------- /include/lightstorm/dialect/rite.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/include/lightstorm/dialect/rite.h -------------------------------------------------------------------------------- /include/lightstorm/dialect/rite.td: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/include/lightstorm/dialect/rite.td -------------------------------------------------------------------------------- /include/lightstorm/optimizations/optimizations.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/include/lightstorm/optimizations/optimizations.h -------------------------------------------------------------------------------- /include/lightstorm/version.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/include/lightstorm/version.h -------------------------------------------------------------------------------- /lib/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/CMakeLists.txt -------------------------------------------------------------------------------- /lib/compiler/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/compiler/CMakeLists.txt -------------------------------------------------------------------------------- /lib/compiler/compiler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/compiler/compiler.cpp -------------------------------------------------------------------------------- /lib/compiler/converter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/compiler/converter.cpp -------------------------------------------------------------------------------- /lib/compiler/converter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/compiler/converter.h -------------------------------------------------------------------------------- /lib/conversion/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/conversion/CMakeLists.txt -------------------------------------------------------------------------------- /lib/conversion/c_conversion.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/conversion/c_conversion.cpp -------------------------------------------------------------------------------- /lib/dialect/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/dialect/CMakeLists.txt -------------------------------------------------------------------------------- /lib/dialect/rite.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/dialect/rite.cpp -------------------------------------------------------------------------------- /lib/optimizations/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/optimizations/CMakeLists.txt -------------------------------------------------------------------------------- /lib/optimizations/optimizations.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/optimizations/optimizations.cpp -------------------------------------------------------------------------------- /lib/runtime/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/runtime/CMakeLists.txt -------------------------------------------------------------------------------- /lib/runtime/lightstorm_runtime.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/runtime/lightstorm_runtime.c -------------------------------------------------------------------------------- /lib/runtime/lightstorm_runtime_main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/runtime/lightstorm_runtime_main.c -------------------------------------------------------------------------------- /lib/version.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/lib/version.cpp -------------------------------------------------------------------------------- /open-source-licenses.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/open-source-licenses.txt -------------------------------------------------------------------------------- /tests/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/CMakeLists.txt -------------------------------------------------------------------------------- /tests/benchmarks/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/benchmarks/CMakeLists.txt -------------------------------------------------------------------------------- /tests/benchmarks/bench.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/benchmarks/bench.py -------------------------------------------------------------------------------- /tests/benchmarks/benchmarks_bytecode_main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/benchmarks/benchmarks_bytecode_main.c -------------------------------------------------------------------------------- /tests/benchmarks/bm_ao_render.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/benchmarks/bm_ao_render.rb -------------------------------------------------------------------------------- /tests/benchmarks/bm_fib.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/benchmarks/bm_fib.rb -------------------------------------------------------------------------------- /tests/benchmarks/bm_so_lists.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/benchmarks/bm_so_lists.rb -------------------------------------------------------------------------------- /tests/benchmarks/long_loop.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/benchmarks/long_loop.rb -------------------------------------------------------------------------------- /tests/end2end/00/host.rb: -------------------------------------------------------------------------------- 1 | puts "hello from host" 2 | puts lightstorm_add(4, 42) 3 | -------------------------------------------------------------------------------- /tests/end2end/00/lightstorm.rb: -------------------------------------------------------------------------------- 1 | def lightstorm_add x, y 2 | x + y 3 | end 4 | 5 | puts 42 6 | -------------------------------------------------------------------------------- /tests/end2end/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/end2end/CMakeLists.txt -------------------------------------------------------------------------------- /tests/end2end/end2end_test_main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/end2end/end2end_test_main.c -------------------------------------------------------------------------------- /tests/end2end/geometry_quadtree/host.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/end2end/geometry_quadtree/host.rb -------------------------------------------------------------------------------- /tests/end2end/geometry_quadtree/lightstorm.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/end2end/geometry_quadtree/lightstorm.rb -------------------------------------------------------------------------------- /tests/integration/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/CMakeLists.txt -------------------------------------------------------------------------------- /tests/integration/arith.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/arith.rb -------------------------------------------------------------------------------- /tests/integration/array.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/array.rb -------------------------------------------------------------------------------- /tests/integration/calls.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/calls.rb -------------------------------------------------------------------------------- /tests/integration/class.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/class.rb -------------------------------------------------------------------------------- /tests/integration/cmp.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/cmp.rb -------------------------------------------------------------------------------- /tests/integration/constants.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/constants.rb -------------------------------------------------------------------------------- /tests/integration/errors/block.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/block.rb -------------------------------------------------------------------------------- /tests/integration/errors/block_args.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/block_args.rb -------------------------------------------------------------------------------- /tests/integration/errors/default_args.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/default_args.rb -------------------------------------------------------------------------------- /tests/integration/errors/ensure.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/ensure.rb -------------------------------------------------------------------------------- /tests/integration/errors/except.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/except.rb -------------------------------------------------------------------------------- /tests/integration/errors/keyword_args.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/keyword_args.rb -------------------------------------------------------------------------------- /tests/integration/errors/lambda.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/lambda.rb -------------------------------------------------------------------------------- /tests/integration/errors/rescue.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/rescue.rb -------------------------------------------------------------------------------- /tests/integration/errors/return_from_block.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/return_from_block.rb -------------------------------------------------------------------------------- /tests/integration/errors/super.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/super.rb -------------------------------------------------------------------------------- /tests/integration/errors/syntax.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/syntax.rb -------------------------------------------------------------------------------- /tests/integration/errors/var_args.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/var_args.rb -------------------------------------------------------------------------------- /tests/integration/errors/yeild.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/errors/yeild.rb -------------------------------------------------------------------------------- /tests/integration/escape_analysis.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/escape_analysis.rb -------------------------------------------------------------------------------- /tests/integration/hash.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/hash.rb -------------------------------------------------------------------------------- /tests/integration/jumps.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/jumps.rb -------------------------------------------------------------------------------- /tests/integration/lit.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/lit.cfg -------------------------------------------------------------------------------- /tests/integration/loads.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/loads.rb -------------------------------------------------------------------------------- /tests/integration/module.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/module.rb -------------------------------------------------------------------------------- /tests/integration/ranges.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tests/integration/ranges.rb -------------------------------------------------------------------------------- /tools/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(lightstorm) 2 | -------------------------------------------------------------------------------- /tools/lightstorm/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tools/lightstorm/CMakeLists.txt -------------------------------------------------------------------------------- /tools/lightstorm/lightstorm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DragonRuby/lightstorm/HEAD/tools/lightstorm/lightstorm.cpp --------------------------------------------------------------------------------