Rule Major() {
		return Sequence(IgnoreCase("maj"),
			Optional(Sequence(IgnoreCase("o"),
				Optional(IgnoreCase("r"))
			))
		).label(Major).suppressSubnodes();
	}
Rule Major ( ) { return Sequence ( IgnoreCase ( "maj" ) , Optional ( Sequence ( IgnoreCase ( "o" ) , Optional ( IgnoreCase ( "r" ) ) ) ) ) . label ( Major ) . suppressSubnodes ( ) ; }
major ::= "maj" ["o" ["r"]]