Skip to content

InterfaceDeclarations.sdf3

pdmosses/java-front/lang.java/syntax/java/interfaces/InterfaceDeclarations.sdf3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
module 

// 9.1. Interface Declarations

imports
  java/lexical/Identifiers
  java/lexical/Modifiers
  java/lexical/SemiColon
  java/classes/ClassDeclarations
  java/types/ReferenceTypes
  java/interfaces/Annotations
  java/interfaces/ConstantDeclarations
  java/interfaces/InterfaceMethodDeclarations
  java/interfaces/AnnotationTypes

context-free sorts

  
  
  ExtendsInterfaces
  InterfaceMemberDeclaration

context-free syntax


  .NormalInterface = <
  <{InterfaceModifier " "}*> interface <Id><TypeParameters?> <ExtendsInterfaces?> {
    <{InterfaceMemberDeclaration "\n"}*>
  }>

   = AnnotationTypeDeclaration

   = Annotation
   = Public
   = Protected
   = Private
   = Abstract
   = Static
   = Strictfp

  ExtendsInterfaces.ExtendsInterfaces = <extends <{ClassType ", "}+>>

  InterfaceMemberDeclaration = ConstantDeclaration
  InterfaceMemberDeclaration = InterfaceMethodDeclaration
  InterfaceMemberDeclaration = ClassDeclaration
  InterfaceMemberDeclaration = InterfaceDeclaration
  InterfaceMemberDeclaration = SemiColon