jwrapper: accept interfaces
[nit.git] / contrib / jwrapper / grammar / javap.sablecc
index 87dfa12..ba92bc4 100644 (file)
@@ -9,16 +9,15 @@ separator = ('.'|'/');
 Parser
 Ignored blank;
 
-multi_files = class_or_interface*;
+multi_files = compiled_from? class_declaration;
 
-class_or_interface = class_declaration | interface_declaration;
+compiled_from = 'Compiled from "' identifier+ '.java"';
 
-class_declaration = class_header '{' property_declaration* '}';
+class_declaration = modifier* class_or_interface full_class_name
+       extends_declaration? implements_declaration? throws_declaration?
+       '{' property_declaration* '}';
 
-class_header = modifier* 'class' full_class_name extends_declaration?
-                          implements_declaration? throws_declaration?;
-interface_declaration = modifier* 'interface' full_class_name extends_interface_declaration?
-                                               '{' property_declaration* '}';
+class_or_interface = 'class'|'interface';
 
 modifier = 'public'|'private'|'protected'|'static'|'final'|'native'|'synchronized'|'abstract'|'threadsafe'|'transient'|'volatile';
 type = type_specifier '[]'*;