# HG changeset patch # User Claus Gittinger # Date 1393947726 -3600 # Node ID 0f76cf0f33fbd0368e57c2e9b21b20549dc4a1a9 # Parent 8cc5a5a8f416540950c66c072219f223e65d6e68 initial checkin diff -r 8cc5a5a8f416 -r 0f76cf0f33fb analyzer/PPRule.st --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/analyzer/PPRule.st Tue Mar 04 16:42:06 2014 +0100 @@ -0,0 +1,61 @@ +"{ Package: 'stx:goodies/petitparser/analyzer' }" + +Object subclass:#PPRule + instanceVariableNames:'owner search' + classVariableNames:'' + poolDictionaries:'' + category:'PetitAnalyzer-Core' +! + + +!PPRule class methodsFor:'instance creation'! + +new + ^ self basicNew initialize +! + +searchFor: aParser + ^ self new setSearch: aParser +! ! + +!PPRule methodsFor:'initialization'! + +initialize +! + +setOwner: aGrammarSearcher + owner := aGrammarSearcher +! + +setSearch: aParser + search := aParser +! ! + +!PPRule methodsFor:'matching'! + +canMatch: aParser + ^ true +! + +foundMatchFor: aParser + self subclassResponsibility +! + +performOn: aParser + (search match: aParser inContext: owner context) + ifFalse: [ ^ nil ]. + (self canMatch: aParser) + ifFalse: [ ^ nil ]. + ^ self foundMatchFor: aParser +! ! + +!PPRule class methodsFor:'documentation'! + +version + ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPRule.st,v 1.1 2014-03-04 15:42:06 cg Exp $' +! + +version_CVS + ^ '$Header: /cvs/stx/stx/goodies/petitparser/analyzer/PPRule.st,v 1.1 2014-03-04 15:42:06 cg Exp $' +! ! +