title: How to build grammar of default value with boost spirit?
body: <p>I am analyzing some scientific text whose format is something like</p>
  
  <pre><code>Keyword
  { 1.0  22.2  59.6 'cm' 'yes' }
  </code></pre>
  
  <p>I am new to spirit, and after studying the document, I can use spirit to solve the fixed-format keyword .</p>
  
  <p>But to the following format, I don't know how to build grammar. My question is:
  In the scientific keyword I've meet, certain items of data can be defaulted to a built-in default value. The keyword description indicates when defaults can be applied. There are two ways of setting quantities to their default values. Firstly, by ending a data record prematurely with a slash '}' the quantities remaining unspecified are set to their default values. Secondly, selected quantities positioned before '}' can be defaulted by entering n* where n is the number of consecutive quantities to be defaulted. For example, 3* causes the next three quantities in the keyword data to be given their default values.</p>
  
  <p>For example,</p>
  
  <pre><code>Person
  { 'Tom' 188 80 'male' 32 }
  </code></pre>
  
  <p>say 'male' and '32' are default value, and its equivalent can be:</p>
  
  <pre><code>Person
  { 'Tom' 188 88 2* }
  </code></pre>
  
  <p>or</p>
  
  <pre><code>Person
  { 'Tom' 188 88 'male' 1* }
  </code></pre>
  
  <p>or</p>
  
  <pre><code>Person
  { 'Tom' 188 88 }
  </code></pre>
  
  <p>I've searched past posts, and <a href="https://stackoverflow.com/questions/2460376/how-might-i-assume-a-default-value-when-parsing-using-boostspirit">this</a> gives me some idea, but how can I write the rule of n*?</p>