public Compiler(IEnumerable <Variable> variables, List <TapeElement> tape, List <InputEdge> edges)
 {
     this.tape     = tape;
     this.edges    = edges;
     tapeElementOf = new Dictionary <Term, TapeElement>();
     foreach (var variable in variables)
     {
         var tapeVariable = new Compiled.Variable();
         tape.Add(tapeVariable);
         tapeElementOf[variable] = tapeVariable;
     }
 }
 public void Visit(Compiled.Variable var)
 {
 }