DU2: STR + CMT

Odeslat odpověď

Smajlíci
:D :) :( :o :shock: :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode je zapnutý
[img] je zapnutý
[flash] je vypnutý
[url] je zapnuté
Smajlíci jsou zapnutí

Přehled tématu
   

Rozšířit náhled Přehled tématu: DU2: STR + CMT

Re: DU2: STR + CMT

od Kubees » 17. 11. 2009 20:34

No jasne, slo o tu mezeru. Diky moc!

Re: DU2: STR + CMT

od Him » 17. 11. 2009 15:44

Toto mi funguje:

Kód: Vybrat vše

<STR>'	{
			BEGIN(INITIAL);
                        /* smthing */
		}
mezi apostrofem a <STR> se nepise mezera.

DU2: STR + CMT

od Kubees » 17. 11. 2009 14:52

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?

Nahoru