Documente Academic
Documente Profesional
Documente Cultură
𝑰𝒏𝒊ț𝒊𝒂𝒍𝒊𝒛𝒂𝒓𝒆.
𝐹𝑂𝐿𝐿𝑂𝑊(𝑆) = {#)}
𝑹𝒆𝒑𝒆𝒕𝒂 𝑐𝑎𝑡 𝑡𝑖𝑚𝑝 𝑠𝑒 𝑎𝑑𝑎𝑢𝑔𝑎 𝑛𝑜𝑖 𝑠𝑖𝑟𝑢𝑟𝑖
∀𝐴 → 𝛼𝐵𝛽 ∈ 𝑃, 𝐵 ∈ 𝑁, 𝛼, 𝛽 ∈ (𝑁 ∪ 𝛴)∗ ,
𝑙𝑎 𝐹𝑂𝐿𝐿𝑂𝑊 (𝐵) 𝒂𝒅𝒂𝒖𝒈𝒂 𝑚𝑢𝑙𝑡𝑖𝑚𝑒𝑎 𝐹𝐼𝑅𝑆𝑇 (𝛽 ⋅ 𝐹𝑂𝐿𝐿𝑂𝑊 (𝐴))
Tabela de simboluri:
𝑎 𝑏 𝑐 #
𝑆 𝑒𝑟𝑟𝑜𝑟 (𝑋𝑌, 1) (𝑋𝑌, 1) 𝑒𝑟𝑟𝑜𝑟
𝑋 𝑒𝑟𝑟𝑜𝑟 (𝑏𝑋𝑎, 2) (𝑐, 3) 𝑒𝑟𝑟𝑜𝑟
𝑌 (𝑎, 5) (𝑏𝑌, 4) 𝑒𝑟𝑟𝑜𝑟 (𝜆, 6)
Tabela nu are intrări multiple, rezultă că gramatica este de tip 𝐿𝐿(1).
Analiza sirului 𝑏𝑐𝑎𝑏: configuratia initiala este (𝑏𝑐𝑎𝑏#, 𝑆#, 𝜆)
Schimbarile de configuratii:
(𝑏𝑐𝑎𝑏#, 𝑆#, 𝜆) ⊢ (𝑏𝑐𝑎𝑏#, 𝑋𝑌#, 1) ⊢ (𝑏𝑐𝑎𝑏#, 𝑏𝑋𝑎𝑌#, 12) ⊢ (𝑐𝑎𝑏#, 𝑋𝑎𝑌#, 12)
⊢ (𝑐𝑎𝑏#, 𝑐𝑎𝑌#, 123) ⊢ (𝑏#, 𝑌#, 123) ⊢ (𝑏#, 𝑏𝑌#, 1234) ⊢ (#, 𝑌#, 1234) ⊢
⊢ (#, #, 12346) ⊢ 𝒂𝒄𝒄𝒆𝒑𝒕
12346 reprezintă derivarea stângă unică a șirului 𝑏𝑐𝑎𝑏.
Analiza sirului 𝑏𝑐𝑐: configuratia initiala este (𝑏𝑐𝑐#, 𝑆#, 𝜆)
Schimbarile de configuratii:
(𝑏𝑐𝑐#, 𝑆#, 𝜆) ⊢ (𝑏𝑐𝑐#, 𝑋𝑌#, 1) ⊢ (𝑏𝑐𝑐#, 𝑏𝑋𝑎𝑌#, 12) ⊢ (𝑐𝑐#, 𝑋𝑎𝑌#, 12) ⊢
(𝑐#, 𝑎𝑌#, 123) ⊢ 𝒆𝒓𝒓𝒐𝒓 deoarece 𝑐 ≠ 𝑎.
Inițializare.
𝐹𝑂𝐿𝐿𝑂𝑊 (𝑆) ← {#}
Repeta cat timp se adauga noi siruri
∀𝐴 → 𝛼𝐵𝛽 ∈ 𝑃, 𝐵 ∈ 𝑁, 𝛼, 𝛽 ∈ (𝑁 ∪ Σ)∗ ,
la 𝐹𝑂𝐿𝐿𝑂𝑊 (𝐵) adauga multimea 𝐹𝐼𝑅𝑆𝑇 (𝛽 ⋅ 𝐹𝑂𝐿𝐿𝑂𝑊 (𝐴))
1 2 3
4 5