compiler/PEGFsaState.st
changeset 525 751532c8f3db
parent 518 a6d8b93441b0
parent 524 f6f68d32de73
child 526 cc0ce8edda63
equal deleted inserted replaced
523:09afcf28ed60 525:751532c8f3db
    58 
    58 
    59 isFsaFailure
    59 isFsaFailure
    60     ^ self isFinal and: [ self info isFsaFailure ]
    60     ^ self isFinal and: [ self info isFsaFailure ]
    61 !
    61 !
    62 
    62 
    63 multivalue
       
    64     <resource: #obsolete>
       
    65     ^ self isMultivalue
       
    66 
       
    67     "Modified: / 17-08-2015 / 12:03:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    68 !
       
    69 
       
    70 multivalue: anObject
       
    71     self flag: 'JK: Obsolete?'.
       
    72     "multivalue := anObject"
       
    73 
       
    74     "Modified: / 17-08-2015 / 12:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
       
    75 !
       
    76 
       
    77 name
    63 name
    78     ^ name
    64     ^ name
    79 !
    65 !
    80 
    66 
    81 name: anObject
    67 name: anObject
   122  	infos keysAndValuesDo: twoArgBlock
   108  	infos keysAndValuesDo: twoArgBlock
   123 !
   109 !
   124 
   110 
   125 stateInfos
   111 stateInfos
   126     ^ infos values
   112     ^ infos values
       
   113 !
       
   114 
       
   115 transition
       
   116     self assert: transitions size == 1.
       
   117     ^ transitions anyOne 
   127 !
   118 !
   128 
   119 
   129 transitions
   120 transitions
   130     ^ transitions
   121     ^ transitions
   131 ! !
   122 ! !
   556 hasZeroPriorityOnly
   547 hasZeroPriorityOnly
   557     ^ self stateInfos allSatisfy: [ :si | si hasPriority not or: [ si priority == 0 ] ].
   548     ^ self stateInfos allSatisfy: [ :si | si hasPriority not or: [ si priority == 0 ] ].
   558 !
   549 !
   559 
   550 
   560 isFailure
   551 isFailure
   561     ^ self isFinal
   552     self error: 'Obsolete?'.
   562 
   553     "
   563     "Modified: / 17-08-2015 / 13:45:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   554     ^ self isFinal and: [ retval class == PEGFsaFailure ]
       
   555     "
       
   556 
       
   557     "Modified: / 17-08-2015 / 12:01:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
   564 !
   558 !
   565 
   559 
   566 isFinal
   560 isFinal
   567     ^ self stateInfos anySatisfy: [ :info | info isFinal ].
   561     ^ self stateInfos anySatisfy: [ :info | info isFinal ].
   568 !
   562 !
   606 joinRetval: state newState: newState
   600 joinRetval: state newState: newState
   607     self isFinal ifFalse: [ ^ newState retval: state retval ].
   601     self isFinal ifFalse: [ ^ newState retval: state retval ].
   608     state isFinal ifFalse: [ ^ newState retval: self retval ].
   602     state isFinal ifFalse: [ ^ newState retval: self retval ].
   609 
   603 
   610     (self priority = state priority) ifTrue: [ 
   604     (self priority = state priority) ifTrue: [ 
   611         newState multivalue: true.
       
   612         ^ newState retval: { self retval . state retval }.
   605         ^ newState retval: { self retval . state retval }.
   613     ].
   606     ].
   614 
   607 
   615     "Both are final"
   608     "Both are final"
   616     self priority isNil ifTrue: [ 
   609     self priority isNil ifTrue: [