Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Grammatica BNF

102 views
Skip to first unread message

milliken

unread,
Sep 26, 2001, 2:18:51 PM9/26/01
to
Salve
sto cercando una grammatica tipo bnf per la lingua italiana e che sia più
completa possibile. Potete aiutarmi ?
Grazie

Milliken


Marco Cimarosti

unread,
Sep 27, 2001, 4:12:56 AM9/27/01
to
Milliken ha scritto:

> sto cercando una grammatica tipo bnf per la lingua italiana e che sia più
> completa possibile. Potete aiutarmi ?

Mi sbaglierò ma ho il sospetto che una cosa del genere non possa
esistere. Forse intendi, in generale, una grammatica generativa
dell'italiano?

Il BNF (Backus-Naur form, se ricordo lo spelling), per come lo conosco
io, è sì un metalinguaggio per descrivere grammatiche generative, ma
io l'ho sempre visto usare solo e unicamente per descrivere i
linguaggi non-ambigui usati nell'informatica (linguaggi di
programmazione e simili).

Ma le lingue vive sono molto molto più complicate e, soprattutto, non
hanno le caratteristiche di *non-ambiguità* dei linguaggi di
programmazione. Mi pare dunque impossibile che le grammatiche vive
possano essere descritte con i costrutti elementari del BNF.

Ciao.
Marco

Vitt

unread,
Sep 27, 2001, 4:13:20 AM9/27/01
to
milliken nel messaggio <9ot60u$ak6$1...@serv1.albacom.net> ha scritto:


>sto cercando una grammatica tipo bnf per la lingua italiana e che sia più
>completa possibile.

bnf?
banca nazionale forestale?
burro non frullato?
buona norma filantropica?

--
Bye
Vitt

Giovanni Drogo

unread,
Sep 27, 2001, 5:11:56 AM9/27/01
to
On 27 Sep 2001, Marco Cimarosti wrote:

> > sto cercando una grammatica tipo bnf per la lingua italiana e che sia più

> Il BNF (Backus-Naur form, se ricordo lo spelling), per come lo conosco

io la avevo sentita (e solo in contesti di linguaggi di programmazione)
anche come Backus Normal Form ... in ogni caso John Backus e'
l'inventore del FORTRAN (lunga vita a entrambi)

http://www-groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Backus.html

(in quella pagina la cita come Backus Naur ... ma non so chi sia Naur).
Pero' si veda
http://cui.unige.ch/db-research/Enseignement/analyseinfo/AboutBNF.html

magica

unread,
Sep 27, 2001, 8:18:39 AM9/27/01
to
Il 27 Set 2001 alle 10:12, marco.c...@europe.com (Marco Cimarosti) ha
scritto:

>Il BNF (Backus-Naur form, se ricordo lo spelling), per come
lo conosco
>io, è sì un metalinguaggio per descrivere grammatiche
generative, ma
>io l'ho sempre visto usare solo e unicamente per
descrivere i
>linguaggi non-ambigui usati nell'informatica (linguaggi di
>programmazione e simili).

Effettivamente le grammatiche (voglio dire
l'insieme dei vincoli cui devono
sottostare le frasi ammissibili in un
linguaggio) context-free possono venire
vengono usate per descrivere i
linguaggi naturali. Anzi mi pare che Chomsky
abbia originariamente
definito queste grammatiche proprio con riferimento a tali
linguaggi. E
quindi, essendo le grammatiche context-free rappresentabili con la
notazione di Backus-Naur, si potrebbe effettivamente provare a specificare
l'italiano in questo modo.

Non so però se qualcuno abbia provato a
farlo, con che limitazioni, con che
deviazioni, con che risultati.
Ciao.

Gian Carlo

--------------------------------
Inviato via http://usenet.iol.it

Roscio

unread,
Sep 27, 2001, 8:11:09 AM9/27/01
to
"Vitt" <v.m...@iol.it> wrote in message
news:n3c4rtotbh91akstt...@4ax.com...

> >sto cercando una grammatica tipo bnf per la lingua italiana e che sia più
> >completa possibile.
>
> bnf?
> banca nazionale forestale?
> burro non frullato?
> buona norma filantropica?


<BNF> ::= <Backus Normal Form>

(e chi ha orecchie... :-)))

--
Er Roscio.

Roscio

unread,
Sep 27, 2001, 8:09:32 AM9/27/01
to
"Giovanni Drogo" <dr...@rn.bastiani.it> wrote in message
news:Pine.OSF.4.30.01092...@poseidon.ifctr.mi.cnr.it...

>
> > > sto cercando una grammatica tipo bnf per la lingua italiana e che sia
piů

>
> > Il BNF (Backus-Naur form, se ricordo lo spelling), per come lo conosco
>
> io la avevo sentita (e solo in contesti di linguaggi di programmazione)
> anche come Backus Normal Form ... in ogni caso John Backus e'
> l'inventore del FORTRAN

Avete ragione tutti e due. La BNF, codificata da John Backus, ingegnere
dell'IBM
e ideatore - tra l'altro - del ForTran, č stata in seguito ampliata e
completata
da un suo allievo (Naur, per l'appunto), tanto da esser poi nominata
Backus-Naur Form).

Per rispondere a Milliken, credo proprio che esistano delle grammatiche
italiane
espresse in BNF, ma personalmente non ne conosco (vero č che non difficile
costruirne una, inserendo inizialmente le regole piů conosciute prelevandole
da
una qualunque grammatica delle medie, e poi ampliarla man mano con nuova
"conoscenza").

>(lunga vita a entrambi)

Se per ForTran intendi il ForTran90, spero che muoia presto d'inedia...
(il ForTran IV č stato il mio primo linguaggio, nel non piů vicinissimo
'74...)

--
Er Roscio.

Quaz

unread,
Sep 27, 2001, 10:43:45 AM9/27/01
to

>
> Per rispondere a Milliken, credo proprio che esistano delle grammatiche
> italiane
> espresse in BNF, ma personalmente non ne conosco (vero è che non difficile
> costruirne una, inserendo inizialmente le regole più conosciute

prelevandole
> da
> una qualunque grammatica delle medie, e poi ampliarla man mano con nuova
> "conoscenza").


Sì, esistono dei libri di grammatica simili a quelli di logica matematica.
Lo aveva una mia amica che frequentava Scienze della Formazione.

Paolo

unread,
Sep 27, 2001, 4:07:04 PM9/27/01
to

Quaz <nor...@libero.it> wrote in message
BWGs7.7190$aE.17...@news.infostrada.it...

Vi riferite per caso alla "Grande Grammatica di Consultazione" di Lorenzo
Renzi, ed. "il Mulino"? Esiste anche la collana Le strutture del linguaggio
(sempre "il Mulino"), ispirate alla grammatica generativa di Chomsky: per
esempio "Sintassi" di Giorgio Graffi (ottimo) e "Fonologia" di Marina Nespor
(zeppo d'imprecisioni).

Ciao,
Paolo


magica

unread,
Sep 27, 2001, 5:10:27 AM9/27/01
to
Il 27 Set 2001 alle 10:12, marco.c...@europe.com (Marco Cimarosti) ha
scritto:

>Il BNF (Backus-Naur form, se ricordo lo spelling), per come lo conosco

Marco Cimarosti

unread,
Sep 28, 2001, 6:38:05 AM9/28/01
to
Roscio ha scritto:

> Per rispondere a Milliken, credo proprio che esistano delle grammatiche
> italiane
> espresse in BNF, ma personalmente non ne conosco (vero è che non difficile
> costruirne una, inserendo inizialmente le regole più conosciute prelevandole

> da
> una qualunque grammatica delle medie, e poi ampliarla man mano con nuova
> "conoscenza").

Io continuo a pensare che questo non sia possibile. Certo è probabile
che esistano delle grammatiche *generative* dell'italiano (e anzi
sembra anche a me di averne vista almeno una, in biblioteca) ma non
posso credere che siano espresse in BNF.

Il BNF è un metalinguaggio estremamente semplificato, adatto solo a
descrivere la sintassi di linguaggi non-ambigui (o "context-free",
com'è stato giustamente ricordato). Il BNF è insomma il fratellino
povero dei metalinguaggi inventati da Chomsky per analizzare la
sintassi delle lingue naturali.

Certamente, il principio di base, le finalità e la forma esteriore di
questi metalinguaggi è analogo, ma il BNF manca di alcuni costrutti
complessi, indispensabili all'analisi di sintassi complesse e
"ambigue".

Tutte le grammatiche generative sono espresse sotto forma di "regole
di produzione" (o "produzioni") ognuna delle quali ha, a sinistra, un
"simbolo non terminale" che identifica un nodo della sintassi (ad es.
<FRASE>, <SOGGETTO>, <PREDICATO>, ecc.) e, a destra, una definizione.
(In BNF, la parte sinistra e destra si separano col simbolo "::=" e i
simboli non terminali si includono fra parentesi angolari "<...>".)

La definizione sulla destra è fatta da una serie di simboli non
terminali di livello inferiore e/o di "simboli terminali", cioè
parole, lettere, elementi riportati letteralmente. (In BNF, si usa
spesso includere i simboli terminali fra virgolette.)

La definizione può anche comprendere più serie di simboli alternative,
tutte egualmente valide. (In BNF, queste ipotesi si separano l'una
dall'altra per mezzo del simbolo "|".)

La prima produzione di una grammatica generativa normalmente definisce
l'intero linguaggio (avrà dunque un nome tipo <FORTRAN>, <ITALIANO>,
ecc.). Le regole successive definiscono i simboli non terminali usati
della prima produzione, e così via "ricorsivamente".

Il BNF si ferma qui, perché questo è sufficiente per descrivere
linguaggi informatici context-free. Ma un metalinguaggio per lingue
naturali ha bisogno di molti altri elementi, come ad es. particolari
costrutti per descrivere le flessioni delle parole, oppure simboli che
specifichino se l'ordine di sequenza di due simboli è significativo
oppure no, ecc.

Per dare un'idea a chi non sa di che stiamo parlando, ho provato a
buttar giù un esempio di una semplice grammatica che definsce la
"sintassi" di un indirizzo di e-mail:

<EMAIL> ::= <NOME> "@" <SERVER>
<NOME> ::= <TERMINE> | <TERMINE> "." <NOME>
<TERMINE> ::= <ALFANUM> | <ALFANUM> <TERMINE>
<ALFANUM> ::= <LETTERA> | <CIFRA> | "_"
<LETTERA> ::= "a" | "b" | "c" | "d" | (...) | "w" | "x" | "y" | "z"
<CIFRA> ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" |
"9"
<SERVER> ::= <NOME> "." <SUFFISSO>
<SUFFISSO> ::= <SUFF_NAZ> | <SUFF_USA>
<SUFF_NAZ> ::= <LETTERA> <LETTERA>
<SUFF_USA> ::= <LETTERA> <LETTERA> <LETTERA>

La prima produzione, <EMAIL>, definisce qualsiasi "frase" in questo
"linguaggio", che è sempre composta da un <NOME> separato da un
<SERVER> per mezzo del carattere "@". Le produzioni successive
definiscono in sempre maggior dettaglio cosa siano un <NOME> e un
<SERVER>.

Scopo di questa grammatica è di analizzare un certo testo ("input")
per produrre un "albero" sintattico. Un albero sintattico che è un
po' la versione de luxe della vecchia "analisi logica" dei nostri anni
verdi.

Se l'input non è analizzabile con quella grammatica, si ottiene il
celeberrimo "syntax error", che significa che c'è un errore oppure che
non si tratta di quel linguaggio. Ad esempio, un input che contenesse
due "@", o che non ne contenesse nemmeno una, o che iniziasse o
terminasse con un punto, o che avesse due punti di fila, ecc., non
potrebbe dirsi un indirizzo di e-mail.

Data la grammatica sopra e un esempio di input
("tizio...@per.esempio.it"), ecco un esempio di analisi e del
risultante albero sintattico:

EMAIL (tizio...@per.esempio.it)
. NOME (tizio.caio)
. . TERMINE (tizio)
. . . ALFANUM (t)
. . . . LETTERA (t)
. . . . . "t" (simbolo terminale)
. . . TERMINE (izio)
. . . . ALFANUM (i)
. . . . . LETTERA (i)
. . . . . . "i" (simbolo terminale)
. . . . TERMINE (zio)
. . . . . (...)
. . . . . (...)
. . "." (simbolo terminale)
. . TERMINE (caio)
. . . ALFANUM (c)
. . . . LETTERA (c)
. . . . . "c" (simbolo terminale)
. . . (...)
. . . (...)
. "@" (simbolo terminale)
. SERVER (per.esempio.it)
. . NOME (per.esempio)
. . . TERMINE (per)
. . . . (...)
. . . . (...)
. . . "." (simbolo terminale)
. . . NOME (esempio)
. . . . (...)
. . . . (...)
. . "." (simbolo terminale)
. . SUFFISSO (it)
. . . SUFF_NAZ (it)
. . . . LETTERA (i)
. . . . . "i" (simbolo terminale)
. . . . LETTERA (t)
. . . . . "t" (simbolo terminale)

Per ragioni di spazio, ho opportunamente potato il risultato con vari
omissis ("(...)").

Ora: questo approccio può essere utilizzato anche con le lingue
naturali (proprio per questo Chomsky l'ha inventato!) ma a me pare (mi
sbaglierò) che il metalinguaggio da usare dev'essere ben più "potente"
del BNF. Vi immaginate di descrivere tutti i minimi accidenti della
sintassi e della morfologia italiane con uno strumento così limitato?

Ciao.
Marco

Marco Cimarosti

unread,
Sep 28, 2001, 9:30:19 AM9/28/01
to
Il sottoscritto Marco Cimarosti ha scritto:

> Certamente, il principio di base, le finalità e la forma esteriore di
> questi metalinguaggi è analogo [...]

Dopo aver inutilmente macinato un milione duecentotrentaquattromila
cinquecentosessantasette produzioni, l'analizzatore sintattico BNF
escalmò: "Syntax error!".

E, dopo altri ottocentonovant'anni di duro lavoro, il software fu
modificato per aggiungere: "Si dice 'sono analoghi', semmai!".

Ciao.
Marco

Roscio

unread,
Sep 28, 2001, 11:52:54 AM9/28/01
to
"Marco Cimarosti" <marco.c...@europe.com> wrote in message
news:1604968.01092...@posting.google.com...

> Io continuo a pensare che questo non sia possibile. Certo è probabile
> che esistano delle grammatiche *generative* dell'italiano (e anzi
> sembra anche a me di averne vista almeno una, in biblioteca) ma non
> posso credere che siano espresse in BNF.

Non ho detto che *esistono*, ma che non è difficile *scriverne* una
a partire da un qualunque testo di grammatica.


> Il BNF è un metalinguaggio estremamente semplificato, adatto solo a
> descrivere la sintassi di linguaggi non-ambigui (o "context-free",
> com'è stato giustamente ricordato). Il BNF è insomma il fratellino
> povero dei metalinguaggi inventati da Chomsky per analizzare la
> sintassi delle lingue naturali.

> Certamente, il principio di base, le finalità e la forma esteriore di
> questi metalinguaggi è analogo, ma il BNF manca di alcuni costrutti
> complessi, indispensabili all'analisi di sintassi complesse e
> "ambigue".

Non sono assolutamente d'accordo. In BNF può essere anche descritta
l'ambiguità (o, se vogliamo, l'elasticità) di alcuni costrutti grammaticali,
e comunque, non intendevo dire che *tutta* la lingua italiana può essere
espresa in BNF, ma che si può con una certa approssimazione (magari
i traduttori tipo babelfish fossero scritti in BNF !!!... non farebbero le
figuracce che fanno !...)


> Il BNF si ferma qui, perché questo è sufficiente per descrivere
> linguaggi informatici context-free. Ma un metalinguaggio per lingue
> naturali ha bisogno di molti altri elementi, come ad es. particolari
> costrutti per descrivere le flessioni delle parole, oppure simboli che
> specifichino se l'ordine di sequenza di due simboli è significativo
> oppure no, ecc.

Anche questo può essere definito in BNF; basta rendere la grammatica
un po' più complessa.

> Ora: questo approccio può essere utilizzato anche con le lingue
> naturali (proprio per questo Chomsky l'ha inventato!) ma a me pare (mi
> sbaglierò) che il metalinguaggio da usare dev'essere ben più "potente"
> del BNF. Vi immaginate di descrivere tutti i minimi accidenti della
> sintassi e della morfologia italiane con uno strumento così limitato?

Hai perfettamente ragione, ma a me pare che sia il caso di imparare
prima a camminare, e solo in seguito domandarci se sappiamo correre...

--
Er Roscio.

Giovanni Pontoglio

unread,
Sep 29, 2001, 8:34:31 PM9/29/01
to

Roscio ha scritto nel messaggio >Se per ForTran intendi il ForTran90, spero

che muoia presto d'inedia...


Ecco un esempio di quell'"inedia2" su cui richiamai l'attenzione in un
intertento precedente ("Evoluzione semantica paretimologica").
Giacché non riesco ad immaginarmi uno scheletrito Fortran alla disperata
ricerca di cibo ....

G.Pontoglio

>(il ForTran IV è stato il mio primo linguaggio, nel non più vicinissimo
>'74...)
>
>--
>Er Roscio.
>
>
>


Alessandro "Tagt The Spellcaster" Valli

unread,
Sep 30, 2001, 6:41:44 PM9/30/01
to
"Giovanni Pontoglio" <giop...@libero.it> ha scritto nel messaggio
news:rMtt7.11640$C15.1...@news.infostrada.it...

> Ecco un esempio di quell'"inedia2" su cui richiamai l'attenzione in un
> intertento precedente ("Evoluzione semantica paretimologica").

Ricordo, ricordo...

> Giacché non riesco ad immaginarmi uno scheletrito Fortran alla disperata
> ricerca di cibo ....

:) o alla ricerca di dati... :)
Ciao
Ale

--
Namarië Valinor


0 new messages