1.1 Rule Inlining type
Every rule besides type (and the ones in the OutOfSight group) is inlined and all parentheses have been removed. The result is:
type : type_name | simple_type | type INTERR | enum_type | class_type | interface_type | type rank_specifier+ | delegate_type | type_parameter | type STAR | VOID STAR ;
Now SLRR leads to:
type : (type_name | simple_type | enum_type | class_type | interface_type | delegate_type | type_parameter | VOID STAR ) (INTERR | rank_specifier+ | STAR)* ;
At this point, a grammar check would reveal an ambiguity, which can be easily resolved by the removal of the '+':
type : (type_name | simple_type | enum_type | class_type | interface_type | delegate_type | type_parameter | VOID STAR ) (INTERR | rank_specifier | STAR)* ;
Sections
My siblings (including me):