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

Reply via email to