--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCCharSetPredicateNode.st Sun Oct 26 01:03:31 2014 +0000
@@ -0,0 +1,42 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+PPCAbstractPredicateNode subclass:#PPCCharSetPredicateNode
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'PetitCompiler-Nodes'
+!
+
+PPCCharSetPredicateNode comment:''
+!
+
+!PPCCharSetPredicateNode methodsFor:'as yet unclassified'!
+
+asInlined
+ ^ PPCInlineCharSetPredicateNode new
+ predicate: predicate;
+ name: name;
+ yourself
+!
+
+bodyOfPredicate: compiler
+ | classification classificationId |
+ classification := self extendClassification: predicate classification.
+ classificationId := compiler idFor: classification prefixed: #classification.
+ compiler addConstant: classification as: classificationId.
+
+ compiler addOnLine: '(', classificationId, ' at: context peek asInteger)'.
+ compiler indent.
+ compiler add: 'ifFalse: [ self error: ''predicate not found'' ]'.
+ compiler add: 'ifTrue: [ context next ].'.
+ compiler dedent.
+!
+
+start: compiler id: id
+ compiler startMethod: id
+!
+
+stop: compiler
+ ^ compiler stopMethod
+! !
+