Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 15 odgovora
  • 6.954 pregleda

Najnovija ↓

Kako napisati programski jezik 05.03.2014. u 19:52 · pre 154 meseca #1
Programiram već duže vreme (3-4 godine) i došao sam na ideju da napišem programski jezik.

Mislio sam da to bude "mali" jezik, sa nekim osnovnim naredbama. Ništa preterano.


Kompajler bih pisao u Pascal-u, a okruženje u Delphi-ju, za sada samo za konzole, a posle bih ga možda nadogradio.




Želeo bih da pitam da li je to moguće i koliko je teško? Gde bih mogao da nađem literaturu (srpski) i da li bi neko mogao ukratko da opiše postupak?

Unapred hvala.


P.S. Već neko vreme razmišljam o pisanju jezika/kompajlera pa sam sada konačno odlučio da pokušam.
Potpis
DELPHI je zakon
Re: Kako napisati programski jezik 05.03.2014. u 23:57 · pre 154 meseca #2
Vrlo grubo, to se danas radi u dva sloja, u literaturi poznati kao frontend i backend.

Frontend sadrži parser i lekser i bavi se sintaksom i semantikom tvog jezika i prevodi ga u neki posrednički jezik.
Backend ovaj posrednički jezik pretvara u instrukcije za ciljanu platformu.

Tako, teorijski, možeš da zameniš frontend i uvedeš potpuno novu sintaksu, bez promene backenda.
Ili da zameniš backend, i podržiš različite platforme, npr x86, arm, mips...

Naravno, tu ima još gomila stvari, poput optimizacije, omogućavanje debagovanja, upravljanje memorijom, itd...

Delphi nije najbolji alat za to, jer postoje alati koji ti omogućavaju da neke od ovih stvari završiš veoma jednostavno, a pre svih flex i bison.

Da bi dobio neki osećaj o čemu se ovde radi, možeš početi odavde:
http://www.acs.uns.ac.rs/sr/node/237/1430007

Na ovom kursu se pravi programski jezik koji liči na C.

NetBeans sa C/C++ podrškom podržava Flex/Bison projekte, tako da možeš da koristiš njega za udoban razvoj.
Re: Kako napisati programski jezik 06.03.2014. u 11:09 · pre 154 meseca #3
Pogledaću link pa ću javiti kako ide.

U Delphi-ju nisam mislio da pišem jezik već razvojno okružeje (editor). Jezik i kompajler sam mislio da pišem u Pascal-u.
Potpis
DELPHI je zakon
Re: Kako napisati programski jezik 06.03.2014. u 20:39 · pre 154 meseca #4
Poskidao sam pdf-ove sa sajta i počeo da ih čitam. Imam instaliran NetBeans (kada sam radio Javu), ali iako sam slinuo full verziju i čekirao sve prilikom instalacije nemam podršku za cpp (i za javaMe sam morao posebno da instaliram). Da li bi neko mogao da mi objasni kako da dodam podešku za cpp, kao i za flex & bisop.

Unapred hvala.
Potpis
DELPHI je zakon
Re: Kako napisati programski jezik 06.03.2014. u 21:23 · pre 154 meseca #6
Hvala, ali meni treba flex za c, a koliko sam ja video jfilex je za javu.
Potpis
DELPHI je zakon
Re: Kako napisati programski jezik 07.03.2014. u 02:04 · pre 154 meseca #7
Instaliraj C/C++ plugin, vidi na Internetu kako.
Bison/Flex primer je pod New Project / Samples / C/C++.
Re: Kako napisati programski jezik 07.03.2014. u 11:51 · pre 154 meseca #8
Hehe, pa izabra bas pascal..? :)

A inace, i neki (stariji) operativni sistemi su pisani u pascal-u.

Pozz
Re: Kako napisati programski jezik 07.03.2014. u 16:13 · pre 154 meseca #9
Zanimnjivo, imam upravo okruglo desetorostruko više staža u programiranju od tebe (a i kolege) pa mi nije pala takva želja na pamet :)

Možda te ovo zadovoljava, pogledaj ovo: http://www.fast-report.com/en/product/fast-script/ ukoliko ti je ideja samo u neki svoj program uglaviti neki oblik evoluacije scripte ili sl.
Nešto slično je mislim bilo u JediVCL no napustio sam taj lib nakon D7 pa više nisam siguran.
Potpis
God is real unless is declared as integer.
Sviđa mi se1
Re: Kako napisati programski jezik 07.03.2014. u 16:37 · pre 154 meseca #11
Preambiciozan ti je plan.

Batali GUI i editore i napiši samo kompajler. Ustvari batali kompajler i napiši interpreter. Za neki postojeći jezik. Npr. neki podskup LISP-a.

Zašto? Zato što se naučiti LISP isplati. A ovako skraćen zadatak možda i ima šanse da uradiš.

Evo Piter Norvig je to uradio u 200-tinak linija Pajtona:

http://norvig.com/lispy.html
Sviđa mi se3
Re: Kako napisati programski jezik 07.03.2014. u 17:18 · pre 154 meseca #12
Mislio sam da prvo napravim kompajler za miciC po pdf-u. Za početak me samo interesuje kako da skinem i instaliram flex i bisop. Odlučio sam da koristim c u kombinaciji sa flex-om i bisop-op, bar za početak.

Veliko hvala.

P.S. I ja sam skoro došao na tu ideju. Cilj mi je da napravim "mali" jezik koji će pre svega biti logičan i matematički korektan. Možda mi fali iskustva, imam tek 15 godin i programiram od 6 razred OS, sada sam 1 srednje, ali mislim da u bih mogao da pokušam. Ne garantujem da ću uspeti, ali ću bar naučiti nešto novo ("ko reskira profitira" :)).
Potpis
DELPHI je zakon
Re: Kako napisati programski jezik 07.03.2014. u 23:55 · pre 154 meseca #13
Najjednostavnije je da sve radiš na Linuksu, možeš da napraviš virtuelnu mašinu, staviš Ubuntu na nju i to je to.
Ako ipak hoćeš da radiš na Windows-u, instaliraj Cygwin, pri instalaciji izaberi flex i bison i to je to.
Kompajler iz Cygwin-a dodaj u NetBeans i možeš da počneš.
Re: Kako napisati programski jezik 08.03.2014. u 11:21 · pre 154 meseca #14
Da li postiji neko offline installer za Cygwin. Pošto mi na kompu trenutno ne radi net.
Potpis
DELPHI je zakon
Re: Kako napisati programski jezik 09.03.2014. u 22:29 · pre 153 meseca #16
Hvala, najverovatnije ću ga skinuti do srede, pa tada krećem.
Potpis
DELPHI je zakon
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme