• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

własny język programowania - jak to działa?

Object Storage Arubacloud
+1 głos
789 wizyt
pytanie zadane 1 sierpnia 2019 w Python przez Bartek952 Użytkownik (900 p.)

Dzień dobry, interesuje mnie kwestia tworzenia własnego języka programowania i:
a)  Z tego co zrozumiałem, to plik tekstowy zapisany w wybranym przez siebie formacie, uruchamia się w interpreterze,  napisanym w innym języku (tzw. metajęzyku): to prawda, czy coś poprzekręcałem?


b)  Jeżeli interpreter napisałbym w Pythonie, to jak to działa? To znaczy program przeze mnie napisany jest uruchamiany w moim interpreterze, a ten interpreter jest jeszcze uruchamiany w interpreterze Pythona? Czy może środowisko Pythona w jakiś sposób mogę zespolić się z moim interpreterem?


c)  I moje ostatnie pytanie, a właściwe prośba, mógłby mi ktoś pokazać  przykład prostego interpretera (napisany w pythonie) do języka z rozszerzeniem np. *.xd, który po napisaniu: write "Hello world"  wyświetlałby napis: Hello world ?

1
komentarz 1 sierpnia 2019 przez Tnifey Pasjonat (24,190 p.)
btw nie rób rozszerzenia .xd bo to już zrobili w adobe :P

2 odpowiedzi

+4 głosów
odpowiedź 1 sierpnia 2019 przez profesorek96 Szeryf (91,420 p.)
Jeśli myślisz o własnym języku programowania to polecam ci ten artykuł. Powinien ci nieco przybliżyć temat.

http://informatyka.wroc.pl/node/391
+2 głosów
odpowiedź 1 sierpnia 2019 przez Milesq Nałogowiec (32,020 p.)
Działa to tak jak to zaprogramujesz. Jeśli chodzi o interpreter to możesz to zaprogramować właśnie w taki sposób że program pobiera treść pliku podanego jako parametr i analizuje go (zrobi to tak jak to zaprogramujesz) i podejmie jakieś akcje. Możesz też na jego podstawie wygenerować plik wykonywalny i wtedy twój język jest kompilowany.
komentarz 1 sierpnia 2019 przez Bartek952 Użytkownik (900 p.)

Bardzo dziękuje, ale mam jeszcze jedno pytanie, mianowicie, jak mogę przypisać plik do zmiennej, gdy uruchomię go w tym interpreterze? To znaczy, normalnie, gdybym chciał otworzyć plik w pythonie, wyglądałoby to tak:

plik = open("ścieżka do pliku", mode="r")
#...
plik.close()

ale do zmiennej chciałbym przypisać aktualnie uruchomiony plik, a nie jeden konkretny. Jak to zrobić?

komentarz 1 sierpnia 2019 przez reaktywny Nałogowiec (40,990 p.)
Wiesz co na razie odpuść sobie tworzenie włąsnego języka ;) Zostaw to na później.

Jak mimo wszystko bardzo chcesz, to zajrzyj tu:

http://createyourproglang.com/

Jest fajna książka B. Stroustrupa o tym jak tworzył język C++, cała historia, bardzo ciekawie opisana. Polecam. Ta ksiązka ma kilkanaście lat, nie wiem czy wyszły jej nowe wydania.

Jest coś takiego (w wielu językach) jak DSL (domain specific language) lub Makra, co pozwala rozszerzyć możliwości danego języka. Może tym się zainteresuj na wstępie.
komentarz 1 sierpnia 2019 przez Milesq Nałogowiec (32,020 p.)
Ale DSL chyba tylko określa składnię a nie działanie
komentarz 1 sierpnia 2019 przez reaktywny Nałogowiec (40,990 p.)
Masz rację, wymieniłem DSL (i makra), jako coś mniej wymagającego, nie ma co się rzucać od razu na głęboką wodę.

Podobne pytania

+2 głosów
1 odpowiedź 518 wizyt
pytanie zadane 2 stycznia 2021 w Python przez x_000 Obywatel (1,460 p.)
0 głosów
1 odpowiedź 572 wizyt
pytanie zadane 20 czerwca 2020 w Rozwój zawodowy, nauka, praca przez Greeenone Pasjonat (16,100 p.)
0 głosów
3 odpowiedzi 2,899 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...