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 >>>> >>>> >>>> >>> >> >
