27 !PPCCompilerTokenizingRememberStrategy methodsFor:'as yet unclassified'! |
27 !PPCCompilerTokenizingRememberStrategy methodsFor:'as yet unclassified'! |
28 |
28 |
29 smartRemember: parser to: variableName |
29 smartRemember: parser to: variableName |
30 parser isContextFree ifTrue: [ |
30 parser isContextFree ifTrue: [ |
31 compiler codeAssign: '{ context lwRemember. currentTokenType . currentTokenValue }.' |
31 compiler codeAssign: '{ context lwRemember. currentTokenType . currentTokenValue }.' |
|
32 " compiler codeAssign: 'context lwRemember.' " |
32 to: variableName. |
33 to: variableName. |
33 ] ifFalse: [ |
34 ] ifFalse: [ |
34 compiler codeAssign: '{ context remember. currentTokenType . currentTokenValue }.' |
35 compiler codeAssign: '{ context remember. currentTokenType . currentTokenValue }.' |
35 to: variableName. |
36 to: variableName. |
36 ] |
37 ] |
37 ! |
38 ! |
38 |
39 |
39 smartRestore: parser from: mementoName |
40 smartRestore: parser from: mementoName |
40 parser isContextFree ifTrue: [ |
41 parser isContextFree ifTrue: [ |
41 compiler add: 'context lwRestore: ', mementoName, ' first.'. |
42 compiler add: 'context lwRestore: (', mementoName, ' at: 1).'. |
|
43 " compiler add: 'context lwRestore: ', mementoName, '.'." |
42 ] ifFalse: [ |
44 ] ifFalse: [ |
43 compiler add: 'context restore: ', mementoName, ' first.'. |
45 compiler add: 'context restore: (', mementoName, ' at: 1).'. |
44 ]. |
46 ]. |
45 compiler codeAssign: mementoName, ' second.' to: 'currentTokenType'. |
47 |
46 compiler codeAssign: mementoName, ' third.' to: 'currentTokenValue'. |
48 compiler codeAssign: '(', mementoName, ' at: 2).' to: 'currentTokenType'. |
|
49 compiler codeAssign: '(', mementoName, ' at: 3).' to: 'currentTokenValue'. |
|
50 |
47 ! ! |
51 ! ! |
48 |
52 |
49 !PPCCompilerTokenizingRememberStrategy class methodsFor:'documentation'! |
53 !PPCCompilerTokenizingRememberStrategy class methodsFor:'documentation'! |
50 |
54 |
51 version_HG |
55 version_HG |