
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: java/java-3/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, JAVA3 0.1, JAVA3.ecore,  2005/08/11 [Atlantic]
Modifier, Class, Interface, Method, Field, Value, Parameter, Type, ReferenceType, PrimitiveType, Int, String, Boolean), 0 root (—), 1 top (Modifier), 0 bottom (—).[superClass], [implement], [methods], [fields], [superInterface], [implementedBy], [abstractMethods], [constants], [share] 2, [class] 2, [interface] 2, [resultOf], [parameters], [value], [typeOf] 2, [name], [owner], [reference].Modifier ::= Class
Modifier ::= Interface
Modifier ::= Method
Modifier ::= Field
Class ::= [superClass]::Class [implement]::Interface [methods]::Method [fields]::Field
Interface ::= [superInterface]::Interface [implementedBy]::Class [abstractMethods]::Method [constants]::Field
Method ::=
	[share]::Boolean [class]::Class [interface]::Interface [resultOf]::Type [parameters]::ParameterField ::= [share]::Boolean [class]::Class [interface]::Interface [value]::Value [typeOf]::Type
Value ::= ε
Parameter ::= [name]::String [typeOf]::Type [owner]::Method
Type ::= ReferenceType
Type ::= PrimitiveType
Type ::= ReferenceType PrimitiveType
ReferenceType ::= [reference]::Class
PrimitiveType ::= Int
Int ::= ε
String ::= string
Boolean ::= "true" "false"