public void Verify() { Condition.Verify(); VarTab.PushScope(); Statements.ForEach(stmt => stmt.Verify()); VarTab.PopScope(); }
public void Verify() { Condition.Verify(); VarTab.PushScope(); IfBlock.ForEach(stmt => stmt.Verify()); VarTab.PopScope(); VarTab.PushScope(); ElseBlock.ForEach(stmt => stmt.Verify()); VarTab.PopScope(); }
public void Verify() { FuncState.PushFunc(ReturnType); VarTab.PushScope(); Params.ForEach(par => VarTab.Add(par.Id, par.Type)); Stmts.ForEach(stmt => stmt.Verify()); VarTab.PopScope(); FuncState.PopFunc(); VarTab.Add(Id, new TypeSpec { Base = new Function { Types = Params, ReturnType = ReturnType } }); }