private Dondurme dondurmeParseEt() { Dondurme d = new Dondurme(); d.ifade = expressionParseEt(); return(d); }
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"); } } }
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; } } }