feat(lang): complete extends to modifies keyword migration

This commit completes the migration started in the previous commit,
updating all remaining files:

- Lexer: Changed token from Extends to Modifies
- Parser: Updated lalrpop grammar rules and AST field names
- AST: Renamed Schedule.extends field to modifies
- Grammar: Updated tree-sitter grammar.js
- Tree-sitter: Regenerated parser.c and node-types.json
- Examples: Updated baker-family work schedules
- Tests: Updated schedule composition tests and corpus
- Docs: Updated all reference documentation and tutorials
- Validation: Updated error messages and validation logic
- Package: Bumped version to 0.3.1 in all package manifests

All 554 tests pass.
This commit is contained in:
2026-02-16 22:55:04 +00:00
parent 2c898347ee
commit 47fafdc2bf
109 changed files with 5045 additions and 41939 deletions

View File

@@ -386,16 +386,16 @@ Schedule: Schedule = {
// Simple schedule: schedule Name { ... }
<start:@L> "schedule" <name:Ident> "{" <body:ScheduleBody> "}" <end:@R> => Schedule {
name,
extends: None,
modifies: None,
fields: body.0,
blocks: body.1,
recurrences: body.2,
span: Span::new(start, end),
},
// Extending schedule: schedule Name extends Base { ... }
<start:@L> "schedule" <name:Ident> "extends" <base:Ident> "{" <body:ScheduleBody> "}" <end:@R> => Schedule {
// Modifying schedule: schedule Name modifies Base { ... }
<start:@L> "schedule" <name:Ident> "modifies" <base:Ident> "{" <body:ScheduleBody> "}" <end:@R> => Schedule {
name,
extends: Some(base),
modifies: Some(base),
fields: body.0,
blocks: body.1,
recurrences: body.2,
@@ -1003,7 +1003,7 @@ extern {
"schedules" => Token::Schedules,
"tree" => Token::Tree,
"priority" => Token::Priority,
"extends" => Token::Extends,
"modifies" => Token::Modifies,
"override" => Token::Override,
"recurrence" => Token::Recurrence,
"season" => Token::Season,