Nowy jezyk

0

witam!
Chciałbym się dowiedzieć, jak zrobić program typu http://4programmers.net/view_file.php?id=1341. I jezeli to możliwe spytać sie czy znajdują się wsieci otwarte projekty, podobne do tego (oczywiście w c++)

0

no cóż heh prosty język skryptowy to nie jest raczej trudno napisać.
po prostu wczytujesz po linijce z pliku czy memo czy czego tam chcesz i sprawdzasz np. czy w danej linijce jest printf(" potem pobierasz parametry po znakach np. szukasz końcowego " i kopiujesz tekst. Przynajmniej ja bym sie tak za to zabrał,

//jakbyś tak się zabrał, to wyłożyłbyś się na pierwszej lepszej instrukcji warunkowej lub wyrażeniu podzielonym na kilka linii - m.M

0

"Kompilatory: Podstawy, metody i narzedzia" - Aho, Sethi, Ullman
Poczytaj i bedziesz wiedziec.
Marooned ma racje... wylozylbys sie na pierwszej linijce :)

0

a czy koniecznie musi to być kompilator, czy coś takiego, mi chodzi raczej o taki jak by program z parserem, chciałbym zrobić coś w stylu asp.net, A koncepcje mam ogólną taką:
Jeżeli w skrypcie znajduje sie np znaczniki <nss: (tak jak to jest w asp.net) to parser by w to miejsce odpowiednie funkcje wstawiał/ przetwarzał i wysyłał by czysty html. Tylko że instrukcje to chciałbym sam napisać, i ustalić co będzie w danym języku. Ktoś wie jak to zrobić w c++

0

heh cos wiem o tym, <ort>prubuje </ort>napisac parser w c, do plikow konfiguracyjnych:

  • rozna dlogosc lini
  • komentarze
  • <ort>elemininacja </ort>powtarzajacych sie nazw sekcji i danych
  • dowolna dlugosc stringow -> ""

Heh pisze <ort>już </ort>4 raz i <ort>wkolko </ort>jak parser dziala to wywala sie pamiec w c, ajak pamiec dziala to parser nie trybi :/

0

mozecie, jak ktoś zna podać przykłady takich jeżyków, gdzie jest parser (najlepiej w c++). Bym mógł przynajmniej od czegoś zacząc

0

a czy koniecznie musi to być kompilator, czy coś takiego, mi chodzi raczej o taki jak by program z parserem

Wlasnie budowa parsera jest opisana w przytoczonej ksiazce i wiele innych rzeczy. Oprocz opisu budowy kompilator jest tam rowniez opis budowy interpreterow (wlasnie cos takiego co ty potrzebujesz) i ogolnie translatorow.
Przeczytaj I rozdzial i potem bedziesz wiedzial co jest co i ktory rozdzial jeszcze bedziesz musial przeczytac, by napisac tak interpreter.

0

Niestety funduszy mi brakuje. Może jest coś podobnego on-line.
Ps. nikt niezna takich otwartych (dostępny kod) lęzyków?

0

Niestety funduszy mi brakuje. Może jest coś podobnego on-line.
Ps. nikt niezna takich otwartych (dostępny kod) lęzyków?

co nie zna :) a Lazarus, FPC, GCC.... Zna sie, tylko nikt tego nie analizuje pewnie...

Polecam przejrzeć ten link: http://sourceforge.net/softwaremap/trove_list.php?form_cat=45 są i kompilatory, i interpretery....

0

Ale przecież najprostszy interpreter jest banalny...
Po prostu struktura podobna do ASM, brak ograniczenia długości linii, i wymaganie od usera 1komendy w 1linii

0

Niestety funduszy mi brakuje. Może jest coś podobnego on-line.
Ps. nikt niezna takich otwartych (dostępny kod) lęzyków?

PHP

0

Tak to ma być coś w stylu php, ale mi chodzi o prostą konstrukcje (niewiem jak to rozwiazać), Chodzi mi aby do pardera, zainstalowanego czy to na apachu czy gdzie indziej, był wysyłany plik z danymi do sparsowania (jeżeli plik posiada odpowiednia nazwe coś w stylu *.php)i jeżeli znajdują się tam odpowiednie linijki pozamieniał je. Ale przecież niebęde tworzył konstrukcji czy to w c++ czy c co bedzie ciągle If (reguła) {wykonaj to i przekształć to} (styl z php). Jak ktoś ma pomysł to niech go tutaj umieści

0

ja sobie zacząłem robić takie coś. I wymyśliłem że zrobię parser z mojego języka skryptowego na mojego assemblera, a mojego assemblera wykonam na mojej maszynie wirtualnej, którą oczywiście najpierw napiszę ;-) na razie jestem w trakcie jej pisania, ale że sesja święta itp. wiec się do przodu posuwa powolutku :(

0

chodzi mi o koncepcja. Mam pomysł, tylko niewiem jak zrobić, aby program nieposiadał i niezajmował kilkaset mb, BO jeżeli bym slepał coś w stylu instrukcji if to tego programu, to na pewno nie było by to najlepszym rozwiązaniem. chodzi o prosty program , który czy to z apacha, czy sam w sobie (moze stworze edytorek) który przy pomocy takich konstruksji języka porównywał i w zależności co jest konwertował/wyświetlał to co jest potrzebne. Chodzi mi o taki np. kodzik

<!jezyk: typ="jakiś typ czy t label, czy coś innego" name="nazwa" funkcja="określona funkcja"> </!>

To jest tylko przykład (koncepcja), ale co z tym zrobić.

0

chodzi mi o koncepcja.

Moja koncepcja jest taka, że trzeba parserem na assemblera a potem na wirtualna maszynę. natomiast sama wirtualna maszyna już jest w miarę prosta - pamięć jako lista (w najprostszym przypadku, zdaje się, ze php ma na drezwku aby było szybciej) to ma dużą zaletę, że nie trzebba się zajmować zarządzaniem, przydzielaniem pamięci. Dodatkowy obszar pamięci na kod programu (tak mi wygodniej i myślę, ze lepiej)
Konkretne indtrukcje mojego pseudo assemblera będą bazować na języku w którym to jest napisane, czyli C++. Innymi słowy jak chcę coś wyświetlić to wywołam z C++ couta, jak chcę dodać dwie liczby to też przez c++sowy +

Mam pomysł, tylko niewiem jak zrobić, aby program nieposiadał i niezajmował kilkaset mb, BO jeżeli bym slepał coś w stylu instrukcji if to tego programu, to na pewno nie było by to najlepszym rozwiązaniem.

Na samym początku myślałem o czymś takim, ale to byłoby nierealne, jesli miałbyś specjalny warunek dla pętli while for, to co jeśli w whilu bedziesz miał fora? kolejny warunek...
w efekcie zawsze byłyby konstrukcje których nie mógłbyś wykonać.
Poza tym nie bardzo wdze możliwośc aby w takich konstrukcjach predefiniowanych (i przecież prekomilowanych) wstawić własny kod np. funkcji...

chodzi o prosty program , który czy to z apacha, czy sam w sobie (moze stworze edytorek) który przy pomocy takich konstruksji języka porównywał i w zależności co jest konwertował/wyświetlał to co jest potrzebne. Chodzi mi o taki np. kodzik

<!jezyk: typ="jakiś typ czy t label, czy coś innego" name="nazwa" funkcja="określona funkcja"> </!>

To jest tylko przykład (koncepcja), ale co z tym zrobić

Ale chyba tTobie chodzi o coś prostszego, a nie o w miarę sprawny język skryptowy ;-)
Tak czy inaczej moze mój opis do czegoś Ci się przyda...

0

A moze jakiś przykład kodziku?

0

Polecam zapoznać się z XMLem. Definiujesz sobie własny język znaczników a jak to wszystko będziesz interpretował (tzn. chodzi mi
o logikę a nie interpretowanie jak robi to interpreter ;P) to Twoja
sprawa. Możesz nawet pokusić się o transformowanie dokumentu XML
do własnego assemblera ;) Parserów do XMLa jest od groma i jeszcze
trochę (różne języki, w tym również C++). Jeśli to za mało to masz bisona (generator parserów dla języka o określonej gramatyce). Nic
tylko google i poczytać ;)

pzdr,

y.

0

oki spróbuje sobie poradzić, ale bym był wdzięczny za jakieś "pomoce naukowe" (arty itp.). Z góry tnx itp. :)

0

http://www.inform-fiction.org/zmachine/source.html

Znalazłem to przy innej okazji, może sie przyda.

0

jestem wybradny :p : a może cos z polskim akcentem

0

Moze Cie to zainteresuje, szczegulnie rozdzial 3.

http://tomasz.ii.uni.wroc.pl/jp/jp-0.75.pdf

0

trudna lektura, ale się przyda dzieki. Może ktoś jeszcze coś ma

1 użytkowników online, w tym zalogowanych: 0, gości: 1