File: mp3cue.l

package info (click to toggle)
poc-streamer 0.4.2-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,000 kB
  • sloc: ansic: 8,782; makefile: 307; ruby: 152; perl: 135; yacc: 115; lex: 36; sh: 30
file content (36 lines) | stat: -rw-r--r-- 682 bytes parent folder | download | duplicates (5)
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;

%%