nemate niekto nejake priklady na precvicenie konstrukcie konecnostavoveho automatu z regularneho vyrazu? najlepsie aj s vysledkom nech sa to da overit :)
Na cviku radil Steingartner vygoogliť "DFA from RE".
hej pamätam len mi to nejak nenajde to co som chcel.....
Tak sa na to vytoto... snád bude dobre :)
ked mame regularny vyraz {a|b}, ktory z tychto retazcov nanho pasuju?:
1. aaaaaa....
2. bbbbbbbbb....
3. aaaaabbbaabbbbaabb....
{} - tranzitivny uzaver
a|b - vyjadruje a alebo b
Podľa mňa 1. a 2.
nie vsetky ?
kedze "a" alebo "b", tak moze byt aj "abababab" ... nie ?
Podľa mňa je to alternatíva vo vylučovacom zmysle, teda bud a / bud b
no, ved tuto je to tiez tak, bud a alebo b: ababab .. ked su taketo zatvorky {} tak to ked sa dobre pamätam je, ze sa to opakuje, cize cyklus ... takze ja si myslim, ze moze byt aj abababa .. prejde cyklus raz, bude "a", prejde druhykrat, bude "ab", prejde tretikrat bude "aba" a tak dalej
ono osobne by som povedal ze to ma byt BUD aaaaaaa.... ALEBO bbbbbbb..... podla mojho nazoru ale ked to mal na pisomke spravit stavovy diagram a potom automat tak v podstate som zistil ze neviem ako by to vyzeralo tymto stylom (aby bralo len 1. a 2.) a jedine co mi tam pasovalo bol diagram ktory bral aj tretiu moznost
keby to malo byt BUD aaaaa ALEBO bbbbb tak by to bolo takto: {a}|{b} aspon podla mna, hlavu by som zato nedal do ohna
Quote from: xxx3 on 16.10.2012, 18:11:48
keby to malo byt BUD aaaaa ALEBO bbbbb tak by to bolo takto: {a}|{b} aspon podla mna, hlavu by som zato nedal do ohna
Tiež si myslím.
no podla mna vsetky moznosti su spravne pokial dobre pamatam
-*---------------------->
^ |
| __a |
| | |_ |
--- | |
|__b
cize ked tam pustis tu gulicku tak sa ti to moze hocijako opakovat .. bud len same aaaaaaaa alebo bbbbbbbbbb alebo abbbbaaaabb
Ak by tam mali byť len áčka alebo len béčka, vyzeralo by to asi takto (teda aspoň dúfam ap)
(https://www.tu-ke.com/forum/proxy.php?request=http%3A%2F%2Fwww.abload.de%2Fimg%2Ffotografia16848uble.jpg&hash=9f26db64dd22b526273c20dd400f5fb0cd4335af)
Quote from: eminkaa on 17.10.2012, 13:33:18
xxx3 a veteran maju pravdu
a esperian zasa nic ;D
Quote from: eminkaa on 17.10.2012, 21:11:09
to sa nevylucuje. aj ty mas pravdu.
:ropebanana: xD
z toho mála čo si pamätám tak a alebo b v tranzitívnom uzávere znači opakovaný vstup a alebo b, čo môže vyzerať asi takto:
aaaaa
bb
ababababa
aaabbbbbbaa
a tak ďalej...aj by som poradil ako to robím ja, ale myslím, že každý normálny človek by to považoval za neskutočne zložitú obchádzku
Neviete niekto popisat co robi prikaz JMP 3?:
void translator() {
// rezervacia miesta pre ukladanie premennej
putWord(JMP);
putWord(3);
putWord(NOP);
...
}
A este chapem tento kod spravne?:
unsigned short stackAddr = 1000;
void translator() {
...
// inicializacia SP
putWord(LDAM);
putWord(stackAddr);
putWord(STA);
putWord(2);
putWord(LDS);
putWord(2);
...
}
ze nacitam do akumulatora hodnotu 1000 , ulozim akumulator do registra 2 a nasledne nacitam ten register?
Zdravím, vedel by mi niekto vysvetliť, prípadne aj odstrániť chybu v kode : http://paste42.de/4364/FJAP&linenr (http://paste42.de/4364/FJAP&linenr) na riadkoch 67 a 68 ? error: initializer element is not constant
Rimbaud - mne ten kod normalne v netbeanse skompiluje bez chyb
Quote from: xxx3 on 04.11.2012, 04:22:16
Rimbaud - mne ten kod normalne v netbeanse skompiluje bez chyb
Problém je už vyriešený :)
nimrod:
putWord(LDAM);
putWord(stackAddr);
LDAM 1000 -> nacita 1000-ku do akumulatora
putWord(STA);
putWord(2);
STA 2 -> z akumulatora ulozi tu 1000-ku do pamäta do bunky s adresou 2
putWord(LDS);
putWord(2);
LDS 2 -> nacita z pamäta z adresy 2 (tu 1000-ku ktoru tam ulozilo) do stack pointera SP
Na webe su nove materialy na cvicenia http://hornad.fei.tuke.sk/~bacikova/FJaP-new/01/ (http://hornad.fei.tuke.sk/~bacikova/FJaP-new/01/)
Quote from: mishelka on 28.11.2012, 15:00:39
Na webe su nove materialy na cvicenia http://hornad.fei.tuke.sk/~bacikova/FJaP-new/01/ (http://hornad.fei.tuke.sk/~bacikova/FJaP-new/01/)
Pekne spracovane. :thumbs-up:
enum NodeTags {
INTCONST, FLOATCONST,
PRINT_OP, ADD_OP, SUB_OP,
PRINT_INT_OP, PRINT_FLOAT_OP,
ADD_INT_OP, ADD_FLOAT_OP,
SUB_INT_OP
};
typedef union ExpTreeNode {
struct {
int constTag;
int constVal;
} operand;
struct {
int binOp;
ExpTreeNode* leftTree;
ExpTreeNode* rightTree;
} binaryop;
struct {
int unOp;
ExpTreeNode* subTree;
} unaryop;
} ExpTree;
**************************************************************************************
typedef enum NodeTags {
INTCONST, FLOATCONST,
PRINT_OP, ADD_OP, SUB_OP,
PRINT_INT_OP, PRINT_FLOAT_OP,
ADD_INT_OP, ADD_FLOAT_OP,
SUB_INT_OP
}NodeTags;
typedef union ExpTreeNode {
struct {
int constTag;
int constVal;
} operand;
struct {
int binOp;
union ExpTreeNode* leftTree;
union ExpTreeNode* rightTree;
} binaryop;
struct {
int unOp;
union ExpTreeNode* subTree;
} unaryop;
} ExpTree;
vie mi niekto vysvetlit preco mi prvy kod v netbeanse vyhadzuje same errory a v codeblocks to prejde max s nejakym warningom? musel som to upravit tak ako je v druhom kode aby to compiler zobral. Nechapem ale preco nechce ten prvy kod zobrat???
Oficialne je mozne zadanie odovzdat aj v 12tom tyzdni.
V 13tom tyzdni bude odovzdanie zadania penalizovane. See http://hornad.fei.tuke.sk/~bacikova/FJaP-new/11/index.html (http://hornad.fei.tuke.sk/~bacikova/FJaP-new/11/index.html)