void PopAndAssert(HappySymbolTable st)
 {
     DebugAssert.AreEqual(st, _scopeStack.Pop(), "Item at top of scope stack was not the current node");
 }
 public override void BeforeVisit(ForWhereClause node)
 {
     var whereSymbolTable = new HappySymbolTable("where(" + node.LoopVariableName + ")", this.TopSymbolTable);
     whereSymbolTable.Add(node.LoopVariableName);
     node.GetExtension<ScopeExtension>().SymbolTable = whereSymbolTable;
     _scopeStack.Push(whereSymbolTable);
     base.BeforeVisit(node);
 }