Example #1
0
def evaluate(compiler, prgm):
	with compiler.console.scope('cull'):
		liveContexts = programculler.findLiveContexts(prgm)

		ccc = CodeContextCuller()
		for code, contexts in liveContexts.iteritems():
			evaluateCode(code, contexts, ccc)

		prgm.liveCode = set(liveContexts.iterkeys())
Example #2
0
def evaluate(compiler, prgm):
	with compiler.console.scope('clone'):
		with compiler.console.scope('analysis'):

			liveContexts = programculler.findLiveContexts(prgm)

			cloner = ProgramCloner(liveContexts)

			cloner.unifyContexts(prgm.interface)
			cloner.findInitialConflicts()
			cloner.process()
			cloner.makeGroups()

			compiler.console.output("=== Split ===")
			cloner.listGroups(compiler.console)
			compiler.console.output("Num groups %d / %d" %  (cloner.clonedNumGroups(), cloner.originalNumGroups()))
			compiler.console.output('')

		rewriteProgram(compiler, prgm, cloner)
Example #3
0
def evaluate(compiler, prgm):
    with compiler.console.scope('clone'):
        with compiler.console.scope('analysis'):

            liveContexts = programculler.findLiveContexts(prgm)

            cloner = ProgramCloner(liveContexts)

            cloner.unifyContexts(prgm.interface)
            cloner.findInitialConflicts()
            cloner.process()
            cloner.makeGroups()

            compiler.console.output("=== Split ===")
            cloner.listGroups(compiler.console)
            compiler.console.output(
                "Num groups %d / %d" %
                (cloner.clonedNumGroups(), cloner.originalNumGroups()))
            compiler.console.output('')

        rewriteProgram(compiler, prgm, cloner)