// A = { <b> B } "x" {<c> C}.
// A = [<x> X] "y" [<y> Y].


LastName = Ident.
A = <b> B <c> C {"bd" <d> D "ed"} {"be" ["x" <e> E] "ee"} [<f> F].



before part LastName.x : "last: "
before inside optional part LastName.x : "last: "
before class LastName : "last: "
before class FirstName : "first: "
after class FirstName : "hello sir"
after class FirstName : "yes yes"
before class LastName : "no no"
after class LastName : "yes wow ok no"
before class LastName : "jum jum"
after class Date : "this is the date yup"
before class Date : "before before before"
after collection List } : ")"
before collection List } : "("
after collection List { : "["
before collection List { : "]"
before collection List { : "opo"
after collection List } : "opo"