• Nem Talált Eredményt

Form´alis ´es term´eszetes nyelvek nyelvtanai

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Form´alis ´es term´eszetes nyelvek nyelvtanai"

Copied!
8
0
0

Teljes szövegt

(1)

Form´ alis ´ es term´ eszetes nyelvek nyelvtanai

Csima Judit

BME, VIK,

Sz´am´ıt´astudom´anyi ´es Inform´aci´oelm´eleti Tansz´ek

2020. febru´ar 24.

(2)

Nyelvtanok, motiv´ aci´ o

adott programoz´asi nyelven ´ırt szintaktikailag helyes k´odok halmaza

= nyelv

(potenci´alisan) v´egtelen halmaz

ford´ıt´o c´elja: egy adott k´odr´ol eld¨onteni, hogy helyes-e (szintaktikailag), azaz bele tartozik-e a nyelvbe

ehhez van egy v´eges defin´ıci´o minden programoz´asi nyelv eset´en, hogy hogyan n´eznek ki a helyes k´odok: a programoz´asi nyelv nyelvtana ez egy gener´al´o eszk¨oz, amit ˝o el˝o tud ´all´ıtani, az van benne a

nyelvben, azaz az sz´am´ıt helyes k´odnak, amit ezzel a nyelvtannal lehet gener´alni

(3)

Python nyelvtana, r´ eszletek

single input: NEWLINE |simple stmt|compound stmt NEWLINE file input: (NEWLINE |stmt)* ENDMARKER

...

stmt: simple stmt |compound stmt ...

compound stmt: if stmt|while stmt |for stmt|try stmt |with stmt | funcdef |classdef |decorated

...

if stmt: ’if’ test ’:’ suite (’elif’ test ’:’ suite)* [’else’ ’:’ suite]

while stmt: ’while’ test ’:’ suite [’else’ ’:’ suite]

for stmt: ’for’ exprlist ’in’ testlist ’:’ suite [’else’ ’:’ suite]

(4)

Python nyelvtana

van (k´et) kezd˝oszimb´olum, ezek egyik´eb˝ol indul minden helyes k´od gener´al´asa

a gener´al´as azt jelenti, hogy ami a szab´aly bal oldal´an ´all (a : el˝ott) azt helyettes´ıtj¨uk a szab´aly jobb oldal´aval

addig csin´aljuk, am´ıg olyan szimb´olumok lesznek csak, amik nem

´ırhat´ok tov´abb:

atom: ...|NAME|NUMBER |STRING+

ha egy k´od helyes, akkor a ford´ıt´o/interpreter nem csak ezt veszi ´eszre, hanem azt a strukt´ur´at is felismeri, ahogy a k´od el˝o´allt: levezet´esi fa

(5)

Noam Chomsky

1928-ban sz¨uletett nyelv´esz, filoz´ofus, ...

a modern nyelv´eszet atyja 1957: Syntactic Structures a transformational grammar

¨ otlete

(6)

Transformational grammar

nyelv megtanul´asa = szab´alyok megtanul´asa szab´alyok = mint amilyenek a Python-n´al voltak

besz´ed = S (sentence, mondat) szimb´olumb´ol szab´alyokkal levezet¨unk egy strukt´ur´at

ennek a strukt´ur´anak a felsz´ıni megjelen´ese a mondat, ami elhangzik sz¨oveg´ert´es = parser fut a fej¨unkben a megtanult nyelvtan ´es a hallott mondat alapj´an: mi a mondat strukt´ur´aja, ez alapj´an mi a jelent´ese az anyanyelvi besz´el˝o kompetenci´aja: ´uj, sose hallott mondatokat tud l´etrehozni ´es meg´erteni

”Colorless green ideas sleep furiously.”

(7)

Az angol nyelv szab´ alyai, r´ eszletek

S →NP VP

NP →(DET) (ADJ) N VP →V (ADV)

(8)

Universal grammar

a k¨ul¨onb¨oz˝o nyelvek nyelvtanai hasonl´oak

mintha lenne egy v´eges k´eszlet ´es ennek valami vari´aci´oja minden nyelv nyelvtana

minden ember ´ugy sz¨uletik, hogy a fej´eben van ez az univerz´alis nyelvtan

nyelvtanul´as: kigyoml´alni a felesleges szab´alyokat

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Ez´ ert az nem fordulhat el˝ o, hogy egy adott nyelvn´ el az elfogadott szavak hosszai k¨ oz¨ ott tetsz˝ olegesen nagy ugr´ as el˝ oforduljon?. A kor´ abbi bizony´ıt´ asi technika

Ez´ ert az nem fordulhat el˝ o, hogy egy adott nyelvn´ el az elfogadott szavak hosszai k¨ oz¨ ott tetsz˝ olegesen nagy ugr´ as el˝ oforduljon?. A kor´ abbi bizony´ıt´ asi technika

ennek a strukt´ ur´ anak a felsz´ıni megjelen´ ese a mondat, ami elhangzik sz¨ oveg´ ert´ es = parser fut a fej¨ unkben a megtanult nyelvtan ´ es a hallott mondat alapj´ an: mi

A k¨ ul¨ onb¨ oz˝ o automatat´ıpusok (v´ eges automata, veremautomata, Turing- g´ ep) alap modellje nyelvek elfogad´ as´ ara val´ o, az a k´ erd´ es, hogy a bemeneten v´

Ezt ´ altal´ aban szem´ etgy˝ ujt´ essel (garbage collection) oldj´ ak meg, ami azt jelenti, hogy id˝ onk´ ent a futtat´ o k¨ ornyezet megjel¨ oli azokat a cell´ akat, amelyek

(b) Igaz-e, hogy minden v´ eges nyelvhez van regul´ aris nyelvtan?. Adjon egy, az L nyelvet gener´ al´ o k¨ ornyezetf¨

A pump´ al´ asi lemma seg´ıts´ eg´ evel igazolja, hogy L nem regul´ aris nyelv.. A pump´ al´ asi lemma seg´ıts´ eg´ evel igazolja, hogy ez az L nyelv nem regul´

A pump´ al´ asi lemma seg´ıts´ eg´ evel igazolja, hogy L nem regul´ aris nyelv!. A pump´ al´ asi lemma seg´ıts´ eg´ evel igazolja, hogy ez az L nyelv nem regul´