2. Analiza leksykalna

Program w Pythonie jest analizowany przez parser. Wejście dla parsera stanowi strumień tokenów, wygenerowanych przez analizator leksykalny. Poniższy rozdział opisuje sposób, w jaki analizator leksykalny przetwarza zawartość pliku na tokeny.  

Zawartość programu w Pythonie składa się ze znaków z 7-bitowego zbioru ASCII. Dodano w wersji 2.3: Możliwe jest wskazanie, że literały napisowe i komentarze są zapisane przy użyciu kodowania innego, niż ASCII. Używa się do tego celu deklaracji kodowania.. Dla zgodności ze starszymi wersjami, przy odnalezieniu znaków 8-bitowych kompilator Pythona wypisuje jedynie ostrzeżenie. Aby uniknąć ostrzeżeń, należy jawnie zadeklarować używane kodowanie lub też zamiast bezpośredniego zapisu znaków użyć sekwencji specjalnych (jeśli operujemy na danych binarnych).

Zestaw znaków wykorzystywany podczas uruchamiania programu zależny jest od urządzeń, z którymi program jest połączony, jednak zwykle stanowi on nadzbiór zbioru ASCII.

Uwaga na temat zgodności z przyszłymi wersjami: Kuszącym pomysłem może być założenie, że używanym zestawem znaków 8-bitowych jest ISO Latin-1 (nadzbiór ASCII, obejmujący większość znaków używanych w językach zachodnich), jednak istnieje prawdopodobieństwo, że w przyszłości powszechnym stanie się używanie edytorów tekstu obsługujących Unicode. Edytory tego typu zwykle korzystają z kodowania UTF-8, również będącego nadzbiorem ASCII, jednak traktującego znaki o kodach od 128 do 255 w szczególny sposób. Ponieważ więc decyzja na temat jednolitego kodowania jeszcze nie zapadła, nie należy zakładać ani korzystania z Latin-1, ani też z UTF-8, choć aktualna implementacja wydaje się faworyzować Latin-1 (zarówno w odniesieniu do kodu źródłowego, jak i zestawu znaków używanego przy wykonaniu programu).


Podsekcje
Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.