Beispiel #1
0
        public void BuildTest()
        {
            const string derivedDll = "CSharpParser.Derived.dll";

            if (File.Exists(derivedDll))
            {
                File.Delete(derivedDll);
            }

            var timer = new Stopwatch();

            timer.Start();

            var name     = new CilGrammarSource(typeof(ICsGrammar));
            var provider = new IronText.MetadataCompiler.LanguageDataProvider(name, false);

            IronText.Build.ResourceContext.Instance.LoadOrBuild(provider);
            var data = provider.Resource;

            timer.Stop();

            // ShowReduceStates(data);
            //ShowSimilarStates(data);
            //ShowSimilarTokens(data);

            Console.WriteLine("Build time = {0}sec", timer.Elapsed.TotalSeconds);
        }
        public LanguageDerivedBuilder(Type definitionType)
        {
            this.languageName = new CilGrammarSource(definitionType);

            var dataProvider = new LanguageDataProvider(languageName, false);

            ResourceContext.Instance.LoadOrBuild(dataProvider, out this.data);

            // TODO: Share abstraction impelementation between languages i.e. shared plan
            this.implementationGenerator = new ImplementationGenerator(
                null,
                IsMethodWithNonNullResult);
        }
Beispiel #3
0
        public void BuildTest()
        {
            const string derivedDll = "CSharpParser.Derived.dll";
            if (File.Exists(derivedDll))
            {
                File.Delete(derivedDll);
            }

            var timer = new Stopwatch();
            timer.Start();

            var name = new CilGrammarSource(typeof(ICsGrammar));
            var provider = new IronText.MetadataCompiler.LanguageDataProvider(name, false);
            IronText.Build.ResourceContext.Instance.LoadOrBuild(provider);
            var data = provider.Resource;
            timer.Stop();

            // ShowReduceStates(data);
            //ShowSimilarStates(data);
            //ShowSimilarTokens(data);

            Console.WriteLine("Build time = {0}sec", timer.Elapsed.TotalSeconds);
        }