Example #1
0
        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);
        }