Изменения

Перейти к: навигация, поиск

Регулярная аппроксимация КС-языков

Нет изменений в размере, 09:19, 20 декабря 2016
Псевдокод
'''function''' makeFA(q0: '''vertex''', a: '''char''', q1: '''vertex'''):
'''if''' a == <tex> \varepsilon </tex> || '''or''' a <tex> \in \Sigma</tex> <font color=green>// пришли в лист дерева разбора</font>
<tex> \Delta = \Delta \cup \{(q_0,a,q_1)\} </tex>
'''return'''
'''foreach''' b '''in''' <tex>N_i</tex>
<tex>q_b</tex> = createState
'''if getTheTypeOfMutualRecursiveSet'''getTheTypeOfMutualRecursiveSet(<tex> N_i </tex>) == '''left'''
'''foreach''' C '''in''' <tex>N_i</tex> '''where''' <tex> C \rightarrow X_1 \ldots X_m \land X_1, \ldots X_m \neq N_i </tex>
makeFA(<tex>q_0, X_1 \ldots X_m, q_C</tex>)
177
правок

Навигация