Алгоритм ЕрліАлгоритм Ерлі — алгоритм синтаксичного аналізу, призначений для перевірки коректності вхідного рядка. Основні поняття алгоритмуАлгоритм Ерлі за вхідним ланцюжком та граматикою породжує список розобру для даного вхідного ланцюжка в заданій граматиці. Нехай вхідна граматика задається четвіркою G = (T,N, S, P). Вхідний ланцюжок задається послідовністю терміналів w=a1,a2,…,an Списком розбору будемо називати послідовність списків ситуацій I0, I1,… In. Ситуацією будемо називати конструкцію вигляду [A-> X1,..,Xk∙Xk+1,…,Xm, i] (де k,i — довільні натуральні числа від 0 до m, а ∙ — метасимвол, який не належить ні N ні T), якщо A-> X1,.., Xm — правило з P. Список ситуацій Ij для слова w будемо будувати таким чином: [A->α∙β, i] (i≤j) належить Ij тоді і тільки тоді, якщо існують такі γ та δ, що S=>* γAδ, γ=>*a1…ai та α=>*ai+1…aj. Тобто певна частина слова w [1..j] може бути виведена використовуючи A-> α∙β. Одержаний список розбору може слугувати базою для багатьох алгоритмів, зокрема побудови правого розбору ланцюжка. Вхід алгоритму1) Граматика G = (T,N, S, P) Вихід алгоритмуСписок розбору I0, I1,… In. АлгоритмСпочатку ініціюємо список I0. Посилання
|
Portal di Ensiklopedia Dunia