Phase 6a: rename core vocabulary (game/main/component/archetype/system)

game/module -> program, main -> entry, component -> property,
archetype -> model, system -> handler. Done via a transitional self-hosting
bootstrap: parser accepts both -> reseed -> compiler source moved to new
keywords + parser tightened to new-only -> reseed (fixpoint holds). Old keywords
now rejected.

Token-safe corpus migration (tools/ludic-tools/rename_kw.c) leaves the LLVM
@main/entry: labels in emit strings untouched; goldens byte-identical. Editor
vocab (header/JetBrains/TextMate/emacs), check-docs wrapper, and doc fences
updated; error string 'unknown component' -> 'unknown property'. test.sh 14/14,
test-tools 28/0, check-vocabulary green. (Doc prose pass to follow.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Orkun ÇAKILKAYA 2026-08-27 18:22:13 +03:00
parent 3227e1e1d3
commit 42f955fd22
35 changed files with 2632 additions and 2646 deletions

View file

@ -2,7 +2,7 @@
# block); the engine lays it out (stacked panel, padding/gap/alignment), draws
# it (background, TrueType labels, focusable buttons), and routes keyboard focus
# and activation. The game only loads a font, opens the UI, and reads clicks.
game Menu {
program Menu {
const R_FONT: int = 0
const R_MSG: int = 1
@ -19,13 +19,13 @@ game Menu {
}
}
system Boot phase Start {
handler Boot phase Start {
setreg(R_FONT, font_load("/System/Library/Fonts/Supplemental/Arial.ttf"))
ui_build()
ui_open(UI_MainMenu)
}
system Nav phase Update {
handler Nav phase Update {
ui_tick(key())
if ui_clicked(UI_NewGame) { ui_set_text(UI_NewGame, "Starting...") }
if ui_clicked(UI_Continue) { ui_set_text(UI_Continue, "No save") }
@ -33,7 +33,7 @@ game Menu {
if ui_clicked(UI_Quit) { quit() }
}
system Draw phase Render {
handler Draw phase Render {
clear(0x0e0e16)
ui_render()
present()