142 self assert: parser fail: '1,'. |
142 self assert: parser fail: '1,'. |
143 self assert: parser fail: '1,,2' |
143 self assert: parser fail: '1,,2' |
144 ! |
144 ! |
145 |
145 |
146 testNestedComments |
146 testNestedComments |
147 "C ::= B I* E" |
147 "C ::= B I* E" |
148 "I ::= !!E (C | T)" |
148 "I ::= !!E (C | T)" |
149 "B ::= /*" |
149 "B ::= /*" |
150 "E ::= */" |
150 "E ::= */" |
151 "T ::= ." |
151 "T ::= ." |
152 |
152 |
153 | begin end any inside parser | |
153 | begin end any inside parser | |
154 begin := '/*' asParser. |
154 begin := '/*' asParser. |
155 end := '*/' asParser. |
155 end := '*/' asParser. |
156 any := #any asParser. |
156 any := #any asParser. |
157 |
157 |
158 parser := PPUnresolvedParser new. |
158 parser := PPUnresolvedParser new. |
159 inside := end not , (parser / any). |
159 inside := end not , (parser / any). |
160 parser def: begin , inside star , end. |
160 parser def: begin , inside star , end. |
161 |
161 |
162 self assert: parser parse: '/*ab*/cd' end: 6. |
162 self assert: parser parse: '/*ab*/cd' end: 6. |
163 self assert: parser parse: '/*a/*b*/c*/'. |
163 self assert: parser parse: '/*a/*b*/c*/'. |
164 self assert: parser fail: '/*a/*b*/c' |
164 self assert: parser fail: '/*a/*b*/c' |
165 ! |
165 ! |
166 |
166 |
167 testPalindrome |
167 testPalindrome |
168 "S0 ::= a S1 a | b S1 b | ... |
168 "S0 ::= a S1 a | b S1 b | ... |
169 S1 ::= S0 | epsilon" |
169 S1 ::= S0 | epsilon" |
403 ! ! |
403 ! ! |
404 |
404 |
405 !PPComposedTest class methodsFor:'documentation'! |
405 !PPComposedTest class methodsFor:'documentation'! |
406 |
406 |
407 version |
407 version |
408 ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPComposedTest.st,v 1.3 2012-05-04 21:59:40 vrany Exp $' |
408 ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPComposedTest.st,v 1.4 2012-12-01 15:10:15 cg Exp $' |
409 ! |
409 ! |
410 |
410 |
411 version_CVS |
411 version_CVS |
412 ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPComposedTest.st,v 1.3 2012-05-04 21:59:40 vrany Exp $' |
412 ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPComposedTest.st,v 1.4 2012-12-01 15:10:15 cg Exp $' |
413 ! |
413 ! |
414 |
414 |
415 version_SVN |
415 version_SVN |
416 ^ '§Id: PPComposedTest.st 4 2010-12-18 17:02:23Z kursjan §' |
416 ^ '§Id: PPComposedTest.st 4 2010-12-18 17:02:23Z kursjan §' |
417 ! ! |
417 ! ! |