GRAMMATICHE DI TIPO 2 (CONTEXT FREE)

produzioni in cui un metasimbolo può essere sostituito a prescindere dal contesto (gli altri elementi delle forme di frase non influiscono)

Inoltre in queste produzioni e ammessa la stringa vuota

SELF EMBEDDING

Le grammatiche di tipo 2 ammettono produzioni della seguente forma

Questo permette alle grammatiche di tipo 2 di generare frasi con egual numero di simboli terminali a destra e sinistra (parentesi)

CONVERSIONE DI GRAMMATICHE DI TIPO 2

Le grammatiche di tipo 2 con produzioni che ammettono la stringa vuota possono essere convertite in grammatiche in cui non e presente il simbolo terminale, oppure e presente la forma , e non compare a destra di nessuna produzione

ALBERI DI DERIVAZIONE

Per le grammatiche di tipo 2 si introduce il concetto di albero di derivazione, dato l’insieme delle produzioni si ha che :

  • la radice dell’albero e lo scopo della grammatica
  • dato il nodo e i suoi figli significa che nella grammatica e presente una regola di produzione dove sono i simboli associati ai nodi
flowchart TD
A[S]
B[A1]
C[A2]
D[A3]
E[B1]
F[B2]
G[B3]
A --> B & C & D
B --> E
C --> F
D --> G

Questa struttura e possibile solo per le grammatiche di tipo 2, le grammatiche di tipo 1 e 0 ammettendo a sinistra più di un membro genererebbero un grafo e non un albero

DERIVAZIONI CANONICHE

esistono derivazioni delle regole che formano alberi noti, la derivazione left-most che consente nell’espansione del membro non terminale più a sinistra e right-most che al contrario espande il membro più a destra

AMBIGUITÀ DI UNA FRASE

una frase si dice ambigua quando ammette due derivazioni sinistre distinte

FORME NORMALI

Per i linguaggi generati da grammatiche di tipo 2 si possono evidenziare due forme comuni per le produzioni in cui:

  • non sono presenti produzioni che fanno rename di metasimboli (e.g. )
  • tutti i metasimboli e i simboli sono presenti nelle produzioni
  • se la stringa vuota non fa parte del linguaggio non esistono produzioni che la includono

FORMA NORMALE DI CHOMSKY

le produzioni hanno tutte la forma

FORMA NORMALE DI GREIBACH (PER LINGUAGGI SENZA )

le produzioni hanno tutte la forma

IL PROBLEMA DELLA RICORSIONE SINISTRA

I linguaggi di tipo 2 possono presentare produzioni che consentono la ricorsione sinistra

La ricorsione sinistra rappresenta un problema per quanto riguarda la riconoscibilità del linguaggio, e sempre possibile trasformare la ricorsione sinistra in ricorsione destra.

ELIMINAZIONE DELLA RICORSIONE SINISTRA

  • Data una grammatica come segue
  • si può applicare la sostituzione e ottenere
  • a questo punto si ha che qualunque sia la sequenza di derivazione le frasi prodotte inizieranno con il simbolo , quindi si può dire:

PERCHÉ NON ELIMINARE SEMPRE LA RICORSIONE SINISTRA

La ricorsione sinistra può essere sempre eliminata, tuttavia l’operazione comporta un esplicito cambiamento delle regole che generano il linguaggio, e di conseguenza della semantica delle frasi stesse

PREVIOUS NEXT