/// <summary>
 /// Parses a conditional block by first pushing symbol scope and then popping after completion.
 /// </summary>
 /// <param name="stmt"></param>
 public virtual void ParseConditionalBlock(ConditionalBlockExpr stmt)
 {
     this.Ctx.Symbols.Push(new SymbolsNested(string.Empty), true);
     stmt.SymScope = this.Ctx.Symbols.Current;
     _parser.ParseConditionalStatement(stmt);
     this.Ctx.Symbols.Pop();
 }