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:
parent
3227e1e1d3
commit
42f955fd22
35 changed files with 2632 additions and 2646 deletions
|
|
@ -1,6 +1,6 @@
|
|||
game T {
|
||||
program T {
|
||||
fn fib(n: int) -> int { if n < 2 { return n }; return fib(n-1) + fib(n-2) }
|
||||
main {
|
||||
entry {
|
||||
print_int(fib(10)) # 55
|
||||
let s = 0
|
||||
for i in 0 .. 10 { if i == 5 { break }; if i % 2 == 0 { continue }; s = s + i }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
game T {
|
||||
main {
|
||||
program T {
|
||||
entry {
|
||||
let half = 0.5
|
||||
let a = 1.5
|
||||
print_int(flr(a + half)) # flr(2.0) = 2
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
game T {
|
||||
program T {
|
||||
fn classify(c: int) -> int {
|
||||
match c { 65, 66 => { return 1 }; 67 => { return 2 }; _ => { return 9 } }
|
||||
return 0
|
||||
}
|
||||
main {
|
||||
entry {
|
||||
print_int(classify(65)) # 1
|
||||
print_int(classify(67)) # 2
|
||||
print_int(classify(90)) # 9
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
game T {
|
||||
main {
|
||||
program T {
|
||||
entry {
|
||||
let xs = new []int
|
||||
print_int(len(xs)) # 0
|
||||
for i in 0 .. 20 { push(xs, i * i) }
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
game T {
|
||||
program T {
|
||||
struct P { x: int = 0, y: int = 7, next: P }
|
||||
fn bump(p: P) -> void { p.x = p.x + 100 }
|
||||
main {
|
||||
entry {
|
||||
let a = new P
|
||||
print_int(a.y) # 7 default
|
||||
a.x = 5
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue