public ModelInfo Complete() { var model = new ModelInfo(); model.Name = _g.StartRuleName; model.Namespace = _g.Name; foreach (var rule in _g) { var ruleClass = RuleInfoCollector.Collect(rule); model.Classes.Add(ruleClass); } model.Root = model.Classes.First(c => c.Name == _g.StartRuleName); return(model); }
public static ModelClassInfo Collect(ParsingRule rule) { var collector = new RuleInfoCollector(rule); return(collector.Collect()); }