Vlastny intrepretacny jazyk
-
harrison314
Hardcore addict
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Vlastny intrepretacny jazyk
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#.
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
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Vlastny intrepretacny jazyk
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
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Vlastny intrepretacny jazyk
Na prekonanie PHPsi fakt netrufam, mne ide skor o jazyk podobny assembleru.
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: Vlastny intrepretacny jazyk
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
- Príspevky: 212
- Registrovaný: 20 sep 2005, 16:53
- Bydlisko: moje hniezdo
- Kontaktovať používateľa:
Re: Vlastny intrepretacny jazyk
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
- Príspevky: 1006
- Registrovaný: 15 júl 2008, 16:54
- Bydlisko: Trnava
- Kontaktovať používateľa:
Re: Vlastny intrepretacny jazyk
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...
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
- Príspevky: 8224
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Vlastny intrepretacny jazyk
Ja si to predstavujem asi takto
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
Kód: Vybrať všetko
var PREMENNA
instrukcia PREMENNA,parameter
instrukcia2 parameter,parameter,parameter
....
....
navsetie: instrukcia3
...
...
skok nasvetie
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
- Príspevky: 212
- Registrovaný: 20 sep 2005, 16:53
- Bydlisko: moje hniezdo
- Kontaktovať používateľa:
Re: Vlastny intrepretacny jazyk
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
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
Re: Vlastny intrepretacny jazyk
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 