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); }