Skip to content

Jump Instructions

Benedict Albrecht edited this page Jun 2, 2026 · 5 revisions

Jump Instructions

The jump instruction skips all tokens until a concrete target token is found.


When to Use Jumps

Jumps are intended for comments and string literals — cases where the content between delimiters is irrelevant to the grammar and may contain tokens (like brackets) that would confuse the parser.

Prefer Sub-bodies over jumps for all other cases. A jump skips over everything until the target token, which can quickly lead to problems if the target token appears earlier than expected or is missing entirely.

Use Case Recommended
Comments (//, /* */) Jump
String literals ('...', "...") Jump
Structured content (blocks, parameters, expressions) Sub-body

Syntax

-->> stopToken

Rule: The target must be a concrete literal — e.g., \n, ), ;, BEGIN, */.

The syntax -->> <| a <||> b |> is supported — the jump stops at whichever alternative is found first. However, the or-statement must not contain an empty branch, since the jump needs a concrete token to stop at.


Examples

Pattern Matches
// -->> \n Single-line comment: from // to end of line
/* -->> */ Block comment: from /* to */
' -->> ' String literal: from ' to '

Single-line comment

<*comment_line*> // -->> \n <*>

Multi-line comment

<*comment_block*> /* -->> */ <*>

Next: Variables — Capturing tokens and controlling scope.

Clone this wiki locally