Jasně, buďto jako metody, nebo i jen jednotlivé větve toho switche. ANTLR
samozřejmě rulez :-)

LT

2011/4/12 Tomas Studva <[email protected]>

> 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 <[email protected]>
>
>> 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 <[email protected]>
>>
>>> 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 <[email protected]>
>>>
>>>> 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