SKANER


Funkcja skanera

Aby kod zródłowy mogł być wykonany potrzebne jest przeprowadzenie skanowania tekstu kodu programu i podziału go na odpowiednie przeanalizowane fragmenty (leksemy).
Odpowiedzialny za to jest właśnie skaner. Na jego wejscie podawany jest kod programu, a na wyjściu dostajemy przeanalizowany i podzielony ne leksemy kod.
Skaner poinformuje także o niedozwolonych znakach w tekście programu o raz o podstawowych błędach.

Jak działa skaner?

Skaner jest uruchamiany w momencie klikniecia przycisku SKANUJ. Uruchomiona zostaje wtedy funkcja skaner(), która w pętli while analizuje wcześniej utworzoną listę z wszystkich znaków występujących w kodzie programu. Podczas przeglądania tejże listy skaner dokonuje rozpoznawania podstawowych typów leksem.

Rozpoznawane są:

    słowa
    liczby
    operatory (przypisania, arytmetyczne, logiczne)
    separator
    kropka
    dwukropek
    spacja
    nawias lewy
    nawias prawy
    kropka
    komentarz
    blok we/wy

Wyniki zapisywane są w postaci listy dwukierunkowej o polach: nrl (numer linii), typ_leksemy, wartosc.
po zakończeniu działania funkcji skaner w pamieci operacyjnej znajduje sie lista leksem składajacych sie na kod programu. Lita tych leksem będzie w daleszej kolejności wykorzystana przez parser do sprawdzenia porpawności składni poszczególnych instrukcji jak i całego programu.

Kod źródłowy funkcji skanera