177
правок
Изменения
→Идея алгоритма
=== Идея алгоритма ===
Пусть, <tex> N^* </tex> множество рекурсивных терминалов из <tex> N </tex>.
Пусть, <tex> P = \{N_1,N_2,...\ldots,N_K\} </tex> разбиение <tex> N^*</tex> на <tex> k </tex> дизъюнктных множеств взаимно рекурсивных терминалов, <tex> N_1 \cup N_2 \cup ... \ldots \cup N_k = N^* \land \forall i </tex> <tex> N_i \neq \emptyset </tex>.
'''function''' isLeftType(<tex>N_i</tex>):
'''return''' <tex> \exists (A \Rightarrow \alpha B \beta) \in P[ A \in N_i \land B \in N_i \land \alpha \neq \varepsilon ]</tex>