analyzer/PPParserReplaceRule.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Jul 2015 08:37:37 +0100
changeset 510 869853decf31
parent 381 0bbbcf5da2d4
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:
198
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/petitparser/analyzer' }"
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
PPReplaceRule subclass:#PPParserReplaceRule
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'replaceParser'
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'PetitAnalyzer-Core'
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!PPParserReplaceRule class methodsFor:'instance creation'!
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
searchFor: aSearchParser replaceWith: aReplaceParser when: aVerificationBlock
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ (self searchFor: aSearchParser) 
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
		setReplaceParser: aReplaceParser;
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
		setVerificationBlock: aVerificationBlock;
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
		yourself
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
! !
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
!PPParserReplaceRule methodsFor:'initialization'!
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
setReplaceParser: aParser
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
	replaceParser := aParser
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
! !
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
260
3f2ec5ba0500 class: PPParserReplaceRule
Claus Gittinger <cg@exept.de>
parents: 198
diff changeset
    26
!PPParserReplaceRule methodsFor:'matching'!
3f2ec5ba0500 class: PPParserReplaceRule
Claus Gittinger <cg@exept.de>
parents: 198
diff changeset
    27
378
53d66ecfeb1b Merged in latest version from Moose repository
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 287
diff changeset
    28
foundMatchFor: aParser 
53d66ecfeb1b Merged in latest version from Moose repository
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 287
diff changeset
    29
	^ replaceParser copyInContext: owner context
260
3f2ec5ba0500 class: PPParserReplaceRule
Claus Gittinger <cg@exept.de>
parents: 198
diff changeset
    30
! !
3f2ec5ba0500 class: PPParserReplaceRule
Claus Gittinger <cg@exept.de>
parents: 198
diff changeset
    31
198
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
!PPParserReplaceRule class methodsFor:'documentation'!
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
version
287
Claus Gittinger <cg@exept.de>
parents: 260
diff changeset
    35
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPParserReplaceRule.st,v 1.3 2014-03-04 20:27:46 cg Exp $'
198
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
version_CVS
287
Claus Gittinger <cg@exept.de>
parents: 260
diff changeset
    39
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPParserReplaceRule.st,v 1.3 2014-03-04 20:27:46 cg Exp $'
381
0bbbcf5da2d4 `PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    40
!
0bbbcf5da2d4 `PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    41
0bbbcf5da2d4 `PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    42
version_HG
0bbbcf5da2d4 `PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    43
0bbbcf5da2d4 `PPParser>>allParsers`, `allParsersDo:(seen:)` moved to base PetitParser package.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 378
diff changeset
    44
    ^ '$Changeset: <not expanded> $'
198
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
! !
80010945e57b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46