簡體   English   中英

在ll(1)中針對另一個語法檢查語法的算法

[英]Algorithm of checking a grammar against another grammar in ll(1)

我需要一種算法來檢查G1的語言是否是G2的語言的子集。 (假設G1和G2是兩個具有相同字母的LL(1)語法,它們的產生規則的形式為A-> aB或A-> a,而“ a”是非ε。我有一種解析算法根據字符串檢查語法,而不根據另一種語言檢查語法,是否有人可以解決?

您的語法看起來很正常。 因此,算法是將語法轉換為NFA。 這是一個簡單的1-1映射。 然后使用子集結構將NFA轉換為DFA。 稱它們為A和B。很容易分析它們以確定L(A)子集? 磅)。 例如,由於存在眾所周知的確定L(A)==α的有效算法。 L(B)並構造一個接受L(A)交點L(B)的新機器I(A,B),只需計算

( L(I(A,B)) ==? L(A) )  or  ( L(I(A,B)) ==? L(B) ) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM