DU2: STR + CMT

Úvodní kurz překladačů se soustřeďuje zejména na teoretické i praktické základy konstrukce přední části překladače. Součástí předmětu je i cvičení zaměřující se na základy práce s nástroji pro konstrukci překladačů. Po absolvování tohoto kurzu bude posluchač schopen sestrojit vlastní překladač do mezikódu nebo jiného jazyka.
Kubees
Matfyz(ák|ačka) level II
Příspěvky: 65
Registrován: 12. 1. 2007 22:22
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

DU2: STR + CMT

Příspěvek od Kubees »

Ahoj,

nevim si rady s prepinanim stavu pro retezce a komentare. Podle toho, co nam rikal cvicici, se napr. do stavu STR prepnu prikazem BEGIN(STR) a zpatky do puvodniho BEGIN(INITIAL). Tohle mi jeste Visual Studio sezere.

Problem nastane, kdyz chci psat prikazy pro dane stavy. Na cviceni jsem to pochopil tak, ze je to stejne jako v normalnim stavu, ale pred dvojici regexp - prikaz napisu jeste <STR> coz znamena, ze tento radek plati jen pokud zrovna ctu retezec.

kdyz ale napisu treba:

<STR> ' BEGIN(INITIAL);

tak mi hned VS zacne nadavat, ze na tomto radku mam:
error C2001: newline in constant d:\pp\mlaskal\public-rw\SWI098\du2\du2l.lex 123
error C2015: too many characters in constant d:\pp\mlaskal\public-rw\SWI098\du2\du2l.lex 123
error C2143: syntax error : missing ';' before 'case' d:\pp\mlaskal\public-rw\SWI098\du2\du2l.lex 124

Zkousel jsem, jestli do nepisu na spatne misto, daval jsem to nahoru i dolu, furt to same. :(

Poradi nekdo?
Him
Supermatfyz(ák|ačka)
Příspěvky: 400
Registrován: 25. 1. 2008 19:59
Typ studia: Informatika Bc.

Re: DU2: STR + CMT

Příspěvek od Him »

Toto mi funguje:

Kód: Vybrat vše

<STR>'	{
			BEGIN(INITIAL);
                        /* smthing */
		}
mezi apostrofem a <STR> se nepise mezera.
Pracoval jsem na poměrně hodně materiálech pro různé předměty. Pokud Ti něco z toho ušetřilo čas, vyjádři svůj dík v podobě pár satoshi: 1H5JPTrsXie7epAQXbXhMjdgwyLbJ5NHBW ;)
Kubees
Matfyz(ák|ačka) level II
Příspěvky: 65
Registrován: 12. 1. 2007 22:22
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Re: DU2: STR + CMT

Příspěvek od Kubees »

No jasne, slo o tu mezeru. Diky moc!
Odpovědět

Zpět na „SWI098 Principy překladačů“