/// <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);
            }
        }
Example #2
0
 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;
 }
Example #3
0
 public AnonymousInstruction(TAS parent)
 {
     this.parent = parent;
 }