podla mna to zbytocne komplikujes. neverim ze niektory cviciaci by ziadal neviem ake sialene retazce, pretoze cielom tohto druheho zadania nie je lex analyza (a takto sa zbytocne zabijes na lexikalnej analyze). co som pozeral zadanie, vsetko co je o retazci zadane, je ze ma zacinat malym pismenom tj. a-z, z toho podla mna vyplyva, ze mozes lex analyzu spravit tak, ze string bude zacinat znakom a-z, a bude interpretovat vstup ako sucast retazca, pokial tam budu znaky z tej mnoziny. krasne zlozito som sa vyjadril, ale cielom bolo povedat, ze retazec moze byt takyto: [a-z]{a-z} (tj ze sa sklada iba z malych znakov), resp. ak chces tak [a-z]{a-zA-Z}. do getsymbol ti staci v default vetve otestovat po tom co sa testuje vstup na cislo rovnako testovat vstup na znak a-z (a citat znaky kym su tam znaky a-z).
napr. nieco na tento sposob:
default : if (c >='0' && c <= '9')
{ // celé číslo } else
if (c >='a' && c <= 'z') {
....
while(c>='a' && c<='z') // popr. while( (c>='a' && c<='z') || (c>='A' && c<='Z') ) - to sa mozno daj aj jednoduchsie v ASCII ale nepamatam sa a nechce sa mi googlit ako vyzera ASCII
....
}
Ak si si nie isty, tak si to kludne over u cviciaceho, ale osobne si myslim ze s tym problem ziadny cviciaci mat nebude, lebo ako vravim, nie je zamerom zatazovat vas sialenymi kodmi pre lexikalnu analyzu.