compiler/PPMappedActionParser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 24 Nov 2015 19:37:14 +0100
changeset 553 d83cb4945d5e
parent 503 ff58cd9f1f3c
permissions -rw-r--r--
Oops, forgot to export PETITCOMPILER_DATA_DIRECTORY variable ...so Smalltalk code could not read it. Also fixed test for "include" scripts so they are not downloaded again when already downloaded.

"{ Package: 'stx:goodies/petitparser/compiler' }"

"{ NameSpace: Smalltalk }"

PPActionParser subclass:#PPMappedActionParser
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'PetitCompiler-Parsers'
!

!PPMappedActionParser methodsFor:'converting'!

asCompilerNode
    ^ PPCMappedActionNode new
        name: self name;
        block: block;
        child: parser;
        properties: properties;
        parser: self;
        yourself

    "Created: / 02-06-2015 / 17:27:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!PPMappedActionParser methodsFor:'parsing'!

parseOn: aPPContext
    | element |
    ^ (element := parser parseOn: aPPContext) isPetitFailure
            ifFalse: [ block valueWithArguments: element ]
            ifTrue: [ element ]

    "Created: / 02-06-2015 / 17:15:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !