Алгоритм 6.2. FOLLOW(1,A) жиынының құрылуы
Алгоритм G грамматикасының ережесін қолдану негізінде құрылған.
1қадам. Алдымен терминал емес А символының әрбіреуіне келесі жиын символдарын енгізу, олар шығару ережесінің оң жақ бөлімінде А символымен сәйкестеледі. Бұл дегеніміз
2 Қадам. Жиынға бос жол енгізу FOLLOW(1, S), бұл дегеніміз FOLLOW(1, S) = FOLLOW(1, S){ε}.
3Қадам. Барлығы үшін АVN есептеу:
4Қадам. Барлығы үшін АVN қою:
FOLLOW″i(1, A)=FOLLOW′i(1, A) FOLLOW′i(1, B), MB (FOLLOW ′i(1, A)∩VN), егер З ережеде B→ε.
5Қадам. Барлығы үшін АVN анықтау:
FOLLOWi+1(1, A) = FOLLOW″i(1, A)∪FOLLOW″i(1, B),
Барлық терминал емес символдар үшін B ∈VN, ереженің түріндей
6 Қадам. Егер A VN болса, онда FOLLOWi+1(1,A)≠FOLLOW i(1,A), онда оны қойып i:=i+1 және 3 – ші қадамға қайту, немесе 7 – ші қадамға өту.
7Қадам. Құрылған жиыннан терминал емес барлық символдарды шығару, бұл дегеніміз V A VnFOLLOW(1, A) = FOLLOWi(1, A)\N.
Достарыңызбен бөлісу: |