• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Formálne jazyky a preklada?e

Started by mishelka, 16.09.2010, 13:35:34

« predchdzajce - alie »

ursus

kto ma 3 od vaclavika?

[ b]a{a}(aa/bb)
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

sulo

Quote from: antil kiprest on  11.10.2010, 00:37:34
Quote from: mishelka on  06.10.2010, 14:46:54
Na solarisoch vam pojde getc(stdin) a getchar()
na ostatnych (netbeans & visual studio & snad aj devc++) je mozne stale pouzit getch() a getchar()
ale na NB si stiahnite balik compilerov mingw (nie cygwin), bez toho vam getch() nezhltne...

skusal som to vo visual studio  a nebere mi getch() ...   v com moze byt hacik???

Použi _getch(). A do vnútra súboru stdafx.h pridaj #include <conio.h>.

excellent

Mám zadanie {a|b}(aa|bb) a ako už sulo spomínal, nie je to nedeterministický automat, keďže pri vstupe "a" prechádza do dvoch rôznych stavov? Ako to potom bude vyzerať? Čo v takom prípade?
F5 can be so refreshing :thumbs-up:

sulo

#103
Nie. Myslím, že je to obyčajný deterministický automat, ako tie ostatné. Ja som si len myslel, že nemôže byť naraz viac tokenov pred rôznymi a-čkami, ale asi môže. Ak príde v danom stave a-čko, posunú sa všetky tokeny, ktoré boli pred a-čkami.

Jediný "problém" by mohol nastať, keby sme chceli určiť, ktoré konkrétne a-čko sme práve prečítali. Ale to nie je naša úloha. My máme len rozpoznať, či zadaný reťazec vyhovuje alebo nevyhovuje danému regulárnemu výrazu.

Starý príspevok pre istotu zmažem, aby vás nemiatol.

bubenik

Quote from: excellent on  11.10.2010, 01:15:51
Mám zadanie {a|b}(aa|bb) a ako už sulo spomínal, nie je to nedeterministický automat, keďže pri vstupe "a" prechádza do dvoch rôznych stavov? Ako to potom bude vyzerať? Čo v takom prípade?

                        |
                        v
                     { .a | .b } ( .a a | .b b )
                        |                         |
                        | b                       | a
                        v                         v
{ .a | .b } ( .a a | .b .b ) -a-> { .a | .b } ( .a .a | .b b ) <----
   |                       ^     <-b-         |                                 |
   | b                     |____b______   | a                              |
   v                                          |  v                                 |
{ .a | .b } ( .a .a | .b b ).       { .a | .b } ( .a a | .b .b ).       |
   | ^           |                           | ^                                 |
   |_| b         |                           |_| a                              |
                   |_____________a__________________________|

tam kde je bodka na konci je koncovy stav

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.

Shwollo

Quote from: Agamemnon on  11.10.2010, 00:18:34
sekol... druhý vstup je závislý od prvého... ak je prvý vstup "a", tak druhý musí byť "b"... ak je prvý vstup "b", tak druhý musí byť "a"... takže neplatí, že je to "a" alebo "b", lebo je to podmienené prvým vstupom...
však tak som to myslel

Quote from: ursus on  11.10.2010, 00:42:39
kto ma 3 od vaclavika?

[ b]a{a}(aa/bb)
ja napr.
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

tahej

Quote from: bubenik on  11.10.2010, 00:20:22
Quote from: tahej on  10.10.2010, 18:16:04
ak mam (ab|ba)b[a]{b}   tak token na zaciatku bude takto ? (.a.b|.b.a) ?? alebo ako mam to dat ..  ???

  |
  v
( .a b | .b a ) b [ a ] { b } -> a -> ( a .b | b a ) b [ a ] { b }
  |                                              |
  | b                                           | b
  v                                              v
( a b | b .a) b [ a ] { b }   -> a -> ( a b | b a) .b [ a ] { b }
                                                  |
                                                  |b
                                                  v
( a b | b a) b [ a ] { .b }. <- a,b <- ( a b | b a) b [ .a ] { .b }.
  | ^
  |_| b

tam kde je bodka na konci je koncovy stav bk

a ako mam spravit ten stav KSA (Mealy, Moore) na to ??  ah:

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.

Agamemnon

však ksa sú len guličky a šípky medzi nimi... to je v pohode
All code is crap.

42

Makaveli

#110
ten zdrojak ma byt v c ci v c++??? mam to v c++ ale tam mi to ukaze ten vysledok na par sekund co s tým spravit aby to tam ukazovalo dlhsie aby si to aj precitat vedel dik  :ropebanana:
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

genie

"Any fool can use a computer.  Many do."

Makaveli

ja tam mam getchar a ide to strasne rychlo ten vypis iba ak to mam v c s char tak ten vipis sa da precitat coze stiham to precitat
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

Safyia

ne :D za tym celym daj este getchar nakoniec. Aby cakalo na dalsi vstup kym si ty popozeras vypis ;D

excellent

#114
Quote from: bubenik on  11.10.2010, 02:23:16
Quote from: excellent on  11.10.2010, 01:15:51
Mám zadanie {a|b}(aa|bb) a ako už sulo spomínal, nie je to nedeterministický automat, keďže pri vstupe "a" prechádza do dvoch rôznych stavov? Ako to potom bude vyzerať? Čo v takom prípade?

                       |
                       v
                    { .a | .b } ( .a a | .b b )
                       |                         |
                       | b                       | a
                       v                         v
{ .a | .b } ( .a a | .b .b ) -a-> { .a | .b } ( .a .a | .b b ) <----
  |                       ^     <-b-         |                                 |
  | b                     |____b______   | a                              |
  v                                          |  v                                 |
{ .a | .b } ( .a a | .b b ).       { .a | .b } ( .a a | .bb ).    |
  | ^           |                           | ^                                 |
  |_| b         |                           |_| a                              |
                  |_____________a__________________________|

tam kde je bodka na konci je koncovy stav
Díky, vyzerá to vierohodne  :D Ale tam, kde je červená bodka, nemá byť token však?
F5 can be so refreshing :thumbs-up:

Makaveli

Quote from: Safyia on  11.10.2010, 14:01:13
ne :D za tym celym daj este getchar nakoniec. Aby cakalo na dalsi vstup kym si ty popozeras vypis ;D
no aj tak si to nestiham precitat ... :'( :'( :'(
Máte pravdu. Jsem blázen. Ale víte co ještě? Je mi to u prdele:P KED NIECO NEVIES TUKE FORUM VYRIESI :)))

Painkiller03

Zdravím.Neviete mi poradiť,že ked skompilujem a spustím program,tak mi ho spustí,ale po stlačení klávesy ma hneď z neho vyhodí?

Shwollo

hoď sem zdroják. takto nikto nezistí, kde máš chybu
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

Agamemnon

Quote from: sb290up on  11.10.2010, 15:49:46
Quote from: Safyia on  11.10.2010, 14:01:13
ne :D za tym celym daj este getchar nakoniec. Aby cakalo na dalsi vstup kym si ty popozeras vypis ;D
no aj tak si to nestiham precitat ... :'( :'( :'(

daj getchar 2x na koniec
All code is crap.

42

Agamemnon

Quote from: eminkaa on  11.10.2010, 18:02:03
system("PAUSE"); ??

toto nefunguje vzdy - mam pocit, ze tam treba nieco prilinkovat... a neslo to pod linuxom, ak si spominam
All code is crap.

42

Shwollo

#120
predám zadanie  :evica: od Vácvlavíka č.1:
[a|b]a{a}{b}a
dostal som za neho plný počet bodov. 

nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

mishelka

Quote from: sulo on  11.10.2010, 01:26:48
Nie. Myslím, že je to obyčajný deterministický automat, ako tie ostatné. Ja som si len myslel, že nemôže byť naraz viac tokenov pred rôznymi a-čkami, ale asi môže. Ak príde v danom stave a-čko, posunú sa všetky tokeny, ktoré boli pred a-čkami.

Jediný "problém" by mohol nastať, keby sme chceli určiť, ktoré konkrétne a-čko sme práve prečítali. Ale to nie je naša úloha. My máme len rozpoznať, či zadaný reťazec vyhovuje alebo nevyhovuje danému regulárnemu výrazu.

Starý príspevok pre istotu zmažem, aby vás nemiatol.
- viac tokenov pred ackami/beckami moze byt v jednom stave
- ak sa chces pohnut z takehoto stavu, uvazujes vsetky moznosti (ale v jednom dalsom stave, nie ze viac prechodov pri tom istom vstupe)
  

#define TRUE FALSE //Happy debugging suckers :D

mishelka

Quote from: Shwollo on  11.10.2010, 19:01:38
predám zadanie od Vácvlavíka č.1:
[a|b]a{a}{b}a
dostal som za neho plný počet bodov.
kupim! :D
  

#define TRUE FALSE //Happy debugging suckers :D

Shwollo

nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

ursus

ja tiez poziciam trojku od vaclavika :D ;D
So this router walks into the doctor's office...
- Doctor, it hurts when IP.