Take the 2-minute tour ×  OK, so here is the deal.  In my
language I have some commands, say  XYZ 3 5 GGB 8 9 HDH 8783 33
And in my Lex file  XYZ { return XYZ; } GGB { return GGB; } HDH
{ return HDH; } [0-9]+ { yylval.ival = atoi(yytext); return
NUMBER; } \n  { return EOL; }  In my yacc file  start : commands
commands : command          | command EOL commands      command
: xyz             | ggb             | hdh      xyz : XYZ NUMBER
NUMBER { /* Do something with the numbers */ }      etc. etc.
etc. etc.  My question is, how can I get the entire text  XYZ 3
5 GGB 8 9 HDH 8783 33  Into commands while still returning the
NUMBERs?  Also when my Lex returns a STRING [0-9a-zA-Z]+, and I
want to do verification on it's length, should I do it like
rule: STRING STRING { if (strlen($1) < 5 ) /* Do some shit else
error */ }  or actually have a token in my Lex that returns
different tokens depending on length?  share|improve this
question add comment  3 Answers  If I've understood your first
question correctly, you