compiler/PPCNotCharacterNode.st
changeset 464 f6d77fee9811
child 515 b5316ef15274
equal deleted inserted replaced
459:4751c407bb40 464:f6d77fee9811
       
     1 "{ Package: 'stx:goodies/petitparser/compiler' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 PPCCharacterNode subclass:#PPCNotCharacterNode
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'PetitCompiler-Nodes'
       
    10 !
       
    11 
       
    12 !PPCNotCharacterNode methodsFor:'accessing'!
       
    13 
       
    14 prefix
       
    15     ^ #notChar
       
    16 ! !
       
    17 
       
    18 !PPCNotCharacterNode methodsFor:'as yet unclassified'!
       
    19 
       
    20 accept: visitor
       
    21     ^ visitor visitNotCharacterNode: self
       
    22 !
       
    23 
       
    24 firstCharSet
       
    25     ^ PPCharSetPredicate on: [:e | (e = character) not ]
       
    26 !
       
    27 
       
    28 recognizedSentencesPrim
       
    29     | retval |
       
    30 
       
    31     retval := OrderedCollection new.
       
    32     "TODO JK: Works only for ASCII :("
       
    33     1 to: 255 do: [ :i |
       
    34         (character = (Character codePoint: i)) ifFalse: [ 
       
    35             retval add: (Character codePoint: i) asString 
       
    36         ]
       
    37     ].
       
    38     ^ retval
       
    39 ! !
       
    40