Грама́тика ви́значених тве́рджень (англ. Definite Clause Grammar (DCG), рос. DC-грамматика) — це спосіб представлення граматики природних або формальних мов у логічних мовах програмування, таких як Пролог. Він тісно пов’язаний з концепцією [en] / [en], з якої Пролог і було спочатку розроблено. Граматики визначених тверджень зазвичай асоціюються із Прологом, але їх також включають і схожі мови, такі як [en]. Вони називаються граматиками визначених тверджень, оскільки представляють граматику множиною визначених тверджень у логіці першого порядку.
Термін «граматики визначених тверджень» відноситься до певного типу виразу в Пролозі та інших подібних мовах; не всі способи вираження граматик з використанням визначених тверджень вважаються граматиками визначених тверджень. Тим не менш, всі можливості та властивості граматик визначених тверджень будуть однаковими для будь-якої граматики, що представлена визначеними твердженнями, так само по суті, як і в Пролозі.
Визначені твердження таких граматик можуть розглядатися як набір аксіом, де справедливість вхідної стрічки, а також факт того, що вона має певне дерево синтаксичного аналізу, можуть розглядатися як теореми, що випливають з цих аксіом. Це має таку перевагу, що розпізнавання та аналіз виразів у мові перетворюється на доведення тверджень, таких як твердження логічної мови програмування.
Історія
Історія граматик визначених тверджень тісно пов’язана з історією Прологу, а історія Прологу обертається навколо кількох дослідників у Марселі (Франція) та Единбурзі (Шотландія). Згідно з Робертом Ковальським, початковим розробником Прологу, першу прологову систему було розроблено у 1972 році [en] та [fr]. Першою програмою, написаною цією мовою, була велика система обробки природної мови. До початкової розробки Прологу були також залучені Фернандо Перейра та [en] з Единбурзького університету.
Кольмерое раніше працював над системою обробки мови, що називалася Q-systems, і яка використовувалася для перекладу між англійською та французькою. У 1978-мому Кольмерое написав статтю про спосіб представлення граматик, що називався метаморфозними граматиками (англ. metamorphosis grammars), що були частиною ранньої версії Прологу, що називалася Марсельським прологом. У цій статті він дав формальний опис метаморфозних граматик і деякі приклади програм, що їх використовують.
Фернандо Перейра та Девід Воррен, двоє інших ранніх творців Прологу, створили термін «граматика визначених тверджень», і запис для них, що використовується в Пролозі й сьогодні. Вони віддали належне ідеї Кольмерое та Ковальського, і відзначили, що граматики визначених тверджень є окремим випадком метаморфозних граматик Кольмерое. Вони представили цю ідею у статті під назвою «Граматики визначених тверджень для мовного аналізу» (англ. «Definite Clause Grammars for Language Analysis»), де вони описали граматики визначених тверджень як «формалізм ... у якому граматики виражаються твердженнями логіки предикатів першого порядку», що «утворюють ефективні програми мови програмування Пролог».
Пізніше Перейра, Воррен та інші піонери Прологу описали деякі інші аспекти граматик визначених тверджень. Перейра та Воррен написали статтю під назвою «Синтаксичний аналіз як дедукція» (англ. «Parsing as Deduction»), що описувала такі речі, як використання процедури доведення дедукція Ерлі для синтаксичного аналізу. Перейра також працював разом зі Стюартом Шибером над книгою «Пролог та аналіз природних мов» (англ. «Prolog and Natural Language Analysis»), що призначалася для загального введення в обчислювальну лінгвістику з використанням логічного програмування.
Приклад
Простий приклад граматик визначених тверджень для ілюстрації того, чим вони є, і як вони виглядають.
речення --> група_іменника, група_присудка. група_іменника --> означення, іменник. група_присудка --> дієслово, група_іменника. означення --> [the]. означення --> [a]. іменник --> [cat]. іменник --> [bat]. дієслово --> [eats].
Ця граматика створює такі речення, як "the cat eats the bat", "a bat eats the cat". Можна згенерувати всі коректні речення мови, що генеруються цією граматикою, ввівши в інтерпретаторі Прологу речення(X,[])
. Аналогічно, можна перевірити, чи є якесь речення коректним у цій мові, ввівши щось на кшталт речення([the,bat,eats,the,bat],[])
.
Переклад визначеними твердженнями
Запис граматик визначених тверджень є лише синтаксичним цукром для звичайних визначених тверджень Прологу. Наприклад, попередній приклад можна перекласти так:
речення(S1,S3) :- група_іменника(S1,S2), група_присудка(S2,S3). група_іменника(S1,S3) :- означення(S1,S2), іменник(S2,S3). група_присудка(S1,S3) :- дієслово(S1,S2), група_іменника(S2,S3). означення([the|X], X). означення([a|X], X). іменник([cat|X], X). іменник([bat|X], X). дієслово([eats|X], X).
Списки відмінностей
Аргументи кожного функтора, такі як (S1,S3)
та (S1,S2)
, є [en]; списки відмінностей є способом представлення списку як різниці двох списків. Використовуючи запис Прологу для списків, список L
можна представити парою ([L|X],X)
.
Списки відмінностей використовуються для представлення списків у граматиках визначених тверджень з міркувань ефективності. Ефективніше конкатенувати списки відмінностей, в умовах, в яких вони можуть застосовуватися, оскільки конкатенацією (S1,S2)
та (S2,S3)
є просто (S1,S3)
.
Не-контекстно-вільні граматики
У (чистій Пролог) звичайні правила граматик визначених тверджень без додаткових аргументів на функторах, як у попередньому прикладі, можуть виражати лише контекстно-вільні граматики; у лівій частині [en] є лише один аргумент. Однак, контекстно-залежні граматики також можуть виражатися граматиками визначених тверджень шляхом надання додаткових аргументів, як у наступному прикладі:
s --> a(N), b(N), c(N). a(0) --> []. a(M) --> [a], a(N), {M is N + 1}. b(0) --> []. b(M) --> [b], b(N), {M is N + 1}. c(0) --> []. c(M) --> [c], c(N), {M is N + 1}.
Цей набір правил граматики визначених тверджень описує граматику, що генерує мову, що складається зі стрічок вигляду .
s --> symbols(Sem,a), symbols(Sem,b), symbols(Sem,c). symbols(end,_) --> []. symbols(s(Sem),S) --> [S], symbols(Sem,S).
Цей набір правил граматики визначених тверджень описує граматику, що генерує мову, що складається зі стрічок вигляду , представляючи структурно.[]
Представлення словозмін
Деякі лінгвістичні словозміни також можуть досить чітко представлятися граматиками визначених тверджень шляхом додавання додаткових аргументів до функторів. Наприклад, розгляньмо наступний набір правил граматики визначених тверджень:
речення --> іменник(називний_відмінок), група_присудка. група_присудка --> дієслово, іменник(знахідний_відмінок). іменник(називний_відмінок) --> [кіт]. іменник(називний_відмінок) --> [кажан]. іменник(знахідний_відмінок) --> [кота]. іменник(знахідний_відмінок) --> [кажана]. дієслово --> [їсть].
Ця граматика дозволяє такі речення як «кіт їсть кажана» та «кіт їсть кота», але не «кажана їсть кіт» та «кота їсть кота».
Синтаксичний аналіз із граматиками визначених тверджень
Головним практичним застосуванням граматик визначених тверджень є синтаксичний аналіз виразів заданої граматики, тобто, побудова дерева синтаксичного розбору. Це може бути реалізовано за допомогою застосування «додаткових аргументів» у функторах граматики визначених тверджень, як у наступних правилах:
речення(s(NP,VP)) --> група_іменника(NP), група_присудка(VP). група_іменника(np(D,N)) --> означення(D), іменник(N). група_присудка(vp(V,NP)) --> дієслово(V), група_іменника(NP). означення(d(the)) --> [the]. означення(d(a)) --> [a]. іменник(n(bat)) --> [bat]. іменник(n(cat)) --> [cat]. дієслово(v(eats)) --> [eats].
Тепер можна зробити інтерпретаторові запит видати дерево розбору заданого речення:
| ?- речення(Синтаксичне_дерево, [the,bat,eats,a,cat], []). Синтаксичне_дерево = s(np(d(the),n(bat)),vp(v(eats),np(d(a),n(cat)))) ? ;
Інші застосування
Граматики визначених тверджень можуть слугувати синтаксичним цукром для приховування деяких параметрів у коді і в інших застосуваннях, крім синтаксичного аналізу. В декларативно чистій мові програмування [en] введення/виведення мусить представлятися парою аргументів io.state
. Запис граматик визначених тверджень може застосовуватися для того, щоби робити використання введення/виведення зручнішим, хоча зазвичай віддають перевагу записові зі змінними стану.[] Запис граматик визначених тверджень застосовується в Mercury для синтаксичного аналізу та подібних речей так само, як і в Пролозі.
Розширення
З тих пір, як Перейра та Воррен представили граматики визначених тверджень, було запропоновано декілька розширень. Сам Перейра запропонував розширення, назване екстрапозиційними граматиками (англ. extraposition grammars, XGs). Цю формальну систему було представлено, зокрема, для спрощення вираження певних граматичних феноменів, таких як ліва екстрапозиція. Перейра писав, що «Різниця між правилами екстрапозиційних граматик та правилами граматик визначених тверджень тоді в тому, що ліва частина правила екстрапозиційної граматики може містити кілька символів.» Це спрощує вираження правил контекстно-залежних граматик.
Інше, новіше розширення, що зробили дослідники з корпорації NEC у 1995 році, було названо мультимодальними граматиками визначених тверджень (англ. Multi-Modal Definite Clause Grammars, MM-DCGs). Їхнє розширення призначалося для уможливлення розпізнавання та синтаксичного аналізу виразів, що містять не текстові частини, наприклад, зображення.
У 1984 році було описано інше розширення, назване трансляційними граматиками визначених тверджень (англ. definite clause translation grammars, DCTGs). Запис трансляційних граматик визначених тверджень дуже схожий на запис граматик визначених тверджень; основна відмінність полягає у використанні в правилах ::=
замість -->
. Його було розроблено для зручності маніпулювання граматичними атрибутами. Перетворення трансляційних граматик визначених тверджень у звичайні твердження Прологу схоже на перетворення граматик визначених тверджень, але додається 3 аргументи замість 2.
Див. також
Примітки
- Johnson, M. (1994). Two ways of formalizing grammars. Linguistics and Philosophy. 17 (3): 221—240. doi:10.1007/BF00985036. (англ.)
- Kowalski, R. A. The early years of logic programming. (англ.)
- Colmerauer, A. (1978). Metamorphosis grammars. Natural Language Communication with Computers: 133—189. (англ.)
- Pereira, F.; D. Warren (1980). Definite clause grammars for language analysis. (англ.)
- Pereira, F. C. N.; D. H. D. Warren (1983). Parsing as deduction. Proceedings of the 21st annual meeting on Association for Computational Linguistics. Association for Computational Linguistics Morristown, NJ, USA. с. 137—144. (англ.)
- Pereira, F. C. N.; S. M. Shieber (2002). Prolog and natural-language analysis. Microtome Publishing. (англ.)
- Fleck, Arthur. . Архів оригіналу за 1 грудня 2008. Процитовано 16 квітня 2009. (англ.)
- Fisher, J. R. Prolog Tutorial -- 7.1. Архів оригіналу за 23 серпня 2013. Процитовано 24 вересня 2012. (англ.)
- . Архів оригіналу за 25 травня 2011. Процитовано 21 квітня 2009. (англ.)
- . Архів оригіналу за 14 березня 2017. Процитовано 26.03.2015. (англ.)
- Pereira, F. (1981). Extraposition grammars. Computational Linguistics. 7 (4): 243—256. (англ.)
- Shimazu, H.; Y. Takashima (1995). Multimodal definite clause grammar. Systems and Computers in Japan. 26 (3). (англ.)
- Abramson, H. (1984). Definite clause translation grammars. (англ.)
- Sperberg-McQueen, C. M. . Архів оригіналу за 1 травня 2009. Процитовано 21 квітня 2009. (англ.)
Посилання
- Обробка природної мови за допомогою Прологу [ 26 травня 2009 у Wayback Machine.] (англ.)
- Контекстно-вільні граматики та граматики визначених тверджень [ 16 лютого 2012 у Wayback Machine.] (англ.)
- Definite Clause Grammars for Language Analysis [ 14 листопада 2012 у Wayback Machine.] (англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Grama tika vi znachenih tve rdzhen angl Definite Clause Grammar DCG ros DC grammatika ce sposib predstavlennya gramatiki prirodnih abo formalnih mov u logichnih movah programuvannya takih yak Prolog Vin tisno pov yazanij z koncepciyeyu en en z yakoyi Prolog i bulo spochatku rozrobleno Gramatiki viznachenih tverdzhen zazvichaj asociyuyutsya iz Prologom ale yih takozh vklyuchayut i shozhi movi taki yak en Voni nazivayutsya gramatikami viznachenih tverdzhen oskilki predstavlyayut gramatiku mnozhinoyu viznachenih tverdzhen u logici pershogo poryadku Termin gramatiki viznachenih tverdzhen vidnositsya do pevnogo tipu virazu v Prolozi ta inshih podibnih movah ne vsi sposobi virazhennya gramatik z vikoristannyam viznachenih tverdzhen vvazhayutsya gramatikami viznachenih tverdzhen Tim ne mensh vsi mozhlivosti ta vlastivosti gramatik viznachenih tverdzhen budut odnakovimi dlya bud yakoyi gramatiki sho predstavlena viznachenimi tverdzhennyami tak samo po suti yak i v Prolozi Viznacheni tverdzhennya takih gramatik mozhut rozglyadatisya yak nabir aksiom de spravedlivist vhidnoyi strichki a takozh fakt togo sho vona maye pevne derevo sintaksichnogo analizu mozhut rozglyadatisya yak teoremi sho viplivayut z cih aksiom Ce maye taku perevagu sho rozpiznavannya ta analiz viraziv u movi peretvoryuyetsya na dovedennya tverdzhen takih yak tverdzhennya logichnoyi movi programuvannya IstoriyaIstoriya gramatik viznachenih tverdzhen tisno pov yazana z istoriyeyu Prologu a istoriya Prologu obertayetsya navkolo kilkoh doslidnikiv u Marseli Franciya ta Edinburzi Shotlandiya Zgidno z Robertom Kovalskim pochatkovim rozrobnikom Prologu pershu prologovu sistemu bulo rozrobleno u 1972 roci en ta fr Pershoyu programoyu napisanoyu ciyeyu movoyu bula velika sistema obrobki prirodnoyi movi Do pochatkovoyi rozrobki Prologu buli takozh zalucheni Fernando Perejra ta en z Edinburzkogo universitetu Kolmeroe ranishe pracyuvav nad sistemoyu obrobki movi sho nazivalasya Q systems i yaka vikoristovuvalasya dlya perekladu mizh anglijskoyu ta francuzkoyu U 1978 momu Kolmeroe napisav stattyu pro sposib predstavlennya gramatik sho nazivavsya metamorfoznimi gramatikami angl metamorphosis grammars sho buli chastinoyu rannoyi versiyi Prologu sho nazivalasya Marselskim prologom U cij statti vin dav formalnij opis metamorfoznih gramatik i deyaki prikladi program sho yih vikoristovuyut Fernando Perejra ta Devid Vorren dvoye inshih rannih tvorciv Prologu stvorili termin gramatika viznachenih tverdzhen i zapis dlya nih sho vikoristovuyetsya v Prolozi j sogodni Voni viddali nalezhne ideyi Kolmeroe ta Kovalskogo i vidznachili sho gramatiki viznachenih tverdzhen ye okremim vipadkom metamorfoznih gramatik Kolmeroe Voni predstavili cyu ideyu u statti pid nazvoyu Gramatiki viznachenih tverdzhen dlya movnogo analizu angl Definite Clause Grammars for Language Analysis de voni opisali gramatiki viznachenih tverdzhen yak formalizm u yakomu gramatiki virazhayutsya tverdzhennyami logiki predikativ pershogo poryadku sho utvoryuyut efektivni programi movi programuvannya Prolog Piznishe Perejra Vorren ta inshi pioneri Prologu opisali deyaki inshi aspekti gramatik viznachenih tverdzhen Perejra ta Vorren napisali stattyu pid nazvoyu Sintaksichnij analiz yak dedukciya angl Parsing as Deduction sho opisuvala taki rechi yak vikoristannya proceduri dovedennya dedukciya Erli dlya sintaksichnogo analizu Perejra takozh pracyuvav razom zi Styuartom Shiberom nad knigoyu Prolog ta analiz prirodnih mov angl Prolog and Natural Language Analysis sho priznachalasya dlya zagalnogo vvedennya v obchislyuvalnu lingvistiku z vikoristannyam logichnogo programuvannya PrikladProstij priklad gramatik viznachenih tverdzhen dlya ilyustraciyi togo chim voni ye i yak voni viglyadayut rechennya gt grupa imennika grupa prisudka grupa imennika gt oznachennya imennik grupa prisudka gt diyeslovo grupa imennika oznachennya gt the oznachennya gt a imennik gt cat imennik gt bat diyeslovo gt eats Cya gramatika stvoryuye taki rechennya yak the cat eats the bat a bat eats the cat Mozhna zgeneruvati vsi korektni rechennya movi sho generuyutsya ciyeyu gramatikoyu vvivshi v interpretatori Prologu rechennya X Analogichno mozhna pereviriti chi ye yakes rechennya korektnim u cij movi vvivshi shos na kshtalt rechennya the bat eats the bat Pereklad viznachenimi tverdzhennyamiZapis gramatik viznachenih tverdzhen ye lishe sintaksichnim cukrom dlya zvichajnih viznachenih tverdzhen Prologu Napriklad poperednij priklad mozhna pereklasti tak rechennya S1 S3 grupa imennika S1 S2 grupa prisudka S2 S3 grupa imennika S1 S3 oznachennya S1 S2 imennik S2 S3 grupa prisudka S1 S3 diyeslovo S1 S2 grupa imennika S2 S3 oznachennya the X X oznachennya a X X imennik cat X X imennik bat X X diyeslovo eats X X Spiski vidminnostej Argumenti kozhnogo funktora taki yak S1 S3 ta S1 S2 ye en spiski vidminnostej ye sposobom predstavlennya spisku yak riznici dvoh spiskiv Vikoristovuyuchi zapis Prologu dlya spiskiv spisok L mozhna predstaviti paroyu L X X Spiski vidminnostej vikoristovuyutsya dlya predstavlennya spiskiv u gramatikah viznachenih tverdzhen z mirkuvan efektivnosti Efektivnishe konkatenuvati spiski vidminnostej v umovah v yakih voni mozhut zastosovuvatisya oskilki konkatenaciyeyu S1 S2 ta S2 S3 ye prosto S1 S3 Ne kontekstno vilni gramatikiU chistij Prolog zvichajni pravila gramatik viznachenih tverdzhen bez dodatkovih argumentiv na funktorah yak u poperednomu prikladi mozhut virazhati lishe kontekstno vilni gramatiki u livij chastini en ye lishe odin argument Odnak kontekstno zalezhni gramatiki takozh mozhut virazhatisya gramatikami viznachenih tverdzhen shlyahom nadannya dodatkovih argumentiv yak u nastupnomu prikladi s gt a N b N c N a 0 gt a M gt a a N M is N 1 b 0 gt b M gt b b N M is N 1 c 0 gt c M gt c c N M is N 1 Cej nabir pravil gramatiki viznachenih tverdzhen opisuye gramatiku sho generuye movu sho skladayetsya zi strichok viglyadu a n b n c n displaystyle a n b n c n s gt symbols Sem a symbols Sem b symbols Sem c symbols end gt symbols s Sem S gt S symbols Sem S Cej nabir pravil gramatiki viznachenih tverdzhen opisuye gramatiku sho generuye movu sho skladayetsya zi strichok viglyadu a n b n c n displaystyle a n b n c n predstavlyayuchi n displaystyle n strukturno dzherelo Predstavlennya slovozminDeyaki lingvistichni slovozmini takozh mozhut dosit chitko predstavlyatisya gramatikami viznachenih tverdzhen shlyahom dodavannya dodatkovih argumentiv do funktoriv Napriklad rozglyanmo nastupnij nabir pravil gramatiki viznachenih tverdzhen rechennya gt imennik nazivnij vidminok grupa prisudka grupa prisudka gt diyeslovo imennik znahidnij vidminok imennik nazivnij vidminok gt kit imennik nazivnij vidminok gt kazhan imennik znahidnij vidminok gt kota imennik znahidnij vidminok gt kazhana diyeslovo gt yist Cya gramatika dozvolyaye taki rechennya yak kit yist kazhana ta kit yist kota ale ne kazhana yist kit ta kota yist kota Sintaksichnij analiz iz gramatikami viznachenih tverdzhenPriklad dereva sintaksichnogo analizu dlya ciyeyi gramatiki Golovnim praktichnim zastosuvannyam gramatik viznachenih tverdzhen ye sintaksichnij analiz viraziv zadanoyi gramatiki tobto pobudova dereva sintaksichnogo rozboru Ce mozhe buti realizovano za dopomogoyu zastosuvannya dodatkovih argumentiv u funktorah gramatiki viznachenih tverdzhen yak u nastupnih pravilah rechennya s NP VP gt grupa imennika NP grupa prisudka VP grupa imennika np D N gt oznachennya D imennik N grupa prisudka vp V NP gt diyeslovo V grupa imennika NP oznachennya d the gt the oznachennya d a gt a imennik n bat gt bat imennik n cat gt cat diyeslovo v eats gt eats Teper mozhna zrobiti interpretatorovi zapit vidati derevo rozboru zadanogo rechennya rechennya Sintaksichne derevo the bat eats a cat Sintaksichne derevo s np d the n bat vp v eats np d a n cat Inshi zastosuvannyaGramatiki viznachenih tverdzhen mozhut sluguvati sintaksichnim cukrom dlya prihovuvannya deyakih parametriv u kodi i v inshih zastosuvannyah krim sintaksichnogo analizu V deklarativno chistij movi programuvannya en vvedennya vivedennya musit predstavlyatisya paroyu argumentiv io state Zapis gramatik viznachenih tverdzhen mozhe zastosovuvatisya dlya togo shobi robiti vikoristannya vvedennya vivedennya zruchnishim hocha zazvichaj viddayut perevagu zapisovi zi zminnimi stanu dzherelo Zapis gramatik viznachenih tverdzhen zastosovuyetsya v Mercury dlya sintaksichnogo analizu ta podibnih rechej tak samo yak i v Prolozi RozshirennyaZ tih pir yak Perejra ta Vorren predstavili gramatiki viznachenih tverdzhen bulo zaproponovano dekilka rozshiren Sam Perejra zaproponuvav rozshirennya nazvane ekstrapozicijnimi gramatikami angl extraposition grammars XGs Cyu formalnu sistemu bulo predstavleno zokrema dlya sproshennya virazhennya pevnih gramatichnih fenomeniv takih yak liva ekstrapoziciya Perejra pisav sho Riznicya mizh pravilami ekstrapozicijnih gramatik ta pravilami gramatik viznachenih tverdzhen todi v tomu sho liva chastina pravila ekstrapozicijnoyi gramatiki mozhe mistiti kilka simvoliv Ce sproshuye virazhennya pravil kontekstno zalezhnih gramatik Inshe novishe rozshirennya sho zrobili doslidniki z korporaciyi NEC u 1995 roci bulo nazvano multimodalnimi gramatikami viznachenih tverdzhen angl Multi Modal Definite Clause Grammars MM DCGs Yihnye rozshirennya priznachalosya dlya umozhlivlennya rozpiznavannya ta sintaksichnogo analizu viraziv sho mistyat ne tekstovi chastini napriklad zobrazhennya U 1984 roci bulo opisano inshe rozshirennya nazvane translyacijnimi gramatikami viznachenih tverdzhen angl definite clause translation grammars DCTGs Zapis translyacijnih gramatik viznachenih tverdzhen duzhe shozhij na zapis gramatik viznachenih tverdzhen osnovna vidminnist polyagaye u vikoristanni v pravilah zamist gt Jogo bulo rozrobleno dlya zruchnosti manipulyuvannya gramatichnimi atributami Peretvorennya translyacijnih gramatik viznachenih tverdzhen u zvichajni tverdzhennya Prologu shozhe na peretvorennya gramatik viznachenih tverdzhen ale dodayetsya 3 argumenti zamist 2 Div takozhObrobka prirodnoyi movi en Iyerarhiya Chomski Kontekstno vilna gramatikaPrimitkiJohnson M 1994 Two ways of formalizing grammars Linguistics and Philosophy 17 3 221 240 doi 10 1007 BF00985036 angl Kowalski R A The early years of logic programming angl Colmerauer A 1978 Metamorphosis grammars Natural Language Communication with Computers 133 189 angl Pereira F D Warren 1980 Definite clause grammars for language analysis angl Pereira F C N D H D Warren 1983 Parsing as deduction Proceedings of the 21st annual meeting on Association for Computational Linguistics Association for Computational Linguistics Morristown NJ USA s 137 144 angl Pereira F C N S M Shieber 2002 Prolog and natural language analysis Microtome Publishing angl Fleck Arthur Arhiv originalu za 1 grudnya 2008 Procitovano 16 kvitnya 2009 angl Fisher J R Prolog Tutorial 7 1 Arhiv originalu za 23 serpnya 2013 Procitovano 24 veresnya 2012 angl Arhiv originalu za 25 travnya 2011 Procitovano 21 kvitnya 2009 angl Arhiv originalu za 14 bereznya 2017 Procitovano 26 03 2015 angl Pereira F 1981 Extraposition grammars Computational Linguistics 7 4 243 256 angl Shimazu H Y Takashima 1995 Multimodal definite clause grammar Systems and Computers in Japan 26 3 angl Abramson H 1984 Definite clause translation grammars angl Sperberg McQueen C M Arhiv originalu za 1 travnya 2009 Procitovano 21 kvitnya 2009 angl PosilannyaObrobka prirodnoyi movi za dopomogoyu Prologu 26 travnya 2009 u Wayback Machine angl Kontekstno vilni gramatiki ta gramatiki viznachenih tverdzhen 16 lyutogo 2012 u Wayback Machine angl Definite Clause Grammars for Language Analysis 14 listopada 2012 u Wayback Machine angl