10 ! |
10 ! |
11 |
11 |
12 |
12 |
13 !PPCTokenizingCodeGen methodsFor:'code generation'! |
13 !PPCTokenizingCodeGen methodsFor:'code generation'! |
14 |
14 |
15 codeClearError |
15 codeScannerRememberTo: variableName |
16 errorStrategy codeClearError |
16 self codeAssign: 'scanner remember' to: variableName. |
|
17 self codeDot. |
17 ! |
18 ! |
18 |
19 |
19 codeError |
20 codeScannerRestoreFrom: variableName |
20 errorStrategy codeError |
21 self code: 'scanner restore: ', variableName. |
|
22 self codeDot. |
|
23 |
21 ! |
24 ! |
22 |
25 |
23 codeError: message |
26 remember: node to: variableName |
24 errorStrategy codeError: message. |
27 ^ self codeScannerRememberTo: variableName |
25 ! |
28 ! |
26 |
29 |
27 smartRemember: parser to: variableName |
30 restore: node from: mementoName |
28 rememberStrategy smartRemember: parser to: variableName |
31 ^ self codeScannerRestoreFrom: mementoName |
29 ! |
|
30 |
|
31 smartRestore: parser from: mementoName |
|
32 rememberStrategy smartRestore: parser from: mementoName |
|
33 ! ! |
|
34 |
|
35 !PPCTokenizingCodeGen methodsFor:'hooks'! |
|
36 |
|
37 errorStrategy |
|
38 ^ errorStrategy ifNil: [ PPCCompilerTokenizingErrorStrategy on: self ] |
|
39 ! |
|
40 |
|
41 errorStrategy: whatever |
|
42 errorStrategy := whatever |
|
43 ! |
|
44 |
|
45 rememberStrategy |
|
46 ^ rememberStrategy ifNil: [ PPCCompilerTokenizingRememberStrategy on: self ] |
|
47 ! |
|
48 |
|
49 rememberStrategy: whatever |
|
50 rememberStrategy := whatever |
|
51 ! ! |
32 ! ! |
52 |
33 |
53 !PPCTokenizingCodeGen methodsFor:'initialization'! |
34 !PPCTokenizingCodeGen methodsFor:'initialization'! |
54 |
35 |
55 initialize |
36 initialize |
56 super initialize. |
37 super initialize. |
57 rememberStrategy := PPCCompilerTokenizingRememberStrategy on: self. |
|
58 errorStrategy := PPCCompilerTokenizingErrorStrategy on: self. |
|
59 ! ! |
38 ! ! |
60 |
39 |
61 !PPCTokenizingCodeGen class methodsFor:'documentation'! |
40 !PPCTokenizingCodeGen class methodsFor:'documentation'! |
62 |
41 |
63 version_HG |
42 version_HG |