예제 #1
0
        static void Main(string[] args)
        {
            new SourceProvider().Provide(Builder.BuildTop);
            Directory.SetCurrentDirectory(Builder.BuildTop);

            CompileTest(FileRef.Source("test.mean"));

            //CheckPackage();
            //CheckExpression();
            //DumpTree();
            //Dump();

            Console.Write("(almost) any key ...");
            Console.ReadKey(true);
        }
예제 #2
0
        private Capture BuildDemo()
        {
            var entry       = FileRef.Source($"ccore/Entry.c");
            var coreObject  = FileRef.Source($"ccore/CoreObject.c");
            var coreString  = FileRef.Source($"ccore/CoreString.c");
            var coreConsole = FileRef.Source($"ccore/CoreConsole.c");

            return(BuildInSequence(
                       GccOne(entry), DisAsm(entry.Dst.Obj),
                       GccOne(coreObject), DisAsm(coreObject.Dst.Obj),
                       GccOne(coreString), DisAsm(coreString.Dst.Obj),
                       GccOne(coreConsole), DisAsm(coreConsole.Dst.Obj),
                       GccLinkStandalone(entry.Dst.Obj, coreObject.Dst.Obj, coreString.Dst.Obj, coreConsole.Dst.Obj),
                       DisAsm(entry.Dst.Exe),
                       () => Mingw.Any("running", entry.Dst.Exe, string.Empty)));
        }