Skocz do zawartości

Zarchiwizowany

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

DevPort

Język programowania...

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.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Taki język jest bez sensu, bo nic nowego nie wnosi.

Zrób pascala na podobieństwo c# to moze byc ciekawsze i bardziej uzyteczne.

Udostępnij ten post


Link to postu
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.

Udostępnij ten post


Link to postu
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.

Udostępnij ten post


Link to postu
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 ;)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Po pierwsze chciałbym zdobyć doświadczenie w programowaniu kompilatorów.

Po drugie to chcę wydajności i głównie samodzielnego kodu bez interpreter'a. :)

Udostępnij ten post


Link to postu
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;

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W sumie prawda...

Niebawem skończę pierwszy etap (skaner leksykalny), także do opcode (etap 4) jest jeszcze trochę drogi... :D

Udostępnij ten post


Link to postu
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?)

Udostępnij ten post


Link to postu
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.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

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

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

×
×
  • Utwórz nowe...