compiler/PPCNotCharacterNode.st
changeset 464 f6d77fee9811
child 515 b5316ef15274
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/compiler/PPCNotCharacterNode.st	Thu May 21 14:12:22 2015 +0100
@@ -0,0 +1,40 @@
+"{ Package: 'stx:goodies/petitparser/compiler' }"
+
+"{ NameSpace: Smalltalk }"
+
+PPCCharacterNode subclass:#PPCNotCharacterNode
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'PetitCompiler-Nodes'
+!
+
+!PPCNotCharacterNode methodsFor:'accessing'!
+
+prefix
+    ^ #notChar
+! !
+
+!PPCNotCharacterNode methodsFor:'as yet unclassified'!
+
+accept: visitor
+    ^ visitor visitNotCharacterNode: self
+!
+
+firstCharSet
+    ^ PPCharSetPredicate on: [:e | (e = character) not ]
+!
+
+recognizedSentencesPrim
+    | retval |
+
+    retval := OrderedCollection new.
+    "TODO JK: Works only for ASCII :("
+    1 to: 255 do: [ :i |
+        (character = (Character codePoint: i)) ifFalse: [ 
+            retval add: (Character codePoint: i) asString 
+        ]
+    ].
+    ^ retval
+! !
+