Vlastny intrepretacny jazyk

Programovacie jazyky, rady, poradňa...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Vlastny intrepretacny jazyk

Príspevok od používateľa harrison314 »

Ahojte, potrebujem vytvorit jednoduchy intepretovany (skryptovaci) jazyk, ktory bude mat okolo 20 instrukcii, to nie je az taky problem.
Problem je vytvorit intepretacny program, hladam nejake zdroje ,ktore to popisuju ako vobec s niecim takym zacat, najme principy alebo aj hotove kody.
Aj som nieco hladl ale nebol som uspesny.
Chcem to zimplementovat v C#.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa audiotrack »

veľa šťastia, čaká ťa veľa štúdia formálnych jazykov a konečných automatov, nehovoriac o náročnom programovaní keď zvládneš teoretické základy.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa harrison314 »

Na prekonanie PHPsi fakt netrufam, mne ide skor o jazyk podobny assembleru.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa audiotrack »

budeš musieť spraviť parser (rozpoznať či je príkaz platný, či dáva zmysel v takom kontexte ako je.. a to sa ešte nebavíme o vykonávaní toho programu) A to vyžaduje hlboké znalosti z formálnych jazykov a teorie automatov. Je mi jasné že myslíš niečo jednoduché, ale to jednoduché v tomto kontexte je zložitejšie ako nejaká náročná knižnica v php
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa pheo »

Ked to ma byt nieco ako assmebler tak to vec radikalne zjednodusuje, staci jeden case na rozpoznanie prikazu :) + nejaka mapa na labely.
Gepid
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1006
Registrovaný: 15 júl 2008, 16:54
Bydlisko: Trnava
Kontaktovať používateľa:

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa Gepid »

Neviem si presne predstaviť ako by to fungovalo, ale čo tak takto?:
Naprogramoval by si si nejaký program čo by prepisoval slová.
Tvoj program by sa začal príkazom napr. @gepid
A program by to preložil do <?php ...
A takto by sa dopracoval k echo, podmienkam a pod...
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa harrison314 »

Ja si to predstavujem asi takto

Kód: Vybrať všetko

var PREMENNA

instrukcia PREMENNA,parameter
instrukcia2 parameter,parameter,parameter
....
....
navsetie: instrukcia3
...
...
skok nasvetie
Interpret bude napisany v C# (moj jazyk bude npisany v nejakom textaku na ktory zavolam program a ten ho vykona ), takato syntax to velmi zjednoduchsuje,
rozmyslam ze kazda instrukcia bude reprezentovana vlastnym objektom a celi program,
spajanym zoznamom takychto objektov a beztypovych premenych, este musim domyslit rozpoznavanie cisel a textovych retazcov
pheo
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 212
Registrovaný: 20 sep 2005, 16:53
Bydlisko: moje hniezdo
Kontaktovať používateľa:

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa pheo »

ides na to dobre.
Ja by som to robil podobne:
pole, pripadne zoznam instrukcii
1 mapa na premenne (vyhladavas podla mena)
2 mapa navestia => nazov navestia mapuje poziciu v zozname instrukcii

1) naparsujes vytvoris zoznam
2) interpretujes

PS: bolo yb vhodne sa zamysliet nad tym ked budes mat velky zdrojak tak ti nemusi stacit pamat => zoznam intrukcii budes musiet vyhodit a
citat rovno zo suboru
piton
King
King
Používateľov profilový obrázok
Príspevky: 1902
Registrovaný: 02 aug 2005, 0:31
Bydlisko: Hnojisko

Re: Vlastny intrepretacny jazyk

Príspevok od používateľa piton »

No potrebujes spravit lexikalny a syntakticky analyzator, inspirovat sa mozes na http://147.232.1.24/ppj Konkretne napr. http://147.232.1.24/ppj/cv3.cpp kde mas spraveny interpretator pre jednoduchy jazyk... a na tom poslednom cviku je uz spraveny aj prekladac+interpretator :)
Napísať odpoveď