Notacja BNF - Google

Notacja BNF

Z Wikipedii

(Przekierowano z BNF)
Skocz do: nawigacji, szukaj

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 wyrażenia
  • > – prawy ogranicznik wyrażenia
  • ::= – 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

Zobacz też:


Wicepremier o koalicyjnych targach: "Newsweek" prowokuje
Media wyraźnie nie mogą się doczekać sensacji więc wymyślają ją same - pisze o doniesieniach "Newsweeka" na blogu w portalu Onet.pl, Waldemar Pawlak.
Żołnierz z Nanghar Khel o kolegach: są dobrymi ludźmi
- Wiem, że są dobrymi żołnierzami i dobrymi ludźmi - powiedział w TVN24 o swoich kolegach oskarżonych o ostrzelanie wioski Nanghar Khel, Damian Ligocki, pierwszy żołnierz, który postanowił wystąpić przed kamerami.
Polska przedstawi założenia polityki wschodniej
Minister Spraw Zagranicznych Radosław Sikorski zapowiedział w TVN 24, że w najbliższych tygodniach należy się spodziewać "skonsultowanej z sojusznikami i partnerami" uszczegółowionej propozycji Polski w sprawie polityki wschodniej UE.
Rutkowski mógł pomagać porywaczom Olewnika
– Detektyw Krzysztof Rutkowski mógÅ‚ współpracować z porywaczami mojego syna – podejrzewa WÅ‚odzimierz Olewnik, ojciec porwanego i zamordowanego Krzysztofa. Oskarżenia pod adresem Rutkowskiego – także o wyÅ‚udzenie od nich znacznej sumy pieniÄ™dzy – rodzina Olewników ujawniÅ‚a już w kwietniu. "Wprost" dotarÅ‚ do informacji wskazujÄ…cych, że także w wypadku innych gÅ‚oÅ›nych porwaÅ„ Krzysztof Rutkowski mógÅ‚ pomagać gangsterom.
PSL chce więcej stanowisk
Piechociński za Grabarczyka i więcej foteli wiceministrów - to, jak dowiedział się "Newsweek", pomysł PSL na letnią rekonstrukcję gabinetu Donalda Tuska.
Linki: Strona g³ówna