Glossario di programmazione Java

Appunto sulle parole chiave su automi a stati finiti, grammatiche, sistemi di transizione, visti per il linguaggio Java. (file.doc, 2 pag) (0 pagine formato doc)

Appunto di lexis
GLOSSARIO GLOSSARIO Un LINGUAGGIO DI PROGRAMMAZIONE è definito dalla sintassi (punto di vista formale), dalla semantica (significato), e dall'uso (tecniche di programmazione, astrazioni procedurali e sui dati).
ALGORITMO: sequenza di azioni che risolvono il problema. Ogni azione deve essere svolgibile in tempo finito e l'algoritmo deve avere una sequenza finita di comandi. PROGRAMMA: descrizione di un algoritmo, cioè dei metodi da seguire per risolvere un problema. I COMANDI sono le azioni che modificano lo stato corrente su cui sono applicate, Uno STATO è un insieme di associazioni (nome, valore) oppure nome valore. I comandi modificano lo stato corrente sul quale vengono applicati.
DEFINIZIONE RICORSIVA di un algoritmo: definizione dell'algoritmo in termini di se stesso (ex. La funzione fattoriale: f(x) = 1 se x = 0; f(x) = x* f(x-1) se x >0). SINTASSI del linguaggio: può essere definita sotto due aspetti diversi. Il modo riconoscitivo (attraverso gli automi a stati finiti) e quello generativo (attraverso le grammatiche). AUTOMI A STATI FINITI: strutture matematiche con un determinato numero di stati ed archi che rappresentano le possibili transizioni fra uno stato e l'altro. Sono strumenti che ci permettono di verificare se una frase è sintatticamente corretta , poiché un automa riconosce tutte le stringhe appartenenti al linguaggio per cui è stato costruito. LINGUAGGIO = dizionario + sintassi. DIZIONARIO = alfabeto di simboli, insieme che contiene le basi per costruire le fasi del linguaggio. STRINGA: sequenza finita di simboli appartenenti ad un determinato alfabeto. Una stringa è riconosciuta da un automa se e solo se esiste una sequenza di stati So, S1, … , Sn tali che So è stato iniziale e Sn stato d'accettazione ed esiste una transizione tra uno stato e l'altro tale che ci porti dallo stato iniziale fino allo stato d'accettazione. AUTOMI DETERMINISTICI: automi che hanno per ogni stato, al più un solo arco uscente con la stessa etichetta. Sono un sottoinsieme degli automi non deterministici. AUTOMI NON DETERMINISTICI: automi che possono avere per ogni stato anche più di un arco uscente con la medesima etichetta. Per alcuni di essi possiamo trovare l'equivalente automa deterministico grazie alla tecnica dei sottoinsiemi. GRAMMATICHE LIBERE DA CONTESTO: strumenti matematici formali che ci permettono di definire la sintassi dei linguaggi con l'approccio generativo. Una grammatica di un linguaggio può infatti generare, attraverso grafi detti alberi di derivazione, tutte le stringhe appartenenti a quel linguaggio. Si dicono libere da contesto perché le categorie sintattiche possono espandersi indipendentemente dai simboli terminali, ovvero il contesto, che sta loro intorno. Le componenti di una grammatica sono l'alfabeto (o insieme dei simboli terminali), le categorie sintattiche ( o simboli non terminali), le quali possono espandersi liberamente. La categoria sintattica con cui inizia una grammatica è detto simbolo iniziale o simbolo