A production is a pattern and an optional constructor. Each production is a scope. The pattern may establish variable bindings which can be referenced in the constructor. A production can be qualified with a precedence that is used to resolve a tie if two productions match the same text (see Section 10.4.1).
ProductionDeclaration: ProductionPrecedenceopt PatternDeclaration Constructoropt Constructor => TermConstructor ProductionPrecedence: precedence IntegerLiteral :
A pattern declaration is a sequence of term declarations or the built-in pattern
empty which matches
A term declaration ...