„Formális nyelvtan” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
Nincs szerkesztési összefoglaló
a XXXX-as évek típusú link javítása AWB
30. sor:
=== Formális definíció ===
 
[[Noam Chomsky]] az [[1950]]-es évekbenévek]]ben javasolta először a generatív nyelvtanok klasszikus formalizálást, ami szerint egy ''G'' nyelvtan a következő komponensekből áll:
* <math>N</math> a ''nem-terminális szimbólumok'' véges halmaza;
* <math>\Sigma</math> a ''terminális szimbólumok'' véges halmaza, aminek nincs közös része <math>N</math>-nel;
71. sor:
=== A Chomsky-féle hierarchia ===
 
Amikor az [[1950]]-es évekbenévek]]ben [[Noam Chomsky]] először formalizálta a generatív nyelvtanokat, akkor négy típusba sorolta be azokat. Ezek a csoportok ma [[Chomsky-féle hierarchia]]ként ismertek. Az egyes típusok között a különbség a produkciós szabályok szigorúságában jelenik meg. Két fontos típus a ''[[környezetfüggetlen nyelvtan]]ok'' és a ''[[szabályos nyelvtan]]ok''. Azok a nyelvek, amelyek valamilyen nyelvtannal leírhatók azok az úgynevezett ''[[környezetfüggetlen nyelv]]ek'' illetőleg a ''[[szabályos nyelv]]ek''. Habár kevésbé hatékonyak, mint a megkötés nélküli nyelvtanok, amelyek ténylegesen le tudnak írni bármilyen nyelvet, amelyek a [[Turing-gép]]ekkel elfogadhatóak, ezen megkötések miatt inkább az ilyen nyelvtanok hatékonyan [[elemző]]k segítségével valósíthatók meg. Például, a környezetfüggetlen nyelvtanok a jól ismert algoritmusokat megvalósító [[LL elemző]]k és [[LR elemző]]k segítségével elemezhetők hatékonyan.
 
<center>
148. sor:
Habár a rendelkezésre álló [[elemző]] [[algoritmus]]okkal foglalkozó irodalom igen terjedelmes, ezek közül az algoritmusok közül a legtöbb azt feltételezi, hogy az elemzendő nyelv ''leírása'' egy ''generatív'' formális nyelvtant jelent, és az a cél, hogy átalakítsa ezt a generatív nyelvtant egy működő elemzővé. Egy másik lehetséges megközelítés a nyelvet elsődlegesen egy '''analitikus nyelvtannal''' formalizálja, amely sokkal közvetlenebb kapcsolatot biztosít az [[elemző]] és az elemzendő nyelv struktúrája között. Az analitikus nyelvtanokkal történő formalizálást mutatja be a következő néhány példa:
* [http://languagemachine.sourceforge.net The Language Machine] közvetlenül valósít meg korlátozások nélküli analitikus nyelvtanokat. A helyettesítési szabályok alkalmazásával vezérelhető a bemenetek és kimenetek közötti kapcsolat, illetve a rendszer viselkedése. A rendszer előállít úgynevezett [[lm-diagram]]ot is, amely megmutatja, mi történik a korlátozások nélküli analitikus nyelvtan szabályainak alkalmazásakor.
* [[Top-down elemző nyelv|fentről-lefelé elemző nyelv]] (TDPL, az angol Top-Down Parser Language rövidítése): a nagyon minimalista analitikus nyelvtan kifejlesztése az [[1970]]-es évekbenévek]]ben történt, amikor a [[top-down elemző]]k viselkedést tanulmányozták.
* [[Parsing expression nyelvtan]]ok (PEGs): a TDPL egy újkeletű általánosításával tervezett gyakorlati megvalósítás a [[compiler]] írók számára.
* [[Kapcsolati nyelvtan]]ok: [[nyelvészet]]i célokra kifejlesztett analitikus nyelvtan, amely a szintaktikai struktúrát szópárok kapcsolatainak alapján hozza létre.