equal
deleted
inserted
replaced
|
1 "{ Package: 'stx:goodies/petitparser/compiler' }" |
|
2 |
|
3 "{ NameSpace: Smalltalk }" |
|
4 |
|
5 PPCScannerResultStrategy subclass:#PPCDistinctResultStrategy |
|
6 instanceVariableNames:'' |
|
7 classVariableNames:'' |
|
8 poolDictionaries:'' |
|
9 category:'PetitCompiler-Scanner' |
|
10 ! |
|
11 |
|
12 !PPCDistinctResultStrategy methodsFor:'as yet unclassified'! |
|
13 |
|
14 recordFailure: retval |
|
15 ^ self recordFailure: retval offset: 0 |
|
16 ! |
|
17 |
|
18 recordFailure: retval offset: offset |
|
19 offset == 0 ifTrue: [ |
|
20 codeGen codeRecordDistinctMatch: nil. |
|
21 ^ self |
|
22 ]. |
|
23 codeGen codeRecordDistinctMatch: nil offset: offset |
|
24 ! |
|
25 |
|
26 recordMatch: retval |
|
27 ^ self recordMatch: retval offset: 0 |
|
28 ! |
|
29 |
|
30 recordMatch: retval offset: offset |
|
31 offset == 0 ifTrue: [ |
|
32 codeGen codeRecordDistinctMatch: retval. |
|
33 ^ self |
|
34 ]. |
|
35 |
|
36 codeGen codeRecordDistinctMatch: retval offset: offset |
|
37 ! |
|
38 |
|
39 reset |
|
40 ^ codeGen code: 'self resetDistinct.'. |
|
41 ! |
|
42 |
|
43 returnResult: state |
|
44 codeGen codeNl. |
|
45 codeGen codeReturnDistinct. |
|
46 ! ! |
|
47 |