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]::PackageFragment
PackageFragment ::=
[ownedCompilationUnit]::CompilationUnit
CompilationUnit ::= [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