analyzer/PPSearchRule.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Jul 2015 08:37:37 +0100
changeset 510 869853decf31
parent 296 24d1270f78e0
permissions -rw-r--r--
Tests refactoring - use generated test cases to make sure all posibilities are tested. Do not generate resource for all combinations, use PPCSetUpBeforeTearDownAfterResource instead that delegates parser compilation to the testcase itself (it calls it's #setUpBefore method).
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