Given: generationalPart := (#space asParser, generational) ==> #second. middleName := (#space asParser, (generational not, abbreviatableToken) ==> #second) ==> #second. lastName := (#space asParser, (generational not, token) ==> #second) ==> #second. and input := 'John Smith Jr'.
The following parser fails: abbreviatableToken, middleName optional, lastName, generationalPart optional. But this one succeeds: (abbreviatableToken, middleName, lastName, generationalPart optional) / (abbreviatableToken, nil asParser, lastName, generationalPart optional) They look the same to me. What is the difference? Thanks! ----- Cheers, Sean -- Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html