code: Rule MidiProgramNumber() {
  		return FirstOf(
  			CharRange('1', '9'),
  			Sequence(CharRange('1', '9'), CharRange('0', '9')),
  			Sequence('1', CharRange('0', '1'), CharRange('0', '9')),
  			Sequence("12", CharRange('0', '8'))
  		).label(MidiProgramNumber).suppressSubnodes();
  	}
docs: midi-program-number ::= %x31-39 / (%x31-39 %x30-39)
  / (%x31 %x30-31 %x30-39) / (%x31.32 %x30-38)
  <p>
  programs 1-128