
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: java/eclipse/project/extracted
Source used for this grammar: Brahim Loukil, Java Project 1.0, JavaProject.ecore, 2008 [Atlantic]
JavaProject, PackageFragment, CompilationUnit, ImportDeclaration, Type, Field, Method, JavaElement, MEMBER_KIND, NamedElement, PackageDeclaration, String), 0 root (—), 1 top (NamedElement), 0 bottom (—).[ownedPackageFragment], [ownedCompilationUnit], [importDeclaration], [ownedType], [declaration], [name] 2, [nestedType], [ownedSuperType], [elementName], [member_kind], [methods], [fields], [returnType], [parametersName], [parametersType], [class], [enum], [interface], [Annotation].JavaProject ::=
[ownedPackageFragment]::PackageFragmentPackageFragment ::=
[ownedCompilationUnit]::CompilationUnitCompilationUnit ::= [importDeclaration]::ImportDeclaration [ownedType]::Type [declaration]::PackageDeclaration
ImportDeclaration ::= [name]::String
Type ::= [nestedType]::Type [ownedSuperType]::Type [elementName]::String [member_kind]::MEMBER_KIND [methods]::Method [fields]::Field
Field ::= ε
Method ::= [returnType]::String [parametersName]::String [parametersType]::String
JavaElement ::= Type
JavaElement ::= Field
JavaElement ::= Method
MEMBER_KIND ::= [class]::ε [enum]::ε [interface]::ε [Annotation]::ε
NamedElement ::= JavaProject
NamedElement ::= PackageFragment
NamedElement ::= CompilationUnit
NamedElement ::= ImportDeclaration
NamedElement ::= JavaElement
NamedElement ::= PackageDeclaration
PackageDeclaration ::= [name]::String
String ::= string