/// <summary> /// Metoda cu ajutorul careia executam partea de verificare a conditiilor necesare algoritmului LL(1) /// si facem si afisarile corespunzatoare. /// </summary> private void PrintingInformation() { AnalizorLL1 analizor = new AnalizorLL1 { GramaticaAnalizata = gramatica1.Clone() }; try { analizor.AnalizaRecursivitateStanga(); analizor.AnalizaInceputComun(); } catch (Exception) { MessageBox.Show("Gramatica introdusa nu poate fi analizata cu ajutorul unui analizor LL(1)", "Gramatica incorecta!", MessageBoxButton.OK, MessageBoxImage.Hand); } FormaGramaticaNoua = analizor.GramaticaAnalizata.AfiseazaGramatica(); //Calcul simboli directori. var simboliDirectori = analizor.CalculMultimiSimboliDirectori(); SimboliDirectori = Utility.AfisareMultimeSimboliDirectori(simboliDirectori, analizor.GramaticaAnalizata.ReguliProductie.Count); if (analizor.AnalizaConditiiLL1(simboliDirectori)) { tasCurent = new TAS(); tasCurent.GenereazaTabel(analizor.GramaticaAnalizata, simboliDirectori); TableResults = tasCurent.AfiseazaTabel(analizor.GramaticaAnalizata.Terminale); } else { MessageBox.Show("Gramatica nu respecta conditiile LL(1).", "Gramatica nu corespunde!", MessageBoxButton.OK, MessageBoxImage.Asterisk); AppViewModel.Instance.SetCurrentPage(AppPages.Introducere, null); } }
public bool Initialize(TAS.Server.Engine engine) { if (string.IsNullOrEmpty(EndpointAddress)) return false; try { _host = new ServiceHost(engine.MediaManager); var service = engine.MediaManager; NetTcpBinding binding = new NetTcpBinding(SecurityMode.None, true); //_host.AddServiceEndpoint(typeof(IEngine), binding, string.Format(@"net.tcp://{0}/Engine", EndpointAddress)); _host.AddServiceEndpoint(typeof(IMediaManager), binding, string.Format(@"net.tcp://{0}/MediaManager", EndpointAddress)); _host.Open(); return true; } catch(Exception e) { Debug.WriteLine(e, "Initialization of RemoteHost error"); } return false; }
public AnonymousInstruction(TAS parent) { this.parent = parent; }