public EvaluationContext(List<BekProgram> progs, TextWriter tw, string bek_js_master_file)
{
this.bek_js_master_file = bek_js_master_file;
this.tw = tw;
this.progs = progs;
this.solver = new Z3Provider();
this.bekMap = new Dictionary<string, BekProgram>();
foreach (var bek in progs)
{
if (bekMap.ContainsKey(bek.ast.name))
throw new BekException(string.Format("Bek program {0} has multiple definitions.", bek.ast.name));
bekMap[bek.ast.name] = bek;
}
}