Pattern = PatternPart, { [SP], ',', [SP], PatternPart } ;
PatternPart = (Variable, [SP], '=', [SP], AnonymousPatternPart) | AnonymousPatternPart ;
Variable = SymbolicName ;
AnonymousPatternPart = PatternElement ;