Skocz do zawartości

Język programowania...


DevPort

Polecane posty

Uda się lub nie...

 

Rozpocząłem prace nad kompilatorem języka wzorowanego na php o nazwie Argon.

 

Wizja:

- kompilacja składni rodem php

 

Dalsza przyszłość:

- obsługa klas

 

 

Co wyjdzie zobaczymy.

Cel pierwszy to napisanie kompilatora w FPC

Cel drugi to napisanie kompilatora w kompilatorze (Argon'ie) :)

Cel trzeci rozwój...

 

To tyle nie rozpędzam się dalej... jak coś konkretnego zrobię to dam do działu Projekty.

Pozdr.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Obrałem już cel...

Język wzorowany na PHP kompilowany do IA-32 ;)

 

Myślę, że to dobry wybór...

Ps. Jest Bambalam PHP EXE Compiler/Embedder lecz on nie tworzy natywnego kodu php, a jedynie środowisko do samodzielnego uruchomienia php :P czyli taki interpreter i źródła php w jednym exe.

 

Import funkcji z dll, tworzenie aplikacji okienkowych przy użyciu składni rodem php :) to by było ciekawe :D

 

Mnie bardziej interesuje stworzenie natywnego kompilatora języka bardzo przypominającego php.

Pozdrawiam.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Ale waszym zdaniem przeniesienie takiego php do exe ma więcej + czy nie warto się z tą składnią bawić ?

Obecnie bawię się z kompilatorem matematycznym...

Składnia php podoba mi się głównie ze względu na interpretację podobną do Assemblera, czyli to co wyżej w kodzie to pierwsze będzie wykonane .

Dzięki temu można napisać dość prosty parser jednoprzebiegowy i bezpośrednio generować opcode.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

To Ty chcesz pisać ten kompilator tylko po to, żeby mieć "exe"? Czy może po to, aby mieć większą wydajność, nie dołączać interpretera itd.?

 

Jeśli tylko chcesz mieć exe napisany w PHP, to chyba są do tego odpowiednie narzędzia - do PHP nic takiego nie używałem, ale do Pythona korzystałem z PyInstaller - mogę wpakować w jeden exe moje skrypty, interpreter Pythona oraz moduły potrzebne do wykonania moich skryptów. Do PHP też pewnie znajdziesz coś podobnego ;)

Link do komentarza
Udostępnij na innych stronach

Podpowiedzcie mi jak rozwiązać typowanie... wiadomo, że php ma dynamiczne, a jak zrobić by język był bardzo podobny, ale typowanie statyczne? jakieś propozycje?

 

Może rozwiązać to takimi deklaracjami:

Sposob:
1 int $nazwa_zmiennej;
2 $nazwa_zmiennej(int);
$nazwa_zmiennej = 10;

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Po co piszesz lekser samemu? Nie łatwiej jest skorzystać z generatorów lekserów i analizatorów składniowych (jakiś flex i bison lub ich pochodne z zależności od tego w czym lubisz programować)? Wtedy mógłbyś się skupić na samym działaniu języka. Teraz odkrywasz koło na nowo. (Tak, wiem. To też jest fajne, ale chyba chciałeś stworzyć język, a lexer działający w 50%. Starczy Ci zapału?)

Pozdrawiam,

vo7 (;

Link do komentarza
Udostępnij na innych stronach

Odkrywam koło na nowo, by później łatwiej było odkryć koło na nowo w nowym języku... czyli napisać kompilator we własnym kompilatorze :)

Dodatkowo, pisanie każdego etapu (lexer, parser, code_generator, linkier) daje wiedzę i doświadczenie...

 

A jak wiadomo: Miarą doświadczenia jest ilość popełnianych błędów.... :)

Czy starczy mi zapału... nie wiem, ale chciałbym by starczyło.

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

  • 1 month later...

Trochę porzuciłem ten projekt na rzecz innego :D bardziej ambitnego... :D

 

Powiem tak, mając książeczkę "Programowanie systemowe mikroprocesorów x86" mam chęć zdobycia doświadczenia w tym kierunku... :D

Prawdziwy programista wiesza sie wraz ze swoim programem.

Link do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

×
×
  • Utwórz nowe...