uk.ac.bbk.dcs.automed.qproc.optimise.optimisers
Class UnnestOptimiser

java.lang.Object
  extended by uk.ac.bbk.dcs.automed.qproc.optimise.optimisers.UnnestOptimiser

public class UnnestOptimiser
extends java.lang.Object

Unnests comprehensions. TODO: write more, supports constants in generator pattern

Author:
Lucas Zamboulis

Field Summary
protected  java.util.logging.Logger logger
           
 
Constructor Summary
UnnestOptimiser()
           
 
Method Summary
 boolean optimise(ASG g)
           
 void renameCompVars(Cell c, java.util.Set s, java.util.HashMap m)
          Renames any variables of the input comprehension that appear in the input set of variables.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected java.util.logging.Logger logger
Constructor Detail

UnnestOptimiser

public UnnestOptimiser()
Method Detail

renameCompVars

public void renameCompVars(Cell c,
                           java.util.Set s,
                           java.util.HashMap m)
Renames any variables of the input comprehension that appear in the input set of variables.

Parameters:
c - the root of the comprehension
s - the set of variables - of type String, may be variables or system variables
m - LHS contains the vars/sysvars already encountered, RHS contains the new name of each LHS var/sysvar

optimise

public boolean optimise(ASG g)