1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
%{
#include <string.h>
#include "mp3cue.h"
#include "mp3cue-y.tab.h"
extern int lc;
%}
%%
[0-9]+ { yylval.number = atoi(yytext); return NUMBER; }
[ \t] ;
\r\n { lc++; return NEWLINE; }
\n { lc++; return NEWLINE; }
\"[^\n\"]+\" { int len = strlen(yytext) - 1;
if (len > 0)
yytext[len] = 0;
strncpy(yylval.string, yytext+1, MP3CUE_MAX_STRING_LENGTH);
return STRING;
}
"PERFORMER" return PERFORMER;
"FILE" return FILEID;
"TRACK" return TRACK;
"INDEX" return INDEX;
"AUDIO" return AUDIO;
"TITLE" return TITLE;
"CATALOG" return CATALOG;
"ISRC" return ISRC;
[a-zA-Z0-9]+ {
strncpy(yylval.string, yytext, MP3CUE_MAX_STRING_LENGTH);
return STRING;
}
: return COLON;
%%
|