// using XML style syntax
// This is a class dictionary that serves the same role
// as a UML class diagram or an XML schema
ShoeOrder =
  "<ShoeOrder>"
  "id=" <id> String
  "style=" <style> String
  "<color>" <color> Ident "</color>"
  "<size>" <size> String "</size>"
  <width> Width

  // how many such shoes has each store ordered?
  ["<stores>" <stores> List(Store) "</stores>"]
  "</ShoeOrder>".
Width = "<width>" W "</width>".
W : AA | EE.
AA = "aa".
EE = "ee".
Store = <name> Ident <howManySuchShoes> Quantity. 
Quantity = Number.

List(S) ~ {S}.
Main = .

visitors
SummingVisitor = <total> int.