Warfans
Benvenuti!!!!! Warfans è il forum più completo che riguarda computer e giochi di qualsiasi tipo!!!! ! Che aspettate? Iscrivetevi ed entrerete nella nostra community

1- L'utente continuando la navigazione nel sito dichiara di aver letto attentamente il Regolamento.
2- Tutti i nuovi Utenti sono pregati di presentarsi nella sezione Presentazioni.
3- Lo Staff cerca: Moderatori, Coder, Graphic. Se vi interessa scrivete il Curriculum nella sezione Zona Reclutamento.
Warfans
Benvenuti!!!!! Warfans è il forum più completo che riguarda computer e giochi di qualsiasi tipo!!!! ! Che aspettate? Iscrivetevi ed entrerete nella nostra community

1- L'utente continuando la navigazione nel sito dichiara di aver letto attentamente il Regolamento.
2- Tutti i nuovi Utenti sono pregati di presentarsi nella sezione Presentazioni.
3- Lo Staff cerca: Moderatori, Coder, Graphic. Se vi interessa scrivete il Curriculum nella sezione Zona Reclutamento.
Warfans
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

Warfans

La nuova frontiera dei videogiochi
 
IndiceHomeUltime immaginiRegistratiAccedi
E' obbligatorio presentarsi nella sezione "presentazioni" prima di formulare una richiesta!!!!

 

 Il Linguaggio Di Backus Naur

Andare in basso 
2 partecipanti
AutoreMessaggio
o0legolas0o
Vice Admin
Vice Admin
o0legolas0o


Numero di messaggi : 2683
Età : 29
Località : dintorni di napoli

Il Linguaggio Di Backus Naur Empty
MessaggioTitolo: Il Linguaggio Di Backus Naur   Il Linguaggio Di Backus Naur Icon_minitimeVen 22 Ott 2010, 21:10

Prima di andare avanti permettetemi di affermare che uno degli aspetti più importanti quando si sviluppa un programma è quello di poter (e saper) scrivere correttamente un programma. Da quando sono nati i linguaggi di programmazione sono stati scritti libri e sono stati fatti corsi e seminari sul "come" scrivere programmi sensati. Quindi questa lezione e la prossima trattano (in maniera volutamente poco approfondita) il linguaggio di Backus-Naur e l'indentazione, il primo utile per scrivere programmi formalmente corretti ed il secondo importante per organizzare in maniera chiara il codice scritto.

Quando si esamina un linguaggio di programmazione occorre considerare due aspetti, la sintassi e la semantica: la prima rappresenta le regole che permettono di scrivere in maniera corretta le frasi del linguaggio, la seconda specifica il significato delle frasi, distinguendo tra quelle che hanno un significato e quelle che, invece, non ne hanno.
Per definire questi due aspetti occorre utilizzare un metalinguaggio, la cui definizione per la semantica risulta assai complessa, mentre per la sintassi il metalinguaggio è in genere costituito da un insieme di notazioni (non ambigue), simboliche o grafiche, che possono essere spiegate facilmente con il linguaggio naturale.
Nella fattispecie parleremo del linguaggio di Backus-Naur (BNF, Backus-Naur Form) utilizzato a livello internazionale nel campo della programmazione per definire la sintassi dei linguaggi. Quella che presentiamo qui è solamente una piccola infarinatura sul funzionamento e sulle ampie possibilità descrittive di questo linguaggio.

Per spiegare il corretto funzionamento prendiamo un piccolo sottoinsieme della lingua italiana scritta, in cui la sintassi del linguaggio è definita da alcune regole, ognuna delle quali descrive una struttura (o categoria sintattica). Proviamo a formalizzare la sintassi di una frase, attenendoci alla struttura seguente:

frase:
soggetto verbo .
soggetto:
articolo nome
articolo:
one of
il la
nome:
one of
cane gatto fiume macchina prato
verbo:
one of
corre beve salta

Queste regole stabiliscono che una frase deve essere obbligatoriamente formata da un articolo, un nome, un verbo e dal segno di interpunzione "."; questo naturalmente vale per le regole che abbiamo definito, le quali possono essere estese anche in vari modi, vediamo sotto qualche esempio:

Elemento Opzionale - Un elemento opzionale viene generalmente contraddistinto dal pedice opt e indica appunto che tale elemento non è indispensabile per la costruzione di una "frase".
frase:
soggetto aggettivo opt verbo .

Elemento Ripetuto (o Ricorsivo) - A volte abbiamo bisogno che alcuni elementi si ripetano in maniera ricorsiva, questo per poter definire più elementi dello stesso tipo uno dopo l'altro.
frase:
soggetto verbo complemento-list opt .
complemento-list:
complemento
complemento complemento-list
complemento:
articolo nome
preposizione nome

Tale lista rappresenta una lista generica, ma esiste anche la lista separata da una virgola, il cui nome termina con il suffisso -clist, dove c rappresenta il termine inglese comma (virgola). Ripetendo l'esempio precedente
frase:
soggetto verbo complemento-clist opt .
complemento-clist:
complemento
complemento , complemento-clist
complemento:
articolo nome
preposizione nome

Elemento Incompleto - Quando abbiamo una lista di regole in forma incompleta, sarà usata l'espressione "...more..." per indicare che alcune alternative sono state omesse, secondo lo schema seguente:
element:
alternative
... more ...

A questo punto possiamo proporre la nuova sintassi estesa, basandoci su ciò che abbiamo appena illustrato:
frase:
soggetto verbo complemento-list opt .
soggetto:
articolo aggettivo opt nome
articolo:
one of
il la
aggettivo:
one of
mio tuo
nome:
one of
cane gatto fiume macchina prato
verbo:
one of
corre beve salta
complemento-list:
complemento
complemento complemento-list
complemento:
articolo nome
preposizione nome
preposizione:
one of
nella sul

Proviamo a costruire alcune frasi con questa sintassi:

Il mio cane corre sul prato.
Il tuo gatto salta sulla macchina.
Il fiume beve sul mio cane.
Il tuo prato corre nella macchina.
Come possiamo vedere tutte le frasi sono "sintatticamente" corrette, ma solo le prime due sono corrette dal punto di vista semantico. Questa è la cosa a cui il programmatore deve fare più attenzione, infatti un compilatore è in grado di trovare tutti gli errori sintattici, ma difficilmente individuerà una struttura programmativa senza senso, come ad esempio un ciclo che non finisce, sintatticamente corretto ma errore grave da evitare per il corretto funzionamento del programma e per una futura modifica del codice da parte di un'altra persona.
Quindi studiare la sintassi è indubbiamente molto utile e il linguaggio di Backus-Naur permette di comprendere le regole essenziali per scrivere un programma, ma il buonsenso e l'organizzazione logica di un programma sono cose che difficilmente si possono insegnare tramite un libro, ma si acquisiscono programmando giorno dopo giorno.

Questa lezione è liberamente tratta dal libro "Introduzione alla Programmazione ed elementi di strutture dati con il linguaggio C++" - A.Domenici, G.Frosini.

Fonte: Web
Torna in alto Andare in basso
https://warfans.forumattivo.com/forum.htm
~ßΛKξЯ~

~ßΛKξЯ~


Numero di messaggi : 864
Età : 28
Località : Toscana

Il Linguaggio Di Backus Naur Empty
MessaggioTitolo: Re: Il Linguaggio Di Backus Naur   Il Linguaggio Di Backus Naur Icon_minitimeSab 23 Ott 2010, 12:11

Ottimo , anche se mi c'è voluto tanto per leggerlo xD ,un bel più!
Torna in alto Andare in basso
http://warfans.tk/
o0legolas0o
Vice Admin
Vice Admin
o0legolas0o


Numero di messaggi : 2683
Età : 29
Località : dintorni di napoli

Il Linguaggio Di Backus Naur Empty
MessaggioTitolo: Re: Il Linguaggio Di Backus Naur   Il Linguaggio Di Backus Naur Icon_minitimeSab 23 Ott 2010, 15:25

xD grazie
Torna in alto Andare in basso
https://warfans.forumattivo.com/forum.htm
Contenuto sponsorizzato





Il Linguaggio Di Backus Naur Empty
MessaggioTitolo: Re: Il Linguaggio Di Backus Naur   Il Linguaggio Di Backus Naur Icon_minitime

Torna in alto Andare in basso
 
Il Linguaggio Di Backus Naur
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» Come e Quale Linguaggio Scegliere

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Warfans :: Programmazione :: C - C++-
Vai verso: