/// <summary> /// Crea una entrada, amb una arrel, un paradigma i informació extra. /// La informació extra es pot referir a excepcions, origen de la paraula, etc. /// Per defecte, les entrades tenen la marca '000'. /// </summary> /// <param name="identificador">L'objecte que identifica el paradigma al qual pertany l'entrada.</param> /// <param name="dades">Informació sobre l'entrada</param> public Entrada(Identificador identificador, Dictionary<string, string> dades) { this.dades = dades; this.excepcions = null; this.identificador = identificador; marques = null; }
private static void AplicaModel(Dictionary<string, string> dades, out Dictionary<string, string> excepcions, string[] model, LiniaMarques lmExcepcions, Marques filtre) { dades["ent"] = AplicaModel(dades["ent"], model); dades["arrel"] = AplicaModel(dades["arrel"], model); List<string> originals = new List<string>(); for (int i = 1; i < model.Length; i += 2) originals.Add(model[i]); string oo = String.Join("|", originals.ToArray()); Regex cerca = new Regex(string.Format("(^|[=/ ])({0})", oo)); lmExcepcions = lmExcepcions.AplicaModel(cerca, model); excepcions = lmExcepcions.Valors(filtre); }
public override void NovaExcepcio(string ent, LiniaMarques contingut, FitxerFont fitxerFont, int liniaFitxerFont) { if (excepcions.ContainsKey(ent)) throw new Exception("Excepció repetida: " + ent); excepcions[ent] = new InfoExcepcio(contingut, fitxerFont, liniaFitxerFont); }