ridl-syntax 0.11.0

The RIDL family lexer and grammar: a lossless concrete syntax tree over rowan.
Documentation
package veh.engine

// A lexer-only corpus file (the interaction grammar is not exercised here):
// the nine ridl words, durations, the `@` sigil, and the expr operator
// tokens the ridl profile activates (ridl reference ยง2).

interface EngineStatus
service engine.status

/// Engine speed, published every cycle.
signal speed: Speed = 0.0 @ 10ms
event overTemp: Temperature @ [1ms..100ms]
command setTarget(goal: Speed)
query currentGear(): Gear
fixed vin: string [17]

require goal >= 0.0 && goal <= 250.0
ensure result != CURRENT_GEAR || !stale

5us 10ms 1s
a < b, a <= b, a > b, a >= b, a == b, a + b, a * b
T | E