public static Map Parse(VHDLDocument document, string text) { var title = Regex.Match(text, PC.RegularTitle).Value; var assigments = Regex.Match(text, PC.Assigments).Value; var genericAssigments = Regex.Match(text, PC.GenericAsigments).Value; Map newMap = new Map(document, text) { Name = Regex.Match(title, PC.MapName).Value, EntityName = Regex.Match(title, PC.MapEntity).Value }; newMap.Entity = document.Components.FirstOrDefault(x => x.Name == newMap.EntityName); newMap.GenericAssignments = PC.MatchesToStrings(Regex.Matches(genericAssigments, PC.OneGenericAssimnet)).Select(asgn => GenericAssignment.Parse(newMap, asgn)).ToList(); newMap.Assigmnets = PC.MatchesToStrings(Regex.Matches(assigments, PC.OneAssimnet)).Select(asgn => Assignment.Parse(newMap, asgn)).ToList(); return(newMap); }
public static List <Port> ParsePorts(Entity entity, string vhdlPorts) { var portStings = PC.MatchesToStrings(Regex.Matches(vhdlPorts, PC.PortAsigment)); return(portStings.Select(x => Port.Parse(entity, x)).ToList()); }