Focus Core

Mój pierwszy kompilator
xD Pozdrowienia dla dociekliwych xD

2007-06-30

Uber Language

Przy tworzeniu języka focus core powstaje język do pisania kompilatorów. Jest to ciekawe rozwiązanie oszczędzające bardzo dużo pracy :) (jednocześnie jej nakładające, jednak z pewnością jest to opłacalne). Poza napisaniem dobrego skanera i analizatora składni (w Uber LAnguage) muszę oskryptować dane w IA32_DB. Robota idzie lekko xD. Dlaczego nie użyłem gotowych języków do definiowania składni? Po prostu nie odpowiada mi ich jakość/elastyczność, a ja chcę uzyskać możliwie najlepszy rezultat :). Jeśli Uber Language (mój język do tworzenia języków) spełni moje oczekiwania nie będzie stanowiło problemu zdefiniowanie samego Uber Language w Uber Language xD... A co za tym idzie? Dzięki takiemu rozwiązaniu UL będzie w stanie kompilować kompilatory nie tyle do postaci binarnych, co do innych języków (przykładowo natywny kompilator Pascala w php), niewielkim kosztem (rzędu kilkuset linijek kodu).

Uber Language jest tworzony mniej więcej od ostatniego newsa (23.06.2007) i na podstawie tego co jest muszę powiedzieć, że język w nim pisany jest duuużo czytelniejszy niż źródła Free Pascala, czy jakiegokolwiek innego kompilatora jaki widziałem (może to tylko subiektywne odczucie).

Zwariowane ale prawdziwe :). Jeszcze nie wiem czy udostępnię UL, ale jako rekompensatę postaram się za jakiś czas dostarczyć opis pliku pe exe, a przynajmniej pełnego tutka o tym jak wczytać i wygenerować sekcję importów, oraz zaprezentować jak wyglądają binarnie zapisane instrukcje asemblera (przynajmniej trudniejsze fragmenty związane z adresowaniem pamięci - opisy które znalazłem w internecie czy wyczytałem z książek były niekompletne i musiałem !ręcznie! analizować kody binarne w debugerze delphi...).

Brak komentarzy: