Pok-5-wyk-Slajd36
Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Zbiór FIRST
Aby poradzić sobie z tym problemem wprowadzimy definicję zbioru FIRST. Nieformalnie można powiedzieć, że zbiór FIRST jest zbiorem zawierającym terminale, które mogą rozpoczynać daną sekwencję. Przyjrzyjmy się teraz formalnej definicji.
Zbiór FIRST(X), gdzie X jest dowolną sekwencją symboli tworzy się zgodnie z poniższymi regułami:
- Jeśli X jest terminalem, to X należy do zbioru FIRST(X)
- Jeśli X jest symbolem pustym to epsilon należy do zbioru FIRST(X)
- Jeśli X jest nieterminalem i X->Y1Y2...Yn, to „w” należy do FIRST(X) jeśli istnieje takie „i”, że „w” należy do FIRST(Yi) a epsilon jest we wszystkich zbiorach FIRST(Y1)...FIRST(Yi-1)
- Jeśli epsilon należy do FIRST(Yi) dla wszystkich i, to epsilon należy do FIRST(X)