Skip to content

sdatko/zaskroniec

This branch is 2291 commits ahead of, 22094 commits behind python/cpython:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

610e2ef · Apr 1, 2023
Mar 7, 2023
Mar 7, 2023
Mar 13, 2023
Apr 1, 2023
Dec 6, 2022
Apr 1, 2023
Mar 7, 2023
Mar 28, 2023
Oct 28, 2022
Oct 4, 2022
Jan 8, 2023
Mar 7, 2023
Apr 1, 2023
Aug 4, 2020
Jul 3, 2020
Apr 1, 2023
Mar 7, 2023
Aug 10, 2021
Aug 13, 2019
Oct 26, 2020
Mar 30, 2021
May 28, 2019
Jan 8, 2023
Apr 1, 2023
Apr 1, 2023
Mar 27, 2021
Apr 30, 2018
Apr 30, 2018
Mar 15, 2022
Mar 15, 2022
Oct 29, 2018
May 2, 2021
Sep 29, 2021

Repository files navigation

Zaskroniec

Niniejsze repozytorium należy rozpatrywać jako demo technologiczne.

Uwaga: jest to jeszcze wersja bardzo wczesno-poglądowa!

Polski Python

Programuj z polskimi słowami kluczowymi!

Jak zacząć?

Uruchom następujące komendy:

./configure --prefix=/opt/zaskroniec/
make
sudo make altinstall

W systemie zostanie instalowany interpreter /opt/zaskroniec/bin/zaskroniec

Przykłady

Zajrzyj do katalogu PRZYKŁADY/, aby odnaleźć wzorcowe kody.

Nasze pliki źródłowe stosują emoji węża jako rozszerzenie: 🐍

Na przykład:

/opt/zaskroniec/bin/zaskroniec PRZYKŁADY/pętle.🐍

Podpowiedź: użyj klawisza [TAB] i mechanizmu auto-uzupełniania powłoki dla wygody ;-)

Dlaczego?

Ponieważ dobry żart jednocześnie bawi i uczy!

Celem nadrzędnym było zapoznanie się z tym, jak zbudowany jest interpreter języka Python oraz jak można go zmodyfikować w jakimś konkretnym celu. Prześledź ostatnie zmiany w repozytorium, aby zobaczyć co zostało zrobione!

Plik Grammar/Grammar zawiera definicję podstawowej składni języka, czyli słów kluczowych i w jakiej kombinacji mogą one wystąpić w programie, zaś w pliku Python/bltinmodule.c można znaleźć kod wbudowanych funkcji.

Po modyfikacji pliku z gramatyką, należy wykonać komendę make regen-grammar (lub make regen-all), aby zmiany gramatyki zostały odwzorowane w plikach źródłowych interpretera (w języku C).

Oryginalną inspirację stanowił ten artykuł: https://realpython.com/cpython-source-code-guide/#using-pgen.

Uwaga! Wersja 3.9 interpretera CPython zmieniła trochę sposób definiowania gramatyki. Wykorzystuje ona nowy format oraz narzędzie – i chociaż co do idei wszystko wygląda tak samo, to z jakiegoś powodu nie udało mi się zmusić nowszej wersji do respektowania nowych słów kluczowych (a nie miałem czasu drążyć...).

Zainteresowanych zgłębieniem tematu odsyłam do wyżej podanego artykułu oraz oficjalnej dokumentacji: https://devguide.python.org/internals/parser/.

Źródło

Cały pierwotny kod źródłowy zaczerpnięto z repozytorium: https://github.com/python/cpython

About

The Python programming language, but with Polish flavor

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages

  • Python 63.2%
  • C 34.5%
  • C++ 0.7%
  • HTML 0.4%
  • M4 0.4%
  • Batchfile 0.2%
  • Other 0.6%