title: Not sure about some syntax
body: <p>It's from Lex,</p>
  
  <p>assuming the definition of lex structure is:</p>
  
  <pre><code>... definitions ...
  %%
  ... rules ...
  %%
  ... subroutines ...
  </code></pre>
  
  <p>In one of the example file, I first see the following line from definition PART:</p>
  
  <pre><code>  %x PP PRAGMA
  </code></pre>
  
  <p>Then in the RULE PART, i saw:</p>
  
  <pre><code>&lt;PP&gt;[ \t\r]*                { }
  &lt;PRAGMA&gt;.                   { }
  ^[ \t]*#[ \t]*version       { BEGIN PP; return VERSION_TOK; }
  </code></pre>
  
  <p>So, here comes my questions(I understand the general concept of lex):</p>
  
  <ol>
  <li>what's PP PRAGMA? How should I understand %x?</li>
  <li>for the RULE PART: what does  and  means? they shouldn't be a token, right?</li>
  <li>What does BEGIN PP means?</li>
  </ol>