Ja ked som potreboval lexer, tak som si ho nechal vygenorovat, lebo bolo
treba aj parser (to je aj tento pripad). Ale je to zaujimavy postreh.
Myslite jednotlive stavy definovat ako metody?

2011/4/12 Ladislav Thon <ladi...@gmail.com>

> Hm, není mi jasné, proč si autor zavádí vlastní stavovou proměnnou, lexer
> se dá triviálně napsat i bez ní (resp. stavovou proměnnou je program
> counter), několikrát jsem to tak dělal. A tohle nevypadá jako něco, co by se
> za dvě hodiny nedalo napsat ručně.
>
> LT
>
>
> 2011/4/12 Tomas Studva <tstu...@gmail.com>
>
>> Tak, tak. Urcite aby ma povodny programator co najviac potrapil :). Je to
>> tak ako pisete, for(;;) je while(true) a break vyskoci iba zo switchu. break
>> look, skoci na navestie. Som zvedavy ake perly ma este cakaju. Inak v
>> dnesnej dobe pisat parser ak sa jedna o nieco zlozitejsie je vhodne pomocou
>> lexem a gramatiky definovanej v nejakom jazyku.
>>
>> 2011/4/11 Robert Novotny <robert.novo...@upjs.sk>
>>
>>> Break z loopu sa da pouzit na vyskocenie z vnorenych cyklov cez viacero
>>> urovni. Nie je to nahodou preto, ze klasicky break by vyskocil zo switchu,
>>> ale nie z loopu?
>>>
>>> Otazka je, preco je tam break z poslednej vetvy switchu, ked za nou uz
>>> nejde nic?
>>>
>>> A preco je tam c-ckarsky for(;;) namiesto while(true)?
>>>
>>> Je pozoruhodne, ze
>>>
>>> On 11. 4. 2011 16:57, Tomas Studva wrote:
>>>
>>> Dobry den,
>>> vedeli by ste si precitat nasledovny program. Nie je to priklad zo skoly
>>> ale z praxe. Implementacia stavoveho automatu, kod je stary 10 rokov a
>>> samozrejme ze to je len nezmyselny uryvok.
>>>
>>> state = -1;
>>> loop: *for* (;;) {
>>>
>>> state = state + 1;
>>>
>>> *switch* (state) {
>>> *case* 0: state = 1; break;
>>>
>>> case 1: state = 0 *break*;
>>>
>>> case 2: break loop;
>>>
>>> }
>>>
>>> }
>>>
>>> Pre mna to je nieco velmi vynimocne, lebo je tam navestie a tiez ten for.
>>>
>>> S pozdravom Tomas
>>>
>>>
>>>
>>
>

Odpovedet emailem