Пример #1
0
        private Dondurme dondurmeParseEt()
        {
            Dondurme d = new Dondurme();

            d.ifade = expressionParseEt();
            return(d);
        }
Пример #2
0
 private void derle(List <Durum> agac)
 {
     foreach (Durum s in agac)
     {
         if (s is Fonksiyon)
         {
             fonksiyonDerle((Fonksiyon)s);
         }
         else if (s is Atama)
         {
             atamaDerle((Atama)s);
         }
         else if (s is Cagirma)
         {
             cagirmaDerle((Cagirma)s);
         }
         else if (s is Dondurme)
         {
             Dondurme d = (Dondurme)s;
             if (d.ifade != null)
             {
                 ifadeDerle(d.ifade);
             }
             Yaz("don");
         }
     }
 }
Пример #3
0
        private void parseEt()
        {
            while (calisiyorMu)
            {
                t = tokenListesi.tokenAl();

                if (t._tokenTuru == Tokenlar.hazirKullan)
                {
                    string kutuphane = hazirKullanParseEt();
                    hazirKullanListesi.Add(kutuphane);
                }
                else if (t._tokenTuru == Tokenlar.Fonksiyon)
                {
                    Fonksiyon f = fonksiyonParseEt();
                    if (suAnkiBlok == null)
                    {
                        suAnkiBlok = f;
                    }
                    else
                    {
                        suAnkiBlok.durumListesi.Add(new Dondurme());
                        agac.Add(suAnkiBlok);
                        suAnkiBlok = f;
                    }
                }
                else if (t._tokenTuru == Tokenlar.Tanim)
                {
                    if (tokenListesi.gozat()._tokenTuru == Tokenlar.Esittir)
                    {
                        Atama a = atamaParseEt();
                        suAnkiBlok.durumListesi.Add(a);
                    }
                    else if (tokenListesi.gozat()._tokenTuru == Tokenlar.SolParantez)
                    {
                        Cagirma c = cagirmaParseEt();
                        suAnkiBlok.durumListesi.Add(c);
                    }
                }
                else if (t._tokenTuru == Tokenlar.Dondur)
                {
                    Dondurme d = dondurmeParseEt();
                    suAnkiBlok.durumListesi.Add(d);
                }
                else if (t._tokenTuru == Tokenlar.SagParantez)
                {
                    if (suAnkiBlok is Fonksiyon)
                    {
                        suAnkiBlok.durumListesi.Add(new Dondurme());
                        agac.Add(suAnkiBlok);
                        suAnkiBlok = null;
                    }
                }
                else if (t._tokenTuru == Tokenlar.EOF)
                {
                    agac.Add(suAnkiBlok);
                    calisiyorMu = false;
                }
            }
        }