equal
deleted
inserted
replaced
7 classVariableNames:'' |
7 classVariableNames:'' |
8 poolDictionaries:'' |
8 poolDictionaries:'' |
9 category:'PetitCompiler-Nodes' |
9 category:'PetitCompiler-Nodes' |
10 ! |
10 ! |
11 |
11 |
12 !PPCOptionalNode methodsFor:'analyzing'! |
12 !PPCOptionalNode methodsFor:'accessing'! |
13 |
13 |
14 isNullable |
14 prefix |
15 ^ true |
15 ^ #opt |
16 ! ! |
16 ! ! |
17 |
17 |
18 !PPCOptionalNode methodsFor:'as yet unclassified'! |
18 !PPCOptionalNode methodsFor:'analysis'! |
19 |
19 |
20 acceptsEpsilon |
20 acceptsEpsilon |
21 ^ true |
21 ^ true |
22 ! |
22 ! |
23 |
23 |
24 acceptsEpsilonOpenSet: set |
24 acceptsEpsilonOpenSet: set |
25 ^ true |
25 ^ true |
26 ! |
26 ! |
27 |
27 |
28 compileWith: compiler effect: effect id: id |
28 isNullable |
29 compiler startMethod: id. |
29 ^ true |
30 compiler addVariable: 'retval'. |
|
31 |
|
32 compiler add: 'retval := '. |
|
33 compiler callOnLine: (child compileWith: compiler ). |
|
34 compiler add: '^ error ifFalse: [ retval ] ifTrue: [ self clearError. nil ]'. |
|
35 ^ compiler stopMethod. |
|
36 ! |
|
37 |
|
38 prefix |
|
39 ^ #opt |
|
40 ! ! |
30 ! ! |
41 |
31 |
|
32 !PPCOptionalNode methodsFor:'visiting'! |
|
33 |
|
34 accept: visitor |
|
35 ^ visitor visitOptionalNode: self |
|
36 ! ! |
|
37 |