contrib/jwrapper grammar: style clean up
authorAlexis Laferrière <alexis.laf@xymus.net>
Mon, 20 Jul 2015 00:17:35 +0000 (20:17 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Mon, 20 Jul 2015 19:37:47 +0000 (15:37 -0400)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

contrib/jwrapper/grammar/javap.sablecc
contrib/jwrapper/src/javap_visitor.nit

index ba92bc4..dcb413c 100644 (file)
@@ -1,11 +1,15 @@
 Grammar javap;
 
+// ---
 Lexer
 
 identifier = ('a'..'z'|'A'..'Z'|'_'|'$') ('a'..'z'|'A'..'Z'|'_'|'$'|'0'..'9')*;
 blank = (' '|'\n'|'\t'|'\r')+;
 separator = ('.'|'/');
+brackets = '[]';
+wildcard = '?';
 
+// ---
 Parser
 Ignored blank;
 
@@ -19,42 +23,53 @@ class_declaration = modifier* class_or_interface full_class_name
 
 class_or_interface = 'class'|'interface';
 
-modifier = 'public'|'private'|'protected'|'static'|'final'|'native'|'synchronized'|'abstract'|'threadsafe'|'transient'|'volatile';
-type = type_specifier '[]'*;
-type_specifier = 'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double' | type_ref;
+modifier
+       = 'public'|'private'|'protected'|'static'|'final'|'native'|'synchronized'|'abstract'|'threadsafe'|'transient'|'volatile';
+type = primitive_type brackets*;
+primitive_type
+       = 'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double'
+       | type_ref;
 
-type_ref = full_class_name | generic_identifier 'extends' full_class_name | '?';
-type_refs = {tail:} type_refs ',' type_ref | {head:} type_ref;
+type_ref
+       = full_class_name
+       | generic_identifier 'extends' full_class_name
+       | question_mark;
 
 generic_param = '<' generic_parameter_list '>';
-generic_parameter_list = {tail:} generic_parameter_list ',' parameter | {head:} parameter;
-generic_identifier = full_class_name | '?';
-
-full_class_name = full_class_name separator class_name | class_name;
+generic_parameter_list
+       = {tail:} generic_parameter_list ',' parameter
+       | {head:} parameter;
+generic_identifier
+       = full_class_name
+       | wildcard;
+
+full_class_name
+       = {tail:} full_class_name separator class_name
+       | {head:} class_name;
 class_name = identifier generic_param?;
 
-interface_name = full_class_name;
-interface_list = {tail:} interface_list ',' interface_name | {head:} interface_name;
-
 parameter = type '...'?;
-parameter_list_comp = {tail:} parameter_list_comp ',' parameter | {head:} parameter;
-parameter_list = parameter_list_comp;
-
-exception = type;
-exception_list = exception_list ',' exception | exception;
+parameter_list
+       = {tail:} parameter_list ',' parameter
+       | {head:} parameter;
 
-statement = variable_declaration | statement_block | ';';
-statement_block = '{' statement* '}';
-
-variable_id = identifier '[]'*;
+attribute_id = identifier brackets*;
 method_id = identifier;
 
-property_declaration = method_declaration | constructor_declaration | variable_declaration | static_declaration | ';';
-variable_declaration = modifier* type variable_id throws_declaration? ';';
-method_declaration = modifier* generic_param? type method_id '(' parameter_list? ')' throws_declaration? ';';
-constructor_declaration = modifier* full_class_name '(' parameter_list? ')' throws_declaration? ';';
+property_declaration
+       = {method:} modifier* generic_param? type method_id '(' parameter_list? ')' throws_declaration? ';'
+       | {constructor:} modifier* full_class_name '(' parameter_list? ')' throws_declaration? ';'
+       | {attribute:} modifier* type attribute_id throws_declaration? ';'
+       | {static:} modifier* '{' '}' ';'
+       | ';';
+
 implements_declaration = 'implements' interface_list*;
-extends_interface_declaration = 'extends' interface_list*;
 extends_declaration = 'extends' type;
-static_declaration = modifier* '{' '}' ';';
+interface_list
+       = {tail:} interface_list ',' full_class_name
+       | {head:} full_class_name;
+
 throws_declaration = 'throws' exception_list?;
+exception_list
+       = {tail:} exception_list ',' type
+       | {head:} type;
index 9c1440d..375e7dd 100644 (file)
@@ -143,7 +143,7 @@ redef class Nidentifier
 end
 
 # Primitive array node
-redef class N_39d_91d_93d_39d
+redef class Nbrackets
        redef fun accept_visitor(v)
        do
                if v.declaration_type == "variable" then
@@ -253,7 +253,7 @@ end
 #                                            #
 
 # Method declaration
-redef class Nmethod_declaration
+redef class Nproperty_declaration_method
        redef fun accept_visitor(v)
        do
                v.declaration_type = "method"
@@ -270,7 +270,7 @@ redef class Nmethod_declaration
 end
 
 # Constructor declaration
-redef class Nconstructor_declaration
+redef class Nproperty_declaration_constructor
        redef fun accept_visitor(v)
        do
                v.declaration_type = "constructor"
@@ -280,7 +280,7 @@ redef class Nconstructor_declaration
 end
 
 # Variable property declaration
-redef class Nvariable_declaration
+redef class Nproperty_declaration_attribute
        redef fun accept_visitor(v)
        do
                v.declaration_type = "variable"
@@ -295,7 +295,7 @@ redef class Nvariable_declaration
 end
 
 # Static property declaration
-redef class Nstatic_declaration
+redef class Nproperty_declaration_static
        redef fun accept_visitor(v)
        do
                v.declaration_type = "static"
@@ -305,7 +305,7 @@ redef class Nstatic_declaration
 end
 
 # Identifier of a variable
-redef class Nvariable_id
+redef class Nattribute_id
        redef fun accept_visitor(v)
        do
                v.declaration_element = "id"