@@ -41,11 +41,10 @@ state_stop = { "stop:" ~ state ~ ("," ~ state)* }
4141// =============================================================================
4242// TRANSITIONS SECTION
4343// =============================================================================
44- rules = ${ "rules:" ~ transition_block ~ last_transition_block? }
45- transition_block = _{ block_start ~ (comment | transition+) ~ block_end ~ transition_block* }
46- transition = ${ state ~ ":" ~ actions+ }
47- last_transition_block = _{ block_start ~ (comment | last_transition) ~ block_end }
48- last_transition = ${ state ~ ":" }
44+ rules = ${ "rules:" ~ transition_block ~ (block_sep ~ last_transition)? }
45+ transition_block = _{ block_start ~ transition ~ (block_sep ~ (comment | transition))* ~ block_end ~ transition_block* }
46+ transition = ${ state ~ ":" ~ actions+ }
47+ last_transition = ${ state ~ ":" }
4948
5049// =============================================================================
5150// ACTIONS AND TRANSITIONS
@@ -63,6 +62,7 @@ direction = { "<" | ">" | "-" | "L" | "R" | "S" }
6362// =============================================================================
6463block_start = _{ NEWLINE ~ PEEK_ALL ~ PUSH(INDENT) }
6564block_end = _{ DROP }
65+ block_sep = _{ NEWLINE+ ~ INDENT }
6666
6767// =============================================================================
6868// BASIC ELEMENTS
@@ -88,6 +88,6 @@ trailing_comment = _{ WHITESPACE+ ~ "#" ~ (!NEWLINE ~ ANY)* }
8888// =============================================================================
8989// WHITESPACE AND INDENTATION
9090// =============================================================================
91- LEADING = { NEWLINE | comment }
91+ LEADING = _ { NEWLINE | comment }
9292INDENT = _{ (" " | "\t")+ }
9393WHITESPACE = _{ " " }
0 commit comments