Jakie funkcje interpretera ?

1

Witajcie.

Otóż temat http://4programmers.net/Forum/Delphi_Pascal/181142-pisanie_interpretera natchnął mnie znowu na tematykę interpreterów. Postanowiłem spróbować sił i napisać swój drugi (poprzedni jest w tamtym temacie, lecz to całkowita porażka...).
I tak się chciałem zapytać, czy macie jakieś pomysły, jakie funkcje mogłyby w nim zostać umieszczone.

PS: Nie jestem pewien cd.kategorii, a więc w razie złej, proszę o przeniesienie ;)

1
function DalejDalejZajebistyParserGadzeta(String : kod): String
begin
   // nakurwiam parsowanie
end;

Tak szczerze, ty się zastanów co ten parser miałby robić i w jaki sposób. Tu masz manual do wszystkiego. Jakie funkcje masz umieścić to się myśli stosując metodę copy-paste. Swoją drogą, możesz uzasadnić czemu wybrałeś akurat Delphi?

0

Wybrałem Delphi, ponieważ już kiedyś pisałem w nim interpreter i nie było to jakieś nieosiągalne wyzwanie.
A do czego miałby on służyć?
Hm...
Być może jakiś język skryptowy do gry lub PhotoYebatora ;)
Jakoś nigdy nie myślę, do czego dana rzecz ma służyć, to się dopiero później okazuje.
Zobaczy się ;)

Edit: A napisałem, że to nie ma być interpreter Delphi, tylko on będzie napisany w Delphi ?
To będzie interpreter moje własnego języka, a was się chciałem zapytać, czy macie jakieś pomysły.
Ponieważ wydaje mi się, że zrozumiałeś, że chcę napisać interpret. Delphi.

0

Od długiego czasu piszę swój interpreter skryptów (lekko ponad 6000 lini kodu). Generalnie u mnie są dwie najważniejsze procedury:

  • DoPol - Wykonuje FindType dla każdego parametru a następnie wyszukuje odpowiednią procedurę i ją wykonuje.
  • FindType - Tutaj jest wbudowane rozpoznawanie typów (string,boolean,double,real,integer,byte,word i jeszcze pare). Tutaj też jest obliczana wartość wyrażeń matematycznych.
    Oczywiście obie są w obiekcie interpretera, który ma wbudowany system zarządzania pamięcią (tworzenie, odczyt,zapis i kasowanie). Nawet mam częściowo gotowe tablice i rekordy w tym języku (ale nie ma jeszcze możliwości ich deklaracji). Żeby Ciebie zniechęcić, powiem Ci że moje wbudowane 23 procedury to 'zaledwie' 1381 linii kodu... A nawet nie mam procedury mnożenia ;)
0

Nie ma bata :)
Nie zniechęcisz mnie ;)
Akurat piszę prockę do obliczania wyrażeń matematycznych (stanąłem na nawiasach), lecz jakoś idzie.
Potem dodanie paru(tysięcy) rzeczy i będzie OK.
Chyba w 50 lat to skończę :D

PS: Powodzenia w pisaniu!

0

To może napisz interpreter C# a potem może przerobisz na kompilator (nie zarządzany).

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