Tesi Robotica V+ Sim: Interprete Command Language e... | Page 58

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