Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Notacja BNF - Wikipedia, wolna encyklopedia

Notacja BNF

Z Wikipedii

Notacja Backusa-Naura (ang. Backus-Naur form) jest sposobem zapisu reguł gramatyki bezkontekstowej, czyli sposobem opisu języków formalnych.

Notacja ta jest powszechnie używana w informatyce do zapisu składni języków programowania i protokołów komunikacyjnych. Została wymyślona przez Johna Backusa w latach 50. w czasie prac nad językiem Fortran, a następnie zmodyfikowana przez Petera Naura i użyta do zdefiniowania składni języka Algol.

Notacja BNF jest zestawem reguł produkcji o następującej postaci:

<symbol> ::= <wyrażenie zawierające symbole>

Znaczenie użytych tu symboli jest następujące:

  • < – lewy ogranicznik symbolu
  • > – prawy ogranicznik symbolu
  • ::= – jest zdefiniowane jako
  • | – lub

Cztery powyższe symbole to symbole metajęzyka – ich znaczenie nie jest określone w języku, który określają.

O innych symbolach występujących w regułach produkcji zakładamy, że należą do alfabetu języka lub samego języka.

[edytuj] Przykład

Aby przy pomocy notacji BNF określić liczbę naturalną, można użyć następujących reguł:

  1. <zero>::= 0
    Przykład wartości: 0
  2. <cyfra niezerowa>::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
    Przykład wartości: 1, 2, 3
  3. <cyfra>::= <zero> | <cyfra niezerowa>
    Przykład wartości: 0, 1, 2, 3
  4. <ciąg cyfr> ::= <cyfra> | <cyfra><ciąg cyfr>
    Przykład wartości: 0, 1, 01, 23, 45, 99, 10023, 000001
  5. <liczba naturalna>::= <cyfra> | <cyfra niezerowa><ciąg cyfr>
    Przykład wartości: 0, 1, 2, 34 56, 406, 556066


Wyjaśnienie: definicja ta jest rekurencyjna (w przeciwieństwie do iteracyjnej) – liczba naturalna jest zdefiniowana przez odwołanie się do pojęcia liczby naturalnej. Jest to jednak poprawne określenie, albowiem produkcja 5 mówi, że liczbą naturalną jest: zero lub cyfra niezerowa lub (uprzednio zdefiniowana) liczba naturalna poprzedzona cyfrą niezerową. Ostatecznie, pod pojęciem liczby naturalnej wg powyższego określenia należy rozumieć dowolny ciąg cyfr, rozpoczynający się od cyfry niezerowej, lub samo zero.

[edytuj] Materiał źródlowy

  1. Pascal - M.Iglewski, J Madey, S.Matwin WNT 1979 Warszawa
  2. Kompilatory - A.V. Aho, R. Sethi, J. D. Ullman WNT 2002 Warszawa

[edytuj] Zobacz też

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com