![]() |
![]() |
|
Programiranje Programski jezici, tehnike, alatke... |
![]() |
|
Alatke vezane za temu | Vrste prikaza |
|
![]() |
#1 |
Veteran
Član od: 25.12.2005.
Lokacija: Kragujevac
Poruke: 541
Zahvalnice: 67
Zahvaljeno 55 puta na 28 poruka
|
![]()
E ovako, video sam razlicite programske jezike, od onih sto jedan covek ne moze da napravi tipa VB ili C#, pa sve do programskih jezika koji zahtevaju jedno popodne da se naprave tipa Brainfuck. Posle svega toga odlucio sam i ja malo da se pozabavim tom tematikom, pa sam tako odlucio da napravim MPL sto znaci mine programming language.Jezik ce biti radjen u VB6 i prevodice kod u C, dok cu posle nekog vremena napraviti mogucnost pravljenja COM fajlova. Cilj mi je da napravim programski jezik u kome cu uspeti da napravim kompajler za njega. Jezik ce biti namenjen najvise pocetnicima, ali bice zanimljiv i za ljude sa iskustvom.
Jezik ce imati 5 instrukcija za baratanje sa promenljivama ($, %, ., PUT), 4 IO instrukcije (getf*, putf*, print, get), 5 aritmetickih operacija (+,-,*,/,sqrt), 3 funkcije za kontrolu toka (case, if, do). *getf i putf funkcije su funkcije za otvaranje datoteke za input i otvaranje datoteke za output. Sutra ili prekosutra ocekujte prvi mali kompajler. |
![]() |
![]() |
![]() |
#2 |
Član
Član od: 16.6.2007.
Lokacija: Backa Topola
Poruke: 160
Zahvalnice: 53
Zahvaljeno 71 puta na 42 poruka
|
![]()
Jedva cekam da vidim shta ce biti od ovoga
btw. puno srece ^_^ |
![]() |
![]() |
![]() |
#3 |
Veteran
Član od: 25.12.2005.
Lokacija: Kragujevac
Poruke: 541
Zahvalnice: 67
Zahvaljeno 55 puta na 28 poruka
|
![]()
Hvala
![]() Bice nesto ![]() |
![]() |
![]() |
![]() |
#4 |
Član
Član od: 5.12.2005.
Lokacija: Sombor
Poruke: 245
Zahvalnice: 7
Zahvaljeno 31 puta na 24 poruka
|
![]()
Pre nego sto pocnes,mozda bi trebao procitati malo strucne literature.Da naucis sta su skaneri,parseri...Lakse je takve stvari resavati sa lex-om i yacc-om(i derivatima) nego pisati ceo kod od nule.
Inace po ovome sto si naveo,vise mi lici da pravis model nekog zamisljenog (mikro)procesora,nego programski jezik viseg nivoa,ali ajde...Svejedno je zanimljiva oblast ![]() |
![]() |
![]() |
![]() |
#5 |
Deo inventara foruma
|
![]()
Prije nego sto pocnes trebao bi da procitas malo engleske gramatike jer ne moze da bude MINE programming language,nego samo MY programming language.
Primjer : This is my book. This book is mine. Znaci samo ![]() |
![]() |
![]() |
![]() |
#6 |
V.I.P. GNU/Linux
Član od: 1.11.2005.
Poruke: 11.093
Zahvalnice: 2.038
Zahvaljeno 4.889 puta na 2.828 poruka
|
![]()
Slažem se. Ovoj temi su ipak posvećeni čitavi predmeti na tehničkim fakultetima, tako da je daleko od zezanja (naravno ako se cilja na pravljenje upotrebljivog jezika).
|
![]() |
![]() |
![]() |
#7 |
Veteran
Član od: 25.12.2005.
Lokacija: Kragujevac
Poruke: 541
Zahvalnice: 67
Zahvaljeno 55 puta na 28 poruka
|
![]()
Ja sam i hteo prvo da napisem MY, nego su me istripovali da je mine ispravnije
![]() |
![]() |
![]() |
![]() |
#8 | |
Novi član
Član od: 25.10.2008.
Poruke: 1
Zahvalnice: 0
Zahvaljeno 0 puta na 0 poruka
|
![]() Citat:
![]() |
|
![]() |
![]() |
![]() |
#9 |
Član
Član od: 6.3.2006.
Lokacija: Nis
Poruke: 141
Zahvalnice: 31
Zahvaljeno 9 puta na 7 poruka
|
![]()
Da, lepo su ti svi rekli da treba da procitas dobar deo literature oko programskih prevodilaca i da naucis sta su leksicka, sintaksna i semanticka analiza. Posle analize jezika ide i njegova sinteza (prevodjenje u medjukod, optimizacija medjukoda, pa prevodjenje u asemblerski jezik i opet njegova optimizacija).
Jeste da ce ti ovo oduzeti dosta vremena, ali bolje ovako, nego da tu negde na pola projekta shvatis da nisi uzeo sve mogucnosti u opticaju (i shift-deletujes sve sto si radio), a ucenje na ovaj "tenicki" nacin je, kako se kaze, bullet-proof na razlicite greske. Mada ti hoces da kod prevedes u C pa onda da zoves gcc... To sto ti pravis se zove parser jezika (samo analiza bez sinteze). Preporucujem ti da naucis kako se zadaje gramatika jezika, da posle napravis neki tokenizer i na kraju uradis sintaksnu analizu koji je i najtezi deo. Preporucujem da koristis Bottom-up analizu (LR(1) parser), jer najbolje resava te probleme uz minimalne (ili nikakve) promene nad postojecom gramatikom (problem leve rekurzije i itd...). Lex i Yacc : odlican pocetak da naucis osnove kompajlera je preko ovih generatora. |
![]() |
![]() |
![]() |
Bookmarks sajtovi |
Alatke vezane za temu | |
Vrste prikaza | |
|
|
![]() |
||||
tema | temu započeo | forum | Odgovora | Poslednja poruka |
Language bar | DobroslaV | Operativni sistemi | 8 | 1.6.2007 21:10 |