restore(lang): full lang tree from ff3ef452 (306 files) — compiler, vm, shared, runner, c-abi, etc.\n\n- Restores lang/ directory (files≈306, dirs≈64) as per historical branch with selfhost sources\n- Keeps our recent parser index changes in compiler/* (merged clean by checkout)\n- Unblocks selfhost development and documentation references

This commit is contained in:
nyash-codex
2025-10-31 20:45:46 +09:00
parent dbc285f2b1
commit e5f697eb22
244 changed files with 16915 additions and 47 deletions

View File

@ -24,6 +24,7 @@ using "lang/src/compiler/pipeline_v2/stage1_name_args_normalizer_box.hako" as Na
using "lang/src/compiler/pipeline_v2/alias_preflight_box.hako" as AliasPreflightBox
using "lang/src/compiler/pipeline_v2/stage1_args_parser_box.hako" as Stage1ArgsParserBox
using "lang/src/compiler/pipeline_v2/pipeline_helpers_box.hako" as PipelineHelpersBox
using "lang/src/shared/json/mir_v1_meta_inject_box.hako" as MirV1MetaInjectBox
flow PipelineV2 {
lower_stage1_to_mir(ast_json, prefer_cfg) {
@ -150,6 +151,14 @@ flow PipelineV2 {
return PipelineV2.lower_stage1_to_mir(ast_json, prefer_cfg)
}
// Experimental (with metadata): emit JSON v1 and inject metadata.extern_c.
// externs_json: JSON array text like
// [{"func":"Name/Arity","symbol":"c_symbol"}, ...]
lower_stage1_to_mir_v1_with_meta(ast_json, prefer_cfg, externs_json) {
local j1 = PipelineV2.lower_stage1_to_mir_v1(ast_json, prefer_cfg)
return MirV1MetaInjectBox.inject_meta_externs(j1, externs_json)
}
// Experimental helper: emit v1 then downgrade to v0 for MiniVM exec
lower_stage1_to_mir_v1_compat(ast_json, prefer_cfg) {
local j1 = PipelineV2.lower_stage1_to_mir_v1(ast_json, prefer_cfg)