--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCTokenSequenceNode.st Sun Oct 26 01:03:31 2014 +0000
@@ -0,0 +1,41 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+PPCSequenceNode subclass:#PPCTokenSequenceNode
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'PetitCompiler-Nodes'
+!
+
+PPCTokenSequenceNode comment:''
+!
+
+!PPCTokenSequenceNode methodsFor:'as yet unclassified'!
+
+asFast
+ ^ self
+!
+
+compileWith: compiler effect: effect id: id
+
+ compiler startMethod: id.
+ compiler addVariable: 'memento'.
+ compiler add: (compiler smartRemember: self).
+
+" self addGuard: compiler."
+
+ compiler call: ((children at: 1) compileWith: compiler).
+ compiler add: 'error ifTrue: [ ^ failure ].'.
+
+ (2 to: children size) do: [ :idx | |child|
+ child := children at: idx.
+ compiler call: (child compileWith: compiler).
+ compiler add: 'error ifTrue: [ ', (compiler smartRestore: self) ,' ^ failure ].'.
+ ].
+ ^ compiler stopMethod.
+!
+
+suffix
+ ^ #'_fast'
+! !
+