release: Storybook v0.2.0 - Major syntax and features update
BREAKING CHANGES: - Relationship syntax now requires blocks for all participants - Removed self/other perspective blocks from relationships - Replaced 'guard' keyword with 'if' for behavior tree decorators Language Features: - Add tree-sitter grammar with improved if/condition disambiguation - Add comprehensive tutorial and reference documentation - Add SBIR v0.2.0 binary format specification - Add resource linking system for behaviors and schedules - Add year-long schedule patterns (day, season, recurrence) - Add behavior tree enhancements (named nodes, decorators) Documentation: - Complete tutorial series (9 chapters) with baker family examples - Complete reference documentation for all language features - SBIR v0.2.0 specification with binary format details - Added locations and institutions documentation Examples: - Convert all examples to baker family scenario - Add comprehensive working examples Tooling: - Zed extension with LSP integration - Tree-sitter grammar for syntax highlighting - Build scripts and development tools Version Updates: - Main package: 0.1.0 → 0.2.0 - Tree-sitter grammar: 0.1.0 → 0.2.0 - Zed extension: 0.1.0 → 0.2.0 - Storybook editor: 0.1.0 → 0.2.0
This commit is contained in:
@@ -69,11 +69,56 @@ pub enum Token {
|
||||
From,
|
||||
#[token("is")]
|
||||
Is,
|
||||
#[token("uses")]
|
||||
Uses,
|
||||
#[token("behaviors")]
|
||||
Behaviors,
|
||||
#[token("schedules")]
|
||||
Schedules,
|
||||
#[token("tree")]
|
||||
Tree,
|
||||
#[token("priority")]
|
||||
Priority,
|
||||
#[token("extends")]
|
||||
Extends,
|
||||
#[token("override")]
|
||||
Override,
|
||||
#[token("recurrence")]
|
||||
Recurrence,
|
||||
#[token("season")]
|
||||
Season,
|
||||
#[token("block")]
|
||||
Block,
|
||||
#[token("true")]
|
||||
True,
|
||||
#[token("false")]
|
||||
False,
|
||||
|
||||
// Behavior tree keywords
|
||||
#[token("choose")]
|
||||
Choose,
|
||||
#[token("then")]
|
||||
Then,
|
||||
#[token("if")]
|
||||
If,
|
||||
#[token("when")]
|
||||
When,
|
||||
#[token("repeat")]
|
||||
Repeat,
|
||||
#[token("invert")]
|
||||
Invert,
|
||||
#[token("retry")]
|
||||
Retry,
|
||||
#[token("timeout")]
|
||||
Timeout,
|
||||
#[token("cooldown")]
|
||||
Cooldown,
|
||||
// "guard" keyword removed - use "if" instead (Token::If)
|
||||
#[token("succeed_always")]
|
||||
SucceedAlways,
|
||||
#[token("fail_always")]
|
||||
FailAlways,
|
||||
|
||||
// Identifiers and literals
|
||||
#[regex(r"[a-zA-Z_][a-zA-Z0-9_]*", |lex| lex.slice().to_string())]
|
||||
Ident(String),
|
||||
|
||||
Reference in New Issue
Block a user