code: Rule Dorian() {
  		return Sequence(IgnoreCase("dor"),
  			Optional(Sequence(IgnoreCase("i"),
  				Optional(Sequence(IgnoreCase("a"),
  					Optional(IgnoreCase("n"))
  				))
  			))
  		).label(Dorian).suppressSubnodes();
  	}
docs: minor with sharp 6th
  
  dorian ::= "dor" ["i" ["a" ["n"]]]