analyzer/PPSearchRule.st
author sr
Thu, 05 Jul 2018 09:23:34 +0200
changeset 628 379fc127ba99
parent 296 24d1270f78e0
permissions -rw-r--r--
order
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
204
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/analyzer' }"
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
PPRule subclass:#PPSearchRule
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'answerBlock'
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'PetitAnalyzer-Core'
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!PPSearchRule class methodsFor:'instance creation'!
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
searchFor: aParser thenDo: aBlock
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ (self searchFor: aParser) setAnswerBlock: aBlock
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
! !
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
!PPSearchRule methodsFor:'initialization'!
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
setAnswerBlock: aBlock
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	answerBlock := aBlock
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
! !
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!PPSearchRule methodsFor:'matching'!
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
canMatch: aParser
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	owner setAnswer: (answerBlock cull: aParser cull: owner answer).
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
	^ super canMatch: aParser
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
foundMatchFor: aParser 
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	^ aParser
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
! !
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
!PPSearchRule class methodsFor:'documentation'!
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
version
296
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
    37
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPSearchRule.st,v 1.2 2014-03-04 20:27:55 cg Exp $'
204
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
!
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
version_CVS
296
Claus Gittinger <cg@exept.de>
parents: 204
diff changeset
    41
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPSearchRule.st,v 1.2 2014-03-04 20:27:55 cg Exp $'
204
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
! !
223004340c43 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43