code: Rule Gracing() {
  		return FirstOf(String("."),
  				String("!>!"),
  				String("!<!"),
  				String("!+!"),
  				String("+>+"),
  				String("+<+"),
  				SequenceS(String("!"),
  						OptionalS(AnyOf("^<>_@").label(Position)),
  						LongGracing(),
  						String("!")),
  				//for compatibility
  				SequenceS(String("+"), LongGracing(), String("+")),
  				UserdefSymbol()
  			).label(Gracing);
  	}
docs: gracing ::= "." / userdef-symbol / long-gracing