Stiamo imparando sull'ambiguità in classe e la seguente grammatica è stata fornita come esempio di una grammatica ambigua. Semplicemente non vedo come sia ambiguo. Esiste un modello o metodo che le persone usano per determinare l'ambiguità o è proprio come un puzzle logico in cui devi lavorare attraverso le combinazioni per trovare una frase ambigua nella grammatica? Gli esempi che ho letto online hanno per lo più dato già la frase ambigua, ma come trovi quella frase in primo luogo? Apprezzerei qualsiasi aiuto, grazie.Esiste un modo per determinare l'ambiguità in una grammatica?
< stmt_list> ==> < stmt>
| < stmt> ; < stmt_list>
< var> ==> A | B | C
< stmt> ==> < var> + < var>
| < var> - < var>
| < var>
Ho fatto un errore nella mia risposta, ecco perché rimuovo la grammatica attuale non è ambigua. –
@GrijeshChauhan vedo. Grazie. Questo è molto confuso perché il nostro professore ci ha detto che era ambiguo. –
Ma la tua grammatica non è corretta allo scopo dell'espressione matematica :(guarda questo esempio per correggere http://stackoverflow.com/questions/14554752/how-can-i-add-parentheses-as-the-highest-level -of-precedence-in-a-simple-grammar/14569166 # 14569166 –