module pp-table
imports pp-table-PlaceHolder pp-table-IntCon
exports
  context-free start-symbols PP-Table
  sorts PP-Entry PP-Table Path Selector
  context-free syntax
    "[" {PP-Entry ","}* "]" -> PP-Table {cons("PP-Table")}

    Path "--" BOX* -> PP-Entry {cons("PP-Entry")}

    ConsName                     -> Path {cons("Path1")}
    ConsName "." {Selector "."}+ -> Path {cons("Path")}

    NatCon ":" UQLiteral -> Selector {cons("selector")}

  sorts ConsName
  lexical syntax
    ~[\ \t\n\13\.]+   -> ConsName
    "\"" ~[\"]+ "\""  -> ConsName

  context-free restrictions
    ConsName -/- ~[\ \t\n\13\.]
