feat: 配列/Mapリテラル糖衣構文の実装とネームスペース解決の改善計画

- ArrayLiteral/MapLiteralのAST定義追加
- パーサーで[...]と{...}構文をサポート
- MIR Builderでnew Box() + push/setへのdesugaring実装
- テストケースとスモークスクリプト追加
- CURRENT_TASK.mdにネームスペース解決Phase-1計画を追記
- 3段階解決順序(ローカル→エイリアス→プラグイン)の設計合意
This commit is contained in:
Selfhosting Dev
2025-09-16 06:13:44 +09:00
parent 18bc386bc5
commit 6ca56b0652
27 changed files with 446 additions and 50 deletions

View File

@ -0,0 +1,11 @@
static box Main {
main(args) {
local console = new ConsoleBox()
local x = 1
// array literal sugar
local arr = [x, 2, 3]
console.println(arr.size())
return 0
}
}

View File

@ -0,0 +1,11 @@
static box Main {
main(args) {
local console = new ConsoleBox()
// map literal sugar (string keys)
local m = {"name": "Alice", "age": 25}
console.println(m.size())
console.println(m.get("name"))
return 0
}
}

View File

@ -0,0 +1,10 @@
static box Main {
main(args) {
local console = new ConsoleBox()
local m = {name: "A", age: 2,}
console.println(m.size())
console.println(m.get("name"))
return 0
}
}