public List <Table> GenerateSymbolTables(ASTNode ast) { tables = new List <Table>(); Table swiftTable = new Table(null); Symbol printSymbol = new Symbol("print", Global.DataType.BUILTIN_FUNC); List <Global.ASTType> lst = new List <Global.ASTType>(); lst.Add(Global.ASTType.STRING); printSymbol.SetParameters(lst); lst = new List <Global.ASTType>(); printSymbol.SetReturnTypes(lst); swiftTable.insert(printSymbol); tables.Add(swiftTable); tables.Add(new Table(tables[0])); foreach (ASTNode node in ast.GetChildren()) { node.SetScope(tables[1]); switch (node.GetType().ToString()) { //case "Swift.A } } return(tables); }