generische Klassen definieren:
Class-Decl ==> ..
| "class" Generic-Class-Name
"<" Type-Parameters ">" "{" .. "}"
Type-Parameters ==>
( Type-Parameter "," )^* Type-Parameter
Type-Parameter ==>
( Type-Variable | "?" ) [ "extends" Type-Name ]
generische Klassen benutzen:
Type-Name ==> Class-Name
| Generic-Class-Name "<" Type-Arguments ">"
| Type-Variable
Type-Arguments ==>
( Type-Name "," )^* Type-Name