logo

Crowdly

Browser

Додати до Chrome

Formálne jazyky

Шукаєте відповіді та рішення тестів для Formálne jazyky? Перегляньте нашу велику колекцію перевірених відповідей для Formálne jazyky в moodle.fei.tuke.sk.

Отримайте миттєвий доступ до точних відповідей та детальних пояснень для питань вашого курсу. Наша платформа, створена спільнотою, допомагає студентам досягати успіху!

Určte počet lexém pre nasledujúci výraz (jazyk C):

printf("a = %d", x+y*z);

Poznámka: Odpoveď uvádzajte iba ako číslicu (napr. 100).
Переглянути це питання
Daná je nasledujúca gramatika:

S → 0S1 ∣ A ∣ ε

A → 1A ∣ 0A1 ∣ 1

Je slovo

01011 odvoditeľné prostredníctvom tejto gramatiky?
100%
0%
Переглянути це питання
Ktoré z nasledujúcich tvrdení sú pravdivé o navzájom ekvivalentných gramatikách?

0%
100%
100%
0%
Переглянути це питання
Na základe Chomského hierarchie klasifikujte nasledujúcu gramatiku:

S → 0J ∣ 0SJ

J → 1

0J → J0

Poznámka: V prípade klasifikácie gramatík a jazykov do jednej z tried Chomskeho hierarchie budeme vždy uvažovať najnižšie položenú triedu, do ktorej možno gramatiku resp. jazyk klasifikovať.

0%
100%
0%
0%
Переглянути це питання

Navrhnite deterministický konečnostavový automat (DFA) pre jazyk špecifikovaný nasledujúcim regulárnym výrazom využitím metódy tokenov a naprogramujte jeho iteratívnu implementáciu:

{o|(o|qC)q}

Pri riešení zadania sa riaďte nasledujúcimi technickými pokynmi k jeho vypracovaniu a odovzdaniu. Stiahnite si a dekomprimujte kostru riešenia, ktorá má nasledujúcu štruktúru:

  • specification.fsa – súbor s formálnou špecifikáciou výsledného DFA. Súbor musí obsahovať abecedu automatu, stavy vrátane ich anotácií, prechody, počiatočný stav a akceptačné stavy zapísané v doménovo-špecifickom jazyku predstavenom na prednáškach. Samotný postup návrhu automatu je nutné taktiež písomne zdokumentovať na priloženom pomocnom hárku papiera.
  • automaton.py – skript s definíciou triedy DFA, ktorú je potrebné implementovať. Táto trieda musí obsahovať verejnú metódu check s parametrom reprezentujúcim vstupný reťazec a návratovou (pravdivostnou) hodnotou určujúcou, či daný reťazec patrí alebo nepatrí do jazyka špecifikovaného zadaným regulárnym výrazom. V tomto skripte nie je povolené využívať žiadnu rekurziu.
  • main.py – skript na manuálne testovanie implementácie. Tento skript spustíte v adresári so súbormi riešenia príkazom py main.py.
  • check_fsa_syntax.py – skript na overenie syntaxe súboru specification.fsa. Tento skript spustíte v adresári so súbormi riešenia príkazom py check_fsa_syntax.py.

Pri riešení nie je povolené pridávať žiadne dodatočné importy, meniť názvy jednotlivých súborov, tried alebo metód ani štruktúru riešenia. Po doplnení formálnej špecifikácie automatu a požadovanej funkcionality jeho implementácie skomprimujte vaše riešenie (súbory specification.fsa, automaton.py, main.py a check_fsa_syntax.py) do zip archívu bez akýchkoľvek podadresárov a nahrajte ho ako odpoveď. Na pomenovaní archívu nezáleží.

    Переглянути це питання
    Skonštruujte minimálny regulárny výraz pre všetky reťazce nad abecedou A = {a, b}, ktoré obsahujú presne dva znaky a.

    Poznámka: Výsledok zapíšte bez akýchkoľvek medzier pomocou notácie prezentovanej na cvičeniach. V prípade alternácie uvádzajte jednotlivé alternatívy v abecednom poradí.
    Переглянути це питання
    Nech sú dané jazyky L1 = {caa, cab, aba, cbb} a L2 = {c}. Určte ľavý kvocient jazyka L1 podľa jazyka L2.

    Poznámka: Výslednú množinu zapíšte tak, aby boli reťazce usporiadané od najkratších po najdlhšie a pri rovnakej dĺžke v abecednom poradí. Ak sa v množine nachádza ε, zapisuje sa vždy ako prvý v tvare eps. Príklad správneho zápisu: {eps, x, xx, xy, xyz}.
    Переглянути це питання

    Nech gramatika obsahuje nasledujúce prepisovanie pravidlo v EBNF: . Aká je asociativita operácie ?

    Переглянути це питання

    Klasifikujte gramatiku  do jednej z tried Chomskeho hierarchie gramatík kde je nasledujúca množina pravidiel:

    Переглянути це питання

    Vašou úlohou je navrhnúť gramatiku jazyka kalkulačky a implementovať jeho syntaxou riadený interpretér metódou rekurzívneho zostupu.  Tento jazyk bude podporovať nasledujúce operácie, syntax operátorov je uvedená v zátvorkách:

    • sčítanie (+) a odčítania (-) so štandardnou prioritou a pravou asociativitou,
    • unárne mínus (-) so štandardnou prioritov,
    • umocňovanie (^) so štandardnou prioritou a ľavou asociativitou.
    Jazyk bude podporovať aj zátvorkované výrazy.

    Stiahnite si kostru riešenia, ktorá má nasledujúcu štruktúru:

    • Lexer.py - obsahuje funkčnú implementáciu lexikálneho analyzátora (trieda Lexer) vyššie špecifikovaného jazyka.
    • Parser.py - trieda Parser, parse metódu ktorej je treba implementovať. Táto metóda má ako návratovú hodnotu poskytnúť číslo zodpovedajúce výsledku interpretovaného reťazca. V prípade ak dôjde k syntaktickej chybe vyvolá sa výnimka SyntaxError, na obsahu sprievodnej správy pritom nezáleží.
    • main.py - script na manuálne testovanie zadania. Číta reťazce zo vstupu a pokúša sa ich interpretovať.

    Pri riešení nie je povolené využívať žiadne externé knižnice, meniť názvy jednotlivých súborov, tried, či metód. Po doplnení potrebnej funkcionality zabaľte vaše riešenie (príslušnú trojicu súborov) do zip archívu a nahrajte ho ako odpoveď. Na pomenovaní archívu nezáleží.

    Переглянути це питання

    Хочете миттєвий доступ до всіх перевірених відповідей на moodle.fei.tuke.sk?

    Отримайте необмежений доступ до відповідей на екзаменаційні питання - встановіть розширення Crowdly зараз!

    Browser

    Додати до Chrome