SystemOrganization addCategory: #PetitManifestMf! PPCompositeParser subclass: #PPManifestMfParser instanceVariableNames: 'pairs pair label value' classVariableNames: '' poolDictionaries: '' category: 'PetitManifestMf'! !PPManifestMfParser methodsFor: 'as yet unclassified' stamp: 'tg 7/9/2010 09:37'! label ^ (#letter asParser / #digit asParser) star token trim flatten! ! !PPManifestMfParser methodsFor: 'as yet unclassified' stamp: 'tg 7/9/2010 09:38'! pair ^ label , $: asParser token , value ==> [:token | (token at: 1)->(token at: 3)]! ! !PPManifestMfParser methodsFor: 'as yet unclassified' stamp: 'tg 7/9/2010 09:10'! pairs ^ pair star! ! !PPManifestMfParser methodsFor: 'as yet unclassified' stamp: 'tg 7/9/2010 09:08'! start ^ pairs end! ! !PPManifestMfParser methodsFor: 'as yet unclassified' stamp: 'tg 7/9/2010 10:05'! value ^ (PPPredicateObjectParser anyExcept: $: asParser) star token trim flatten! ! PPCompositeParserTest subclass: #PPManifestMfParserTest instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'PetitManifestMf'! !PPManifestMfParserTest methodsFor: 'as yet unclassified' stamp: 'tg 7/9/2010 09:12'! parserClass ^ PPManifestMfParser! ! !PPManifestMfParserTest methodsFor: 'as yet unclassified' stamp: 'tg 7/9/2010 09:13'! testSinglePair self assert: 'Header: value' is: {'header'->'value'}! !