libere da contesto, usate molto di frequente nei compilatori dei linguaggi di
programmazione(e degli altri strumenti associati). Un Parser LR legge il proprio
input partendo da sinistra(LEFT) verso destra, producendo una derivazione
destra(Rightmost Derivation). A volte questo parser viene indicato col nome
“Parser LR(k)” dove k si riferisce al numero di simbol letti utilizzati per
prendere le decisioni di parsing. Tipicamente k ha valore 1 ed è spesso omesso.
Una grammatica libera da contesto è chiamata LR(k) se esiste un parser LR(k)
adatto ad essa.
Nell'uso tipico, quando ci riferiamo a un parser LR significa che stiamo parlando
di un particolare parser in grado di riconoscere un linguaggio specifico in una
grammatica libera da contesto. Non è tuttavia insolito che ci riferisca a un
parser LR intendendo un programma che, fornendogli una tabella “ad hoc”, sia
in grado di produrre un ampio numero di LR distinti.
Il parsing LR ha parecchi benefici:
●
Parecchi linguaggi di programmazione possono essere parserizzati
usando del parser LR.
●
Il parser LR può esser implementato in modo estremamente efficiente.
●
Di tutti i parser che scandiscono il loro input da sinistra verso destra, il
parser LR è in grado di identificare gli errori sintattici rapidamente.
57