• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Gramatyka formalna



    Podstrony: 1 [2] [3] [4]
    Przeczytaj także...
    Analizator składniowy lub parser – program dokonujący analizy składniowej danych wejściowych w celu określenia ich struktury gramatycznej w związku z określoną gramatyką formalną. Nazwa analizator składniowy podkreśla analogię z analizą składniową stosowaną w gramatyce i językoznawstwie. Analizator składniowy umożliwia przetworzenie tekstu czytelnego dla człowieka w strukturę danych przydatną dla oprogramowania komputera.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.

    Gramatyka formalna – sposób opisu języka formalnego, czyli podzbioru zbioru wszystkich słów skończonej długości nad danym alfabetem.

    Aby zdefiniować gramatykę formalną trzeba określić zbiór symboli terminalnych, zbiór symboli nieterminalnych, symbol startowy, oraz zbiór reguł które określają sposób w jaki wyprowadzamy słowa.

    Symbol nieterminalny to symbol, który można definiować. Symbole nieterminalne zwane są również zmiennymi syntaktycznymi, ponieważ umożliwiają tworzenie ciągów zawierających kombinacje symboli terminalnych i nieterminalnych.

    Symbol startowy to symbol nieterminalny wyróżniony w konkretnej gramatyce formalnej, taki że generację słowa w tej gramatyce zaczynamy od słowa złożonego z tego symbolu.

    Symbol terminalny to symbol elementarny tworzący wyrazy języka formalnego. Symbole terminalne są znakami, które mogą pojawić się na wejściu lub wyjściu z reguł produkcji gramatyki formalnej. Symbol terminalny nie może być podzielony na „mniejsze” jednostki, lub ściślej: symbole terminalne nie mogą być zmieniane za pomocą reguł gramatyki formalnej, w odróżnieniu od symboli nieterminalnych.

    Gramatyka formalna posiada wyróżniony symbol nieterminalny, zwany symbolem startowym, od którego, poprzez stosowanie reguł produkcji, zaczyna się wyprowadzanie wszystkich wyrazów języka formalnego. Tworzenie wyrazu języka formalnego kończy się wówczas gdy zawiera on już tylko symbole terminalne.

    Symbole terminalne (równoważne symbolom alfabetu języka) są symbolami, które pozostaną w wyprowadzonym słowie – w przeciwieństwie do symboli nieterminalnych używanych tylko podczas wyprowadzania słowa. Reguły gramatyki postaci , gdzie i to ciągi symboli terminalnych i nieterminalnych, określają możliwe podstawienia symboli w wyprowadzanym słowie. Wyprowadzanie rozpoczynamy od ciągu złożonego z wyróżnionego symbolu nazywanego symbolem początkowym. Odbywa się ono przez zastępowanie podciągów tego ciągu zgodnie z regułami gramatyki. Jeśli w ciągu mamy podciąg , możemy zastąpić go przez .

    Rozważmy przykładową gramatykę z symbolem nieterminalnym S, który jest jednocześnie symbolem startowym, oraz zbiorem symboli terminalnych . Reguły tej gramatyki, która umożliwia generowanie słów postaci ba, abab, aababb, aaababbb itd. wyglądają następująco:

  • Zaczynamy od symbolu startowego S, możemy zastąpić go przez aSb zgodnie z pierwszą regułą. Możemy użyć jej jeszcze raz otrzymując aaSbb. Po użyciu drugiej reguły pozostanie nam ciąg aababb. Składa się on tylko z symboli terminalnych, więc wyprowadzenie słowa zostało zakończone.

    Spis treści

  • 1 Symbol startowy
  • 2 Symbole terminalne i nieterminalne
  • 3 Alternatywa języków
  • 4 Klasy gramatyk
  • 5 Zobacz też


  • Podstrony: 1 [2] [3] [4]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Reklama

    Czas generowania strony: 0.033 sek.