Autor Zpráva
PHP_Nemaster
Profil
Dobrý den,
nevíte, jak si vytvořit vlastní programovací jazyk?

Když si přečtete článek o Ruby, vypadá to celkem jednoduše "si jen tak vytvořit jayzk", ale nejde mi do hlavy, jak se dělá, aby tomu počítač rozuměl? Dělají se kompilátory apod, ale stejně... Jak ví ten kompilátor, jak přeložit jazyk? A nebo jak může být kompilátor Javy ( Myslím ten od Sun Microsystems, Javac ) napsán v Javě?

Tvůrcem Ruby je jediný člověk – Yukihiro Matsumoto, známý také pod přezdívkou Matz. Ten jako zastánce objektově orientovaného programování hledal v první polovině 90. let skriptovací jazyk, který by mu vyhovoval. Avšak Perl mu připadal v té době málo výkonný a Python zase nebyl natolik objektový, jak by chtěl. A tak se rozhodl, že vytvoří vlastní jazyk.

( Tohle je pouze teoretická otázka, nesmějte se, že kladu otázky 'Na co je C# ?' a tady se ptám, jak udělat vlastní jazyk. )
Joker
Profil
nevíte, jak si vytvořit vlastní programovací jazyk?
To není tak složité. Prostě se definují jednotlivé konstrukce, příkazy... a je to.
Například šablonovací systém pro weby je defacto taky takový "miniaturní programovací jazyk". No a překladač je jenom program.
U nějakého jednoduchého šablonovacího systému by nebylo těžké napsat skript, který tu šablonu převede na PHP kód. Nebo třeba na ASP.

No a vlastně "to samé, jen trochu složitější" by bylo napsat Céčkový program, který by převedl PHP skript na Céčkový kód. Anebo na kód nějakého jiného jazyka. No a když místo pravidel PHP aplikuju nějaká vlastní pravidla...

Spíš je větší problém udělat jazyk, který k něčemu bude. Ale tam jde hlavně o teoretický návrh toho jazyka... pokud už se udělá nějaká specifikace a dokumentace, "odprogramovat to" už není takový problém.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: