Error in Rules [message #1799969] |
Tue, 18 December 2018 03:55  |
Eclipse User |
|
|
|
Hi,
I have a code written in ANTLR4 grammar which I need to convert to Xtext. I have converted a part of it and the below part gives an error: -
offline_expression
: offline_or_expression
;
offline_or_expression
: offline_and_expression ( 'or' offline_and_expression=offline_and_expression )*
;
offline_and_expression
: offline_equals_expression ( 'and' offline_equals_expression=offline_equals_expression )*
;
offline_equals_expression
: offline_not_equals_expression ( '=' offline_not_equals_expression=offline_not_equals_expression )*
;
offline_not_equals_expression
: offline_greater_expression ( '!=' offline_greater_expression=offline_greater_expression )*
;
offline_greater_expression
: offline_less_than_equals_expression ( '>' offline_less_than_equals_expression=offline_less_than_equals_expression )*
;
offline_less_than_equals_expression
: offline_greater_equals_expression ( '<=' offline_greater_equals_expression=offline_greater_equals_expression )*
;
offline_greater_equals_expression
: offline_less_than_expression ( '>=' offline_less_than_expression=offline_less_than_expression )*
;
offline_less_than_expression
: offline_subtraction_expression ( '<' offline_subtraction_expression=offline_subtraction_expression )*
;
offline_subtraction_expression
: offline_addition_expression ( '-' offline_addition_expression=offline_addition_expression )*
;
offline_addition_expression
: offline_multiplication_expression ( '+' offline_multiplication_expression=offline_multiplication_expression )*
;
offline_multiplication_expression
: offline_division_expression ( '*' offline_division_expression=offline_division_expression )*
;
offline_division_expression
: offline_mod_expression ( '/' offline_mod_expression=offline_mod_expression)*
;
offline_mod_expression
: offline_in_expression ( '%' offline_in_expression=offline_in_expression )*
;
offline_in_expression
: ( offline_not_expression ( 'in' offline_not_expression=offline_not_expression )* )
;
offline_not_expression
: ( '!' )? offline_boolean_expression
;
offline_boolean_expression
: ( offline_method_call_expression | ( 'true' | 'false' ) )
;
offline_method_call_expression
: ( offline_expression_atom | ( offline_method_call_expression_referenced_name ( '(' ')' | '(' offline_expression=offline_expression ( ',' offline_expression2=offline_expression )* ')' )* ) )
;
offline_method_call_expression_referenced_name
: ( 'record' '.' )? ( identifier | CAMELCASE_IDENTIFIER ) ( '.' ( identifier | CAMELCASE_IDENTIFIER ) )*
;
offline_expression_atom
: ( '(' offline_expression ( ',' offline_expression=offline_expression )* ')' | ( '-' )? INTEGER | ( '-' )? DECIMAL | STRING | offline_expression_atom_reference_name | 'null' )
;
offline_expression_atom_reference_name
: ( 'record' '.' )? ( identifier | CAMELCASE_IDENTIFIER ) ( '.' ( identifier | CAMELCASE_IDENTIFIER ) )*
;
All the rule names in this code are underlined in red except 'offline_expression_atom_reference_name' and 'offline_method_call_expression_referenced_name'.
The error states "A class may not be a super type of itself".
Could anyone please explain why this is happening and how to overcome this error?
Regards!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.27795 seconds