Hvordan viser man, at en grammatik er tvetydig?

Indholdsfortegnelse:

Hvordan viser man, at en grammatik er tvetydig?
Hvordan viser man, at en grammatik er tvetydig?
Anonim

"Hvis en grammatik producerer mindst 2 forskellige parse-træer eller afledninger, så er grammatikken tvetydig." En anden regel: al CFG (uden ubrugelige symboler) med venstre-rekursivitet og højre-rekursivitet for den samme ikke-terminal er også tvetydige.

Hvordan ved du, om en grammatik er tvetydig?

En grammatik siges at være tvetydig, hvis der eksisterer mere end én afledning længst til venstre eller mere end én afledning længst til højre eller mere end et parsetræ for den givne inputstreng. Hvis grammatikken ikke er tvetydig, så kaldes den entydig. Hvis grammatikken har tvetydighed, er den ikke god til compilerkonstruktion.

Hvad er en tvetydig grammatik, giv et eksempel?

I datalogi er en tvetydig grammatik en kontekstfri grammatik, for hvilken der findes en streng, der kan have mere end én afledning længst til venstre eller parsetræ, mens en entydig grammatik er en kontekstfri grammatik, for hvilken hver gyldig streng har en unik afledning eller parsetræ længst til venstre.

Hvordan beviser du, at en kontekstfri grammatik er tvetydig?

3 svar

  1. Alle CFG uden ubrugelige symboler og med venstre og højre rekursion for det samme symbol, er tvetydige. Generelt: …
  2. For at undersøge tvetydighed skal du finde 2 afledninger længst til venstre for den samme streng (eller 2 afledninger længst til højre eller 2 afledningstræer).

Hvordan løser du tvetydig grammatik?

metoder til at fjerne tvetydighed-

  1. Ved at rette grammatikken.
  2. Ved at tilføje grupperingsregler.
  3. Ved at bruge semantik og vælge den parse, der giver mest mening.
  4. Ved at tilføje forrangsreglerne eller andre kontekstfølsomme parsingregler.

Anbefalede:

Interessante artikler
Er enderman tiltrukket af endermites?
Læs mere

Er enderman tiltrukket af endermites?

Endermen er fjendtlige over for endermites. Endermites har en 15 % chance for at spawn, når en enderman teleporterer (med den chance, der falder med 1 procentpoint pr. endermite spawn) og en 5 % chance for at spawn, når en spiller bruger en ender pearl.

Hvad er en god antibakteriel sæbe til tatoveringer?
Læs mere

Hvad er en god antibakteriel sæbe til tatoveringer?

Bedste sæber til tatoveringer: Top 10 anmeldelser 1 urskive hånd guld antibakteriel sæbe refill. 2 Urskive Gold Antibakteriel deodorantsæbe. 3 Cetaphil Deep Cleansing Face & Body Bar. 4 Dr. … 5 Neutrogena transparent parfumefri sæbe.

Hvorfor blev lillo brancato jr. i fængsel?
Læs mere

Hvorfor blev lillo brancato jr. i fængsel?

Brancato blev anklaget for andengradsmord, og retssagen mod hans begyndte den 17. november 2008. Den 22. december 2008 fandt en jury ham ikke skyldig i mord, men fandt ham skyldig i førstegradsforsøg. Den 9. januar 2009 idømte en dommer ham 10 års fængsel.