freemaniacss Mesaj tarihi: Kasım 28, 2010 Paylaş Mesaj tarihi: Kasım 28, 2010 1. In this homework you are asked to model a compiler using one or more design patterns. For simplicity purposes our compiler will consist of three phases: a) Scanner, b) Parser, c) Code generator A scanner converts a sequence of characters in a program into tokens. A parser processes the tokens generated by the scanner and determines if the input text is syntactically correct. The output of a parser is usually a parse tree. The code generator typically receives a parse tree as input converts it into machine code that can be readily executed by a computer. A C++ compiler consists of C++ scanner, C++ parser and C++ code generator and a FORTRAN compiler consists of FORTRAN scanner, FORTRAN parser and FORTRAN code generator. Note that a compiler cannot have a mix of parser and scanners from different languages. You will be implementing a compiler generator (Compiler-compiler i.e. CC). You will have three CCs for different languages. One requirement is that you are going to have only one compiler generator for each language. Fortran CC can generate several FORTRAN compilers. However, Fortran CC itself will be unique. 2. Create a simple parse tree using Composite pattern for the expression “slope * x + intercept” where its parse tree is given below. The output of your scanner will be a composite object corresponding to the parse tree. arkadaşlar benim şöyle bir ödevim var ve hiçbirşey anlamadım bu ödevden.anladığım kadarıyla benden 3 farklı dil için,kurallarını uygulamasamda 3 farklı class olarak tasarlayıp,aynı kuralları kabul etmesini sağlayacağım.Kodun scanner kısmında girilen inputu ıvır zıvır karakterleri atarak,mantıklı kod olarak geri döndürecek,bu döndürdüğü kod kısmını parser kısmına ileticek,parser kısmında bu ayıklanan kodu parse edip,elde ettiğimiz parent child ilişkisi ile,code generator kısmına iletip programı bitiricez. iyi güzel hoş ta nasıl olacak bu? İki tane pattern düşündüm,factory design pattern ve composite design pattern,bana biraz şu ödevi anlatabilirmisiniz acaba? c++ ödevi bu arada Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
freemaniacss Mesaj tarihi: Kasım 29, 2010 Konuyu açan Paylaş Mesaj tarihi: Kasım 29, 2010 yokmudur anlayan birisi şu ödevden.bana yol yordam gösterin :) Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
di Mesaj tarihi: Kasım 29, 2010 Paylaş Mesaj tarihi: Kasım 29, 2010 Hic ugrasmadim bu tip bir seyle ama soru cok klasik bir soru. Hemen her CS ogrencisine verilen turden. Soruyu Google'da arasan cikar sanki bir seyler. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
freemaniacss Mesaj tarihi: Kasım 29, 2010 Konuyu açan Paylaş Mesaj tarihi: Kasım 29, 2010 birşeyler buldum ama pek birşey anladığım söylenemez.ödev baya bir zor geldi açıkçası Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Gladmir Mesaj tarihi: Kasım 29, 2010 Paylaş Mesaj tarihi: Kasım 29, 2010 Odev guzelmis, Code generator + compiler yazacaksin. Acik olmayacan kisim generate edecegin code icin yazacagin input markup bir seyler mi olacak, xml mi vereceksin adama generate etmesi ve ardindan compile etmesi icin? Pure text mi vereceksin vs vs. Cok zor bir durum yok. Scanner dedigi adam atiyorum xml olarak verdigin stream i yorumlayip code generate edecek ardindan bunu yine runtime da yada ayri bir step de compile edecek adama verecek. Burde scanner denen adamin belli limitleri olmak zorunda, verecegin xml veyahut text in icerecegi syntax in belli sinirlari olmak zorunda. Bunlari belirle, kafandan bir yapi uydur. A isini yapsin sonra A isine gore B isini yapsin ardindan C veyahut D isleri de xml de tanimlanmis ise bunlarida conditional olarak yapsin. Zor kisim burasi, gerisi runtime da compile vs. native method callarindan ibaret. P.S: Tamamen yanlis anlamisda olabirim odevini orasi ayri. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
senko Mesaj tarihi: Kasım 29, 2010 Paylaş Mesaj tarihi: Kasım 29, 2010 olm ufuk hoca buluyor boyle nete yazdin mi benden soylemesi. ufuk hoca da yazdim kesin bulur simdi :) hocam selamlar... Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
di Mesaj tarihi: Kasım 29, 2010 Paylaş Mesaj tarihi: Kasım 29, 2010 Olm daha gecen gun Ufuk Hoca soyle boyle diyodun ? Noldu bi anda ? Bir de google'da aramis etmis adamin gelip soru sormasi caizdir. Senin gibi hazira konmuyor. Butun odevlerini ben yapiyorum lan. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Prosciutto Mesaj tarihi: Kasım 29, 2010 Paylaş Mesaj tarihi: Kasım 29, 2010 Gladmir said: Odev guzelmis, Code generator + compiler yazacaksin. Design pattern dersinde compiler yazdırmazlar. Temsili olarak model kuracaksın, klasik oop konseptlerini kullandırtmaya çalışmışlar işte inheritance, abstract class, composition vs. + design patternlar. örn: compiler diye bir abstract class'ın olur ondan c++ compiler fortran compiler sınıflarını vs. inherit edersin. compilerın içinde parser scanner code generator classlarının birer instance'ı yaratılır, bunlar dışarıya açık olmaz. sadece compiler'ın sunduğu fonksiyonları kullandırtırsın dışarıya, buna da façade diyorlar falan. Ayrıntısını okumadım vaktim yok ama ilk anda aklıma gelenler böyle. Link to comment Sosyal ağlarda paylaş Daha fazla paylaşım seçeneği…
Öne çıkan mesajlar