• 2.2.2.1-chizma.
  • 2.2.2.2-chizma.Proyekt yasash.
  • German sinfi
  • Tabiiy tillar uchun leksik va sintaktik tahlil




    Download 1.04 Mb.
    bet14/18
    Sana02.03.2022
    Hajmi1.04 Mb.
    #18265
    1   ...   10   11   12   13   14   15   16   17   18
    Bog'liq
    Buxoro davlat universiteti
    konstitut, 1-10-Ответы на тест, 4-sinf test, mavzu 4, 11-Maruza, CONSTANCE, Lesson 2, export-to-pdf (34)
    2.2.2 Tabiiy tillar uchun leksik va sintaktik tahlil.
    Vizual Prolog dasturlash tilida tabiiy tillar uchun leksik va sintaktik tahlil jarayonini ko’rishimiz mumkin. Bu dasturda Semantic proyekt(maydon) yasaymiz. Bu proyektni 3ta sinfi bor. Ya’ni Semantic, German va English sinflari bor . Bu yasalgan sinflar quyidagi rasmda ko’rsatilgan.

    2.2.2.1-chizma.Prolog tilining umumiy ko’rinishi
    (Semantik proyektida Semantic, German va English sinflari Yuqoridagi rasmda semantic proyekti yasalgan va uning semantic, english, german sinflari bor. Sinf yasash qanday amalga oshirilishini Prolog dasturida ko’rib chiqamiz. Prologda proyekt yasashni 1 bobda ko’rib o’tganmiz. Shu uchun Semantik deb nomlangan Proyekt yasaymiz. Bunda Prolog dasturining Semantik proyektida kirgan holda sichqonchaning chap tugmasini bosamiz. Bizni ekranimizda quyidacha oyna hosil bo’ladi.

    2.2.2.2-chizma.Proyekt yasash.
    Bu oynadan 1- o’rinda turgan tugmani bosamiz. Ya’ni Naw in New Package… (yoki Ctrl+N tugmasi) bosamiz. So’ngra bizga Create Project Item nomli oynani chiqaradi. Bu oynaning ko’rinishi quyidagicha:


    2.2.2.3-chizma.Yangi class yaratish.
    yangi sinf ochishning Prologda ko’rinishi. Bu oynadan sinf yasash uchun Class tugmasini tanlaymiz. So’ngra Name (ism) yozilgan joyga borib sinfimizga ism yozamiz. Ism yozgandan so’ng Create tugmasini bosamiz. Shu bilan bizga uchta sinf kerak edi va uchta sinfni yasab oldik.
    German sinfi
    Biz avvalo Semantic sinfga quyidagi dastuni kiritamiz.
    class semantic
    open core
    domains
    category = art; nom; cop; rel.
    tree = case(category, string); world(tree, tree); silence.
    predicates
    classInfo : core::classInfo.
    end class semantic
    Bu yerda 2ta gap haqida so’z yuritiladi.
    Ingliz tilida “The World is all”
    Nemis tilida “Die Welt ist alles”
    Ikkala so’zni ham ma’nosi “Dunyo hammaniki” deyilgan. Prologda German sinfini yasab olganimizdan keyin German Pro paketiga dasturimizni kiritamiz. Bu dasturni ko’rinishi quyidagicha:
    % Fayl german.pro
    implement german
    open core, semantic
    clauses
    classInfo("german", "1.0").
    article(case(art, ""), ["die"|Rest], Rest).
    article(case(art, ""), ["der"|Rest], Rest).
    noun(case(nom, "Welt"), ["Welt"|R], R).
    noun(case(nom, "Fall"), ["Fall"|R], R).
    copula(world(case(cop, "ist"), T), ["ist"|R1], R) :-
    nounphr(T, R1, R).
    nounphr(world(T1, T2), Start, End) :-
    article(T1, Start, S1), noun(T2, S1, End).
    nounphr(case(nom, "alles"), ["alles"|R], R).
    phr(world(T1, T2), Start, End) :-
    nounphr(T1, Start, S1), copula(T2, S1, End).
    end implement german
    Bu dasturni kiritganimizdan so’ng bizga yangi dastur kerak bo’ladi. Bu dasturlardan chiqaruv daraxti yasaymiz. Keyingi dasturimizni Fayl german.cl ga kiritamiz. Bu dastur quyidagicha:
    % Fayl german.cl
    class german
    open core, semantic
    predicates
    classInfo : core::classInfo.
    article : (tree, string*, string*) nondeterm (o, i, o).
    noun : (tree, string*, string*) nondeterm (o, i, o).
    nounphr : (tree, string*, string*) nondeterm (o, i, o).
    copula : (tree, string*, string*) nondeterm (o, i, o).
    phr : (tree, string*, string*) nondeterm (o, i, o).
    end class german
    Biz German sinfiga dasturlarni kiritib bo’ldik.

    Download 1.04 Mb.
    1   ...   10   11   12   13   14   15   16   17   18




    Download 1.04 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Tabiiy tillar uchun leksik va sintaktik tahlil

    Download 1.04 Mb.