compiler/tests/extras/PPCLRPWildcardTransition.st
changeset 515 b5316ef15274
child 518 a6d8b93441b0
equal deleted inserted replaced
502:1e45d3c96ec5 515:b5316ef15274
       
     1 "{ Package: 'stx:goodies/petitparser/compiler/tests/extras' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 PPCLRPTransition subclass:#PPCLRPWildcardTransition
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'PetitCompiler-Extras-Tests-LRP'
       
    10 !
       
    11 
       
    12 !PPCLRPWildcardTransition class methodsFor:'instance creation'!
       
    13 
       
    14 on: anEvent from: startState to: endState name: aString
       
    15 
       
    16     self error: 'Wildcard transitions have no from state. Use on:to:name: instead.'
       
    17 !
       
    18 
       
    19 on: anEvent to: endState name: aString
       
    20     |retval|
       
    21     retval := self new.
       
    22     retval eventname: anEvent.
       
    23     retval from: '*'.
       
    24     retval to: endState.
       
    25     retval name: aString.
       
    26     ^ retval.
       
    27 ! !
       
    28 
       
    29 !PPCLRPWildcardTransition methodsFor:'printing'!
       
    30 
       
    31 printOn: aStream
       
    32 
       
    33     aStream nextPutAll: 'PPCLRPWildcardTransition '.
       
    34     aStream nextPutAll: self name.
       
    35     aStream nextPutAll: ' : *->'.
       
    36     aStream nextPutAll: self to.
       
    37     aStream nextPutAll: ' on '.
       
    38     aStream nextPutAll: self eventname.
       
    39     
       
    40 ! !
       
    41