equal
deleted
inserted
replaced
|
1 "{ Package: 'stx:goodies/petitparser/compiler' }" |
|
2 |
|
3 PPCSequenceNode subclass:#PPCTokenSequenceNode |
|
4 instanceVariableNames:'' |
|
5 classVariableNames:'' |
|
6 poolDictionaries:'' |
|
7 category:'PetitCompiler-Nodes' |
|
8 ! |
|
9 |
|
10 PPCTokenSequenceNode comment:'' |
|
11 ! |
|
12 |
|
13 !PPCTokenSequenceNode methodsFor:'as yet unclassified'! |
|
14 |
|
15 asFast |
|
16 ^ self |
|
17 ! |
|
18 |
|
19 compileWith: compiler effect: effect id: id |
|
20 |
|
21 compiler startMethod: id. |
|
22 compiler addVariable: 'memento'. |
|
23 compiler add: (compiler smartRemember: self). |
|
24 |
|
25 " self addGuard: compiler." |
|
26 |
|
27 compiler call: ((children at: 1) compileWith: compiler). |
|
28 compiler add: 'error ifTrue: [ ^ failure ].'. |
|
29 |
|
30 (2 to: children size) do: [ :idx | |child| |
|
31 child := children at: idx. |
|
32 compiler call: (child compileWith: compiler). |
|
33 compiler add: 'error ifTrue: [ ', (compiler smartRestore: self) ,' ^ failure ].'. |
|
34 ]. |
|
35 ^ compiler stopMethod. |
|
36 ! |
|
37 |
|
38 suffix |
|
39 ^ #'_fast' |
|
40 ! ! |
|
41 |