Opened 10 years ago
Closed 5 years ago
#8447 closed Bugs (fixed)
Problems with 'repeat' in alternative parser
Reported by: | Owned by: | Joel de Guzman | |
---|---|---|---|
Milestone: | To Be Determined | Component: | spirit |
Version: | Boost 1.49.0 | Severity: | Regression |
Keywords: | Cc: |
Description
The behavior of the result parser unexpectedly depends from order of the 'repeat' statements within 'Alternative' parser.
As example: "repeat(n)[...] | repeat(m)[...]" works not like "repeat(m)[...] | repeat(n)[...]" in some circumstances.
I've been using the example from this http://stackoverflow.com/questions/4009752/boost-spirit-bug-when-mixing-alternates-with-optionals StackOverflow thread to identify problem (sample source is attached below).
The output of the result application:
in boost 1.44 (bug was fixed after stackoverflow thread):
Success: '123FAA22' Failed to match. Success: '123F' Success: '1A22'
in boost 1.45 (seems to be correct):
Success: '123FAA22' Success: '12AA' Success: '123F' Success: '1A22'
in boost 1.49 :
Success: '123FAA22' Success: '12AA12AA' (Incorrect) Success: '123F' Success: '1A22'
Change History (2)
comment:1 by , 5 years ago
comment:2 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed in https://github.com/boostorg/spirit/commit/e9ddd3bcb09c080113105e068e6d57a623939897