ridl-syntax 0.9.0

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

import veh.common.Label
import veh.common.FaultPage

// Vocabulary local to the contract — typl declarations at package level,
// interleaved with the interface in one .ridl file.

struct DiagFilter {
  severity : integer [0..5]
  category : Label?
}

error enum DiagError {
  FILTER_INVALID = 0
  STORAGE_BUSY   = 1
}

const MAX_RETRIES : integer = 3

/// The contract over the local vocabulary.
interface Diagnostics {

  signal lastError : DiagError @[100ms..1s]

  query readFaults(filter: DiagFilter): FaultPage | DiagError
}

/// The internal modifier parses on an interface too.
internal interface Maintenance {
  command clearAll()
}

type RetryBudget : integer [0..10]