Phase 11-12: LLVM backend initial, semantics layer, plugin unification
Major changes: - LLVM backend initial implementation (compiler.rs, llvm mode) - Semantics layer integration in interpreter (operators.rs) - Phase 12 plugin architecture revision (3-layer system) - Builtin box removal preparation - MIR instruction set documentation (26→Core-15 migration) - Cross-backend testing infrastructure - Await/nowait syntax support New features: - LLVM AOT compilation support (--backend llvm) - Semantics layer for interpreter→VM flow - Tri-backend smoke tests - Plugin-only registry mode Bug fixes: - Interpreter plugin box arithmetic operations - Branch test returns incorrect values Documentation: - Phase 12 README.md updated with new plugin architecture - Removed obsolete NYIR proposals - Added LLVM test programs documentation Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -28,8 +28,11 @@ static box Main {
|
||||
|
||||
parseArgs(args) {
|
||||
local options = new MapBox()
|
||||
|
||||
loop(arg in args) {
|
||||
// foreach は未対応のため、index で明示ループ
|
||||
local i = 0
|
||||
local n = args.length()
|
||||
loop(i < n) {
|
||||
local arg = args.get(i)
|
||||
if arg == "--upper" {
|
||||
options.set("upper", true)
|
||||
} else if arg == "--lower" {
|
||||
@ -39,6 +42,7 @@ static box Main {
|
||||
} else if arg == "--help" || arg == "-h" {
|
||||
options.set("help", true)
|
||||
}
|
||||
i = i + 1
|
||||
}
|
||||
|
||||
return options
|
||||
@ -47,8 +51,7 @@ static box Main {
|
||||
processInput() {
|
||||
loop(true) {
|
||||
local input = me.console.readLine()
|
||||
if input == null { break } // EOF
|
||||
|
||||
if input == null { return 0 } // EOF → 関数終了に変更(break未対応MIR対策)
|
||||
local output = me.transformText(input)
|
||||
me.console.log(output)
|
||||
}
|
||||
@ -75,4 +78,4 @@ static box Main {
|
||||
me.console.log("")
|
||||
me.console.log("Reads from stdin and echoes to stdout with optional transformation.")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user