Analizator leksykalny potrzebuje zeskanować i zidentyfikować tylko skończony zbiór poprawnych ciągów/tokenów/leksemów, które należą do języka w ręce. Wyszukuje wzorzec określony przez reguły języka. Wyrażenia regularne mają możliwość wyrażania skończonych języków poprzez zdefiniowanie wzorca dla skończonych ciągów symboli.
Dlaczego potrzebujemy analizatora leksykalnego?
Rola analizatora leksykalnego
pierwsza faza kompilatora. Analiza leksykalna: proces pobierania wejściowego ciągu znaków (takiego jak kod źródłowy programu komputerowego) i tworzenia sekwencji symboli zwanych leksykalnymi tokenami lub po prostu tokenami, które mogą być łatwiej obsługiwane przez parser.
Jaka jest rola analizatora leksykalnego w kompilatorze?
Po otrzymaniu polecenia get-next-tohen z parsera, analizator leksykalny czyta znaki wejściowe, dopóki nie będzie w stanie zidentyfikować następnego tokena. tokeny wpływają na decyzje dotyczące parsowania, … atrybuty wpływają na translację tokenów.
Co generuje analizator leksykalny?
Analizator leksykalny (generowany automatycznie przez narzędzie takie jak leksy lub ręcznie wykonany) odczytuje strumień znaków, identyfikuje leksemy w strumieniu i kategoryzuje je na tokeny. Nazywa się to tokenizacją. Jeśli lekser znajdzie nieprawidłowy token, zgłosi błąd.
Jaka jest potrzeba analizatora leksykalnego i analizatora składni w różnych fazach?
Analizator leksykalny to dopasowywanie wzorców. Analiza składni obejmuje utworzenie drzewa w celu zidentyfikowania deformacji składni programu. Do analizy leksykalnej często stosuje się podejścia mniej złożone. Analiza składni wymaga o wiele bardziej złożonego podejścia.