equal
deleted
inserted
replaced
44 / (self integer , (self integer , self integer) and >=> [ :stream :continuation | |
44 / (self integer , (self integer , self integer) and >=> [ :stream :continuation | |
45 | result | |
45 | result | |
46 result := continuation value. |
46 result := continuation value. |
47 (result isPetitFailure or: [ result first + result last first ~= result last last ]) |
47 (result isPetitFailure or: [ result first + result last first ~= result last last ]) |
48 ifFalse: [ parser parseOn: stream ] |
48 ifFalse: [ parser parseOn: stream ] |
49 ifTrue: [ PPFailure message: 'invalid fibonacci sequence' at: stream position ] ]). |
49 ifTrue: [ PPFailure message: 'invalid fibonacci sequence' context: stream ] ]). |
50 self assert: parser parse: #(1 1) to: 2. |
50 self assert: parser parse: #(1 1) to: 2. |
51 self assert: parser parse: #(1 1 2) to: 3. |
51 self assert: parser parse: #(1 1 2) to: 3. |
52 self assert: parser parse: #(1 1 2 3) to: 5. |
52 self assert: parser parse: #(1 1 2 3) to: 5. |
53 self assert: parser parse: #(1 1 2 3 5) to: 8. |
53 self assert: parser parse: #(1 1 2 3 5) to: 8. |
54 self assert: parser parse: #(1 1 2 3 5 8) to: 13. |
54 self assert: parser parse: #(1 1 2 3 5 8) to: 13. |