compiler/PPCPluggableConfiguration.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 29 Aug 2015 07:56:14 +0100
changeset 534 a949c4fe44df
parent 529 439c4057517f
permissions -rw-r--r--
PPCConfiguration refactoring: [6/10]: use #runPass: instead of self-sends. ...in PPCConfiguration>>invokePhases. This is a preparation for removing #invokePhases completely and configuring the compilation via list of phases.

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

"{ NameSpace: Smalltalk }"

Object subclass:#PPCPluggableConfiguration
	instanceVariableNames:'block base'
	classVariableNames:''
	poolDictionaries:''
	category:'PetitCompiler-Core'
!

!PPCPluggableConfiguration class methodsFor:'as yet unclassified'!

on: aBlock
    ^ self on: aBlock base: PPCConfiguration default
!

on: aBlock base: aPPCCOnfiguration
    ^ self new
        block: aBlock;
        base: aPPCCOnfiguration;
        yourself
! !

!PPCPluggableConfiguration methodsFor:'as yet unclassified'!

base: aPPCConfiguration
    base := aPPCConfiguration
!

block: aBlock
    block := aBlock
!

compile: whatever
    base input: whatever.
    block value: base.
    ^ base ir
!

input: whatever
    ^ base input: whatever
!

invokePhases
    ^ block value: base
!

options: args
    ^ base context options: args

    "Modified: / 28-08-2015 / 14:19:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !