diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-07-15 20:00:24 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-07-15 20:00:24 +0900 |
| commit | 7249ca3a6fdf51f6b7ea66ac6854edd5e02ae5ec (patch) | |
| tree | 37a42621228a6f7a87ef02ae08d4613b2151a1a5 /src/mml_composemusic_mcp/ast_nodes.py | |
| parent | 9cbb60cf68ab2a8bd9ccc0dca4fbd46f2ae9b928 (diff) | |
feat: MMLパーサーと意味解析を厳格化
- ppmckの終端分岐付きリピートとL制御トラックを実装
- case、構文構造、音長、エフェクト値域の検証を強化
- Pyxel拡張コマンドのarityと参照検証を追加
- リピート展開上限と構文・意味エラー時の合成停止を追加
- BNF、設計書、適合監査、回帰テストを更新
Diffstat (limited to 'src/mml_composemusic_mcp/ast_nodes.py')
| -rw-r--r-- | src/mml_composemusic_mcp/ast_nodes.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mml_composemusic_mcp/ast_nodes.py b/src/mml_composemusic_mcp/ast_nodes.py index dc85e79..5eedbbc 100644 --- a/src/mml_composemusic_mcp/ast_nodes.py +++ b/src/mml_composemusic_mcp/ast_nodes.py @@ -161,6 +161,13 @@ class RepeatStartStmt(ASTNode): @dataclass +class RepeatBreakStmt(ASTNode): + """Last-pass break marker (|) inside a ppmck repeat.""" + + pass + + +@dataclass class RepeatEndStmt(ASTNode): """End of repeat section (] with optional count).""" @@ -333,6 +340,7 @@ Statement = ( | DetuneCmdStmt | RelativeVolumeStmt | RepeatStartStmt + | RepeatBreakStmt | RepeatEndStmt | BarStmt | ExtCmdStmt |
