title: How to express branch in Rebol PARSE dialect?
body: <p>I have a mysql schema like below:</p>
  
  <pre><code>data: {
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(10) DEFAULT '' COMMENT 'the name',
      `content` text COMMENT 'something',
  }
  </code></pre>
  
  <p>now I want to extract some info from it： the filed name, type and comment if any. See below:</p>
  
  <pre><code>["id" "int" "" "name" "varchar" "the name" "content" "text" "something" ]
  </code></pre>
  
  <p>My code is:</p>
  
  <pre><code>parse data [
      any [ 
          thru {`} copy field to {`} {`}
          thru some space copy field-type to [ {(} | space]
          (comm: "")
          opt [ thru {COMMENT} thru some space thru {'} copy comm to {'}]
          (repend temp field repend temp field-type either comm [ repend temp comm ][ repend temp ""])
      ]
  ]
  </code></pre>
  
  <p>but I get something like this: </p>
  
  <pre><code>["id" "int" "the name" "content" "text" "something"]
  </code></pre>
  
  <p>I know the line <code>opt ..</code> is not right. </p>
  
  <p>I want express <strong>if found <code>COMMENT</code> key word first, then extract the comment info; if found lf first, then continue the next loop.</strong> But I don't know how to express it. Any one can help?</p>