private ModelParser RunModelParser(CommandlineOptions options) { var fIn = System.IO.File.OpenText(options.InputFile); var runner = new ModelParser(); runner.ParseInputFile(fIn); runner.DumpErrors(); fIn.Close(); return(runner); }
public override void ExitIncludeStatement([NotNull] IncludeStatementContext context) { base.ExitIncludeStatement(context); var mp = new ModelParser(); mp.ParseInputFile(context.GetText().Substring(1)); foreach (var item in mp.ModelCollector.ParameterModels) { var exists = Collector.ParameterModels.FirstOrDefault(m => m.Name == item.Name); if (exists != null) { exists.Value.AddRange(item.Value); } else { Collector.ParameterModels.Add(item); } } foreach (var item in mp.ModelCollector.SingleModels) { var exists = Collector.SingleModels.FirstOrDefault(m => m.Name == item.Name); if (exists != null) { exists.Value.AddRange(item.Value); } else { Collector.SingleModels.Add(item); } } // get GraphElements from included foreach (var item in mp.GraphElements) { if (!GraphElements.ContainsKey(item.Key)) { GraphElements.Add(item.Key, item.Value); } } }