• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Notacja EBNF



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    Międzynarodowa Organizacja Normalizacyjna, ISO (ang. International Organization for Standardization, fr. Organisation internationale de normalisation) – organizacja pozarządowa zrzeszająca krajowe organizacje normalizacyjne.Gramatyka formalna – sposób opisu języka formalnego, czyli podzbioru zbioru wszystkich słów skończonej długości nad danym alfabetem.

    Rozszerzona notacja Backusa-Naura (ang. Extended Backus-Naur Form) – sposób wyrażenia gramatyki bezkontekstowej, czyli opisem języków formalnych. Jest rozszerzeniem notacji BNF.

    Początkowo rozwijana przez Niklausa Wirtha, obecnie jest w użyciu wiele jej wariantów.

    Międzynarodowa Organizacja Normalizacyjna (ISO) przyjęła standard ISO/IEC 14977.

    Notacja Backusa-Naura (ang.) Backus-Naur Form, BNF – metoda zapisu reguł gramatyki bezkontekstowej – metoda definiowania języka formalnego.Język formalny – jest to podzbiór zbioru wszystkich słów nad skończonym alfabetem. Język formalny jest kluczowym pojęciem w informatyce, logice matematycznej i językoznawstwie. Język formalny nie jest uściśleniem pojęcia języka naturalnego i nie powinien być z nim mylony.

    Podstawy[ | edytuj kod]

    Słowo opisywanego języka składa się z symboli terminalnych czyli widocznych znaków, w tym cyfr, znaków interpunkcyjnych czy spacji.

    EBNF określa reguły produkcji gdzie do symboli nieterminalnych przypisane są sekwencje symboli:

    Słowo to elementarna część mowy. Jego pisanym odpowiednikiem jest wyraz. Za pomocą słów określamy wszelkie pojęcia rzeczywiste i abstrakcyjne, także myślimy na ogół słowami. Wiele słów składa się na mowę.Gramatyka formalna – sposób opisu języka formalnego, czyli podzbioru zbioru wszystkich słów skończonej długości nad danym alfabetem.
    cyfra bez zera = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
    cyfra          = "0" | cyfra bez zera ;
    

    Ta reguła produkcji definiuje symbol nieterminalny cyfra, Znak "|" oddziela alternatywy, którymi są symbole terminalne w cudzysłowach a średnik kończy definicję.

    Reguła może także zawierać sekwencję symboli terminalnych lub nieterminalnych, oddzielonych przecinkami:

    Lisp – rodzina języków programowania z długą historią i charakterystyczną składnią. Zaprojektowany przez Johna McCarthy’ego na MIT w 1958 roku. Pierwszym interpreterem języka Lisp była implementacja funkcji eval wykonana przez studenta McCarthy’ego – Steve’a Russella. Lisp jest drugim z kolei pod względem wieku językiem programowania wysokiego poziomu pozostającym w użyciu (starszy jest tylko Fortran). Podobnie jak Fortran, Lisp ulegał na przestrzeni czasu licznym zmianom. Powstało również wiele jego dialektów. Dziś do najpopularniejszych należą trzy: Common Lisp, Scheme i Clojure.
    dwanaście                        = "1" , "2" ;
    dwieście jeden                   = "2" , "0" , "1" ;
    trzysta dwanaście                = "3" , dwanaście ;
    dwanaście tysięcy dwieście jeden = dwanaście , dwieście jeden ;
    

    Wyrażenia które mogą być pomijane lub powtarzane można reprezentować biorąc je w nawiasy klamrowe { ... }:

    liczba naturalna = cyfra bez zera , { cyfra } ;
    

    W tym wypadku ciągi 1, 2, ...,10,...,12345,... są poprawnymi wyrażeniami. Cokolwiek znajduje się w nawiasach klamrowych może być powtarzane dowolną liczbę razy, w tym ani razu (występuje zero lub wiele razy).

    Wyrażenie opcjonalne (występuje jeden raz, lub nie występuje) reprezentujemy przez wzięcie je w nawiasy kwadratowe [ ... ]:

    liczba całkowita = "0" | [ "-" ] , liczba naturalna ;
    

    Stąd liczba całkowita może być cyfrą zero lub ciągiem określonym przez liczba naturalna opcjonalnie poprzedzony znakiem minus.

    Podstrony: 1 [2] [3]




    Reklama

    Czas generowania strony: 0.01 sek.