logo

Crowdly

Navrhnite deterministický konečnostavový automat (DFA) pre jazyk špecifikov...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

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ží.

    More questions like this

    Want instant access to all verified answers on moodle.fei.tuke.sk?

    Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!

    Browser

    Add to Chrome