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; } } }
private Atama atamaParseEt() { Atama a = new Atama(); tokenListesi._sayac--; a.ad = tokenListesi.tokenAl()._tokenDegeri; tokenListesi._sayac++; a.deger = expressionParseEt(); return(a); }
private void atamaDerle(Atama a) { ifadeDerle(a.deger); Yaz("DegiskenAta " + a.ad); }