« Return to Thread: [qi] order of aleternatives

[qi] order of aleternatives

by CARL BARRON-3 :: Rate this Message:

Reply to Author | View in Thread

I thougt    x =  a | b | c | d ;  would do

if a matches  then  match found
else if b matches then match found
else if c matches then match found
else if d matches then match found
else match not found

How ever integere in attached code appears to test zero (last  
alternative) first, is this a bug
or a feature??   All integer is supposed to do is determine base and  
convert text to a 32 bit unsigned integer,   This is a simple qi  
parser of ipv4_addresses no lex.

 

Macintosh:debug carlbarron$ ls
a2
Macintosh:debug carlbarron$ ./a2
<addr>
  <try>0x1.01.1.0</try>
  <dotted>
    <try>0x1.01.1.0</try>
    <integer>
      <try>0x1.01.1.0</try>
      <zero>
        <try>0x1.01.1.0</try>
        <success>x1.01.1.0</success>
        <attributes>(0)</attributes>
      </zero>
      <success>x1.01.1.0</success>
      <attributes>(0)</attributes>
    </integer>
    <fail/>
  </dotted>
  <integer>
    <try>x1.01.1.0</try>
    <zero>
      <try>x1.01.1.0</try>
      <fail/>
    </zero>
    <fail/>
  </integer>
  <fail/>
</addr>
parse fails
Macintosh:debug carlbarron$





------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Spirit-general mailing list
Spirit-general@...
https://lists.sourceforge.net/lists/listinfo/spirit-general

main.cpp (2K) Download Attachment

 « Return to Thread: [qi] order of aleternatives