equal
deleted
inserted
replaced
85 self assert: result third inputValue = ':='. |
85 self assert: result third inputValue = ':='. |
86 self assert: result last inputValue = 'another'. |
86 self assert: result last inputValue = 'another'. |
87 ! |
87 ! |
88 |
88 |
89 testOverlappingSmalltalkLike2 |
89 testOverlappingSmalltalkLike2 |
90 <skip> "/ JK: please remove this once fixed... |
90 ((Smalltalk respondsTo:#isSmalltalkX) and:[ Smalltalk isSmalltalkX ]) ifTrue:[ |
|
91 self skipIf: true description: 'JK, remove this once fixed'. |
|
92 ]. |
91 |
93 |
92 p := (keywordToken, idToken) star, idToken, assignmentToken, idToken. |
94 p := (keywordToken, idToken) star, idToken, assignmentToken, idToken. |
93 self compile: p. |
95 self compile: p. |
94 |
96 |
95 self assert: parser parse: 'foo: bar |
97 self assert: parser parse: 'foo: bar |
101 |
103 |
102 true ifTrue: [ ^ self ]. |
104 true ifTrue: [ ^ self ]. |
103 "skip for simple tokenizer" |
105 "skip for simple tokenizer" |
104 self assert: context tokenReadCount == 2 description: 'too many token reads?'. |
106 self assert: context tokenReadCount == 2 description: 'too many token reads?'. |
105 |
107 |
106 "Modified: / 17-08-2015 / 22:35:22 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
108 "Modified: / 08-09-2015 / 01:52:54 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
107 ! |
109 ! |
108 |
110 |
109 testOverlappingToken |
111 testOverlappingToken |
110 p := (unaryToken ==> [ :e | #unary ]) / (keywordToken ==> [:e | #kw ]). |
112 p := (unaryToken ==> [ :e | #unary ]) / (keywordToken ==> [:e | #kw ]). |
111 self compile: p. |
113 self compile: p. |
138 self assert: parser parse: 'foo '. |
140 self assert: parser parse: 'foo '. |
139 self assert: result == #unary. |
141 self assert: result == #unary. |
140 ! |
142 ! |
141 |
143 |
142 testOverlappingTokenStar |
144 testOverlappingTokenStar |
143 <skip> "/ JK: please remove this once fixed... |
145 ((Smalltalk respondsTo:#isSmalltalkX) and:[ Smalltalk isSmalltalkX ]) ifTrue:[ |
|
146 self skipIf: true description: 'JK, remove this once fixed'. |
|
147 ]. |
144 |
148 |
145 p := (fooToken ==> [ :e | #foo ]) / (idToken ==> [:e | #id ]). |
149 p := (fooToken ==> [ :e | #foo ]) / (idToken ==> [:e | #id ]). |
146 self compile: p star. |
150 self compile: p star. |
147 |
151 |
148 self assert: parser parse: 'foo bar foo bar'. |
152 self assert: parser parse: 'foo bar foo bar'. |
153 |
157 |
154 true ifTrue: [ ^ self ]. |
158 true ifTrue: [ ^ self ]. |
155 "skip for simple tokenizer" |
159 "skip for simple tokenizer" |
156 self assert: context tokenReadCount == 1 description: 'too many token reads?'. |
160 self assert: context tokenReadCount == 1 description: 'too many token reads?'. |
157 |
161 |
158 "Modified: / 17-08-2015 / 22:35:35 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
162 "Modified: / 08-09-2015 / 01:53:09 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
159 ! |
163 ! |
160 |
164 |
161 testOverlappingTokenStar2 |
165 testOverlappingTokenStar2 |
162 <skip> "/ JK: please remove this once fixed... |
166 ((Smalltalk respondsTo:#isSmalltalkX) and:[ Smalltalk isSmalltalkX ]) ifTrue:[ |
|
167 self skipIf: true description: 'JK, remove this once fixed'. |
|
168 ]. |
163 |
169 |
164 p := (fooToken / idToken). |
170 p := (fooToken / idToken). |
165 self compile: p star. |
171 self compile: p star. |
166 |
172 |
167 self assert: parser parse: ' foo bar foo bar'. |
173 self assert: parser parse: ' foo bar foo bar'. |
172 |
178 |
173 true ifTrue: [ ^ self ]. |
179 true ifTrue: [ ^ self ]. |
174 "skip for simple tokenizer" |
180 "skip for simple tokenizer" |
175 self assert: context tokenReadCount == 1 description: 'too many token reads?'. |
181 self assert: context tokenReadCount == 1 description: 'too many token reads?'. |
176 |
182 |
177 "Modified: / 17-08-2015 / 22:35:47 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
183 "Modified: / 08-09-2015 / 01:53:23 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
178 ! |
184 ! |
179 |
185 |
180 testSanityAsignment |
186 testSanityAsignment |
181 self compile: assignmentToken. |
187 self compile: assignmentToken. |
182 self assert: parser parse: ':='. |
188 self assert: parser parse: ':='. |