Jump to content

Archived

This topic is now archived and is closed to further replies.

DevPort

Język programowania...

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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 ;)

Share this post


Link to post
Share on other sites

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. :)

Share this post


Link to post
Share on other sites

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;

Share this post


Link to post
Share on other sites

W sumie prawda...

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

Share this post


Link to post
Share on other sites

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?)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

×
×
  • Create New...