--- a/compiler/PPCSequenceNode.st Tue Apr 21 17:20:11 2015 +0100
+++ b/compiler/PPCSequenceNode.st Thu Apr 30 23:43:14 2015 +0200
@@ -79,29 +79,6 @@
guard compileGuard: compiler.
compiler addOnLine: 'ifFalse: [ ^ self error ].'
].
-!
-
-compileWith: compiler effect: effect id: id
- compiler startMethod: id.
- compiler addVariable: 'retval'.
- compiler addVariable: 'element'.
- compiler addVariable: 'memento'.
- compiler add: (compiler smartRemember: self).
- compiler add: 'retval := Array new: ', children size asString, '.'.
- self addGuard: compiler id: id.
-
-" Halt if: [ self name = #qualifiedName ]."
-
- (1 to: children size) do: [ :idx | |child|
- child := children at: idx.
- compiler add: 'element := '.
- compiler callOnLine: (child compileWith: compiler).
-
- compiler add: 'error ifTrue: [ ', (compiler smartRestore: self) ,' ^ failure ].'.
- compiler add: 'retval at: ', idx asString, ' put: element.'.
- ].
- compiler add: '^ retval'.
- ^ compiler stopMethod.
! !
!PPCSequenceNode methodsFor:'first follow next'!
@@ -124,13 +101,9 @@
reject: [ :each | each isNullable ]) ] ]
! !
-!PPCSequenceNode methodsFor:'optimizing'!
+!PPCSequenceNode methodsFor:'visiting'!
-asFast
- ^ PPCTokenSequenceNode new
- children: children;
- name: self name;
- properties: properties;
- yourself
+accept: visitor
+ ^ visitor visitSequenceNode: self
! !