code: Rule Comment() {
  		return Sequence(String("%"),
  				Optional(Sequence(NonCommentChar(),
  							ZeroOrMore(FirstOf(VCHAR(), WSP()))))
  					.label(CommentText).suppressSubnodes(),
  				FirstOfS(Eol(), EOI))
  			.label(Comment);
  	}
docs: comment ::= "%" ([non-comment-char *(VCHAR / WSP)]) eol