title: How to break out of a subrule once a certain part of the rule is met?
body: <p>Currently parsing Midi messages for the <a href="http://www.firmata.org/wiki/Main_Page" rel="nofollow">Firmata protocol</a> in Rebol 3, and came across a situation I haven't seen before.</p>
  
  <p>Basically, I have a generic rule to copy bytes between the framing bytes.  However that rule is eating the framing bytes.  I have reduced the code to the following:</p>
  
  <pre><code>data: #{
      F06C00010101040E7F000101010308040E7F00010101040E7F0001010103
      08040E7F000101010308040E7F00010101040E7F00010101040E7F0001010103
      08040E7F000101010308040E7F000101010308040E7F00010101040E7F000101
      01040E7F00010101020A7F00010101020A7F00010101020A7F00010101020A7F
      00010101020A06017F00010101020A06017FF7
  }
  
  sysex-start: #{F0}
  sysex-end: #{F7}
  capability-query: #{6B}
  capability-response: #{6C}
  capability-end: #{7F}
  
  received-rule: [
      sysex-start
      capability-response-rule 
      sysex-end
  ]
  
  capability-response-rule: [
      capability-response
      [
          capability-end |
          some [copy pin 1 skip]
      ]
  ]
  parse data received-rule
  </code></pre>
  
  <p>The issue is that <code>some [copy pin 1 skip]</code> is gobbling up the <code>sysex-end</code> binary. </p>
  
  <ul>
  <li><p>Is there a way I can restructure the rule (without moving <code>sysex-end</code> into the subrule)?</p></li>
  <li><p>Is there a parse keyword that would help in this case of breaking out of the subrule?</p></li>
  </ul>
  
  <p><em>(Note: I'm aware that I'm not interpreting the data according to the spec.)</em></p>