32 |
|
|
33 |
%option reentrant |
%option reentrant |
34 |
|
|
35 |
|
%x INSTRING |
36 |
|
|
37 |
DIGIT [0-9] |
DIGIT [0-9] |
38 |
|
|
39 |
%% |
%% |
41 |
" " { return SP; } |
" " { return SP; } |
42 |
\n { return LF; } |
\n { return LF; } |
43 |
\r { return CR; } |
\r { return CR; } |
44 |
|
"#" { return HASH; } |
45 |
|
"=" { return EQ; } |
46 |
("+"|"-")?{DIGIT}+"."{DIGIT}+ { yylval->Dotnum = atof(yytext); return DOTNUM; } |
("+"|"-")?{DIGIT}+"."{DIGIT}+ { yylval->Dotnum = atof(yytext); return DOTNUM; } |
47 |
ADD { return ADD; } |
ADD { return ADD; } |
48 |
GET { return GET; } |
GET { return GET; } |
49 |
|
CREATE { return CREATE; } |
50 |
|
DESTROY { return DESTROY; } |
51 |
|
LIST { return LIST; } |
52 |
LOAD { return LOAD; } |
LOAD { return LOAD; } |
53 |
|
NON_MODAL { return NON_MODAL; } |
54 |
REMOVE { return REMOVE; } |
REMOVE { return REMOVE; } |
55 |
SET { return SET; } |
SET { return SET; } |
56 |
SUBSCRIBE { return SUBSCRIBE; } |
SUBSCRIBE { return SUBSCRIBE; } |
58 |
CHANNEL { return CHANNEL; } |
CHANNEL { return CHANNEL; } |
59 |
NOTIFICATION { return NOTIFICATION; } |
NOTIFICATION { return NOTIFICATION; } |
60 |
AVAILABLE_ENGINES { return AVAILABLE_ENGINES; } |
AVAILABLE_ENGINES { return AVAILABLE_ENGINES; } |
61 |
|
AVAILABLE_AUDIO_OUTPUT_DRIVERS { return AVAILABLE_AUDIO_OUTPUT_DRIVERS; } |
62 |
CHANNELS { return CHANNELS; } |
CHANNELS { return CHANNELS; } |
63 |
INFO { return INFO; } |
INFO { return INFO; } |
64 |
BUFFER_FILL { return BUFFER_FILL; } |
BUFFER_FILL { return BUFFER_FILL; } |
66 |
VOICE_COUNT { return VOICE_COUNT; } |
VOICE_COUNT { return VOICE_COUNT; } |
67 |
INSTRUMENT { return INSTRUMENT; } |
INSTRUMENT { return INSTRUMENT; } |
68 |
ENGINE { return ENGINE; } |
ENGINE { return ENGINE; } |
69 |
|
AUDIO_OUTPUT_DEVICE { return AUDIO_OUTPUT_DEVICE; } |
70 |
|
AUDIO_OUTPUT_DEVICES { return AUDIO_OUTPUT_DEVICES; } |
71 |
|
AUDIO_OUTPUT_DEVICE_PARAMETER { return AUDIO_OUTPUT_DEVICE_PARAMETER; } |
72 |
|
AUDIO_OUTPUT_DRIVER { return AUDIO_OUTPUT_DRIVER; } |
73 |
|
AUDIO_OUTPUT_DRIVER_PARAMETER { return AUDIO_OUTPUT_DRIVER_PARAMETER; } |
74 |
AUDIO_OUTPUT_CHANNEL { return AUDIO_OUTPUT_CHANNEL; } |
AUDIO_OUTPUT_CHANNEL { return AUDIO_OUTPUT_CHANNEL; } |
75 |
|
AUDIO_OUTPUT_CHANNEL_PARAMETER { return AUDIO_OUTPUT_CHANNEL_PARAMETER; } |
76 |
AUDIO_OUTPUT_TYPE { return AUDIO_OUTPUT_TYPE; } |
AUDIO_OUTPUT_TYPE { return AUDIO_OUTPUT_TYPE; } |
77 |
MIDI_INPUT_PORT { return MIDI_INPUT_PORT; } |
MIDI_INPUT_PORT { return MIDI_INPUT_PORT; } |
78 |
MIDI_INPUT_CHANNEL { return MIDI_INPUT_CHANNEL; } |
MIDI_INPUT_CHANNEL { return MIDI_INPUT_CHANNEL; } |
80 |
VOLUME { return VOLUME; } |
VOLUME { return VOLUME; } |
81 |
BYTES { return BYTES; } |
BYTES { return BYTES; } |
82 |
PERCENTAGE { return PERCENTAGE; } |
PERCENTAGE { return PERCENTAGE; } |
|
ALSA { return ALSA; } |
|
|
JACK { return JACK; } |
|
83 |
RESET { return RESET; } |
RESET { return RESET; } |
84 |
|
MISCELLANEOUS { return MISCELLANEOUS; } |
85 |
QUIT { return QUIT; } |
QUIT { return QUIT; } |
86 |
0|([1-9]{DIGIT}*) { yylval->Number = atoi(yytext); return NUMBER; } |
0|([1-9]{DIGIT}*) { yylval->Number = atoi(yytext); return NUMBER; } |
87 |
|
"\'" { yylval->String = ""; BEGIN(INSTRING); } |
88 |
|
<INSTRING>[^\'\\]+ { yylval->String += yytext; } |
89 |
|
<INSTRING>"\\n" { yylval->String += '\n'; } |
90 |
|
<INSTRING>"\\r" { yylval->String += '\r'; } |
91 |
|
<INSTRING>"\\t" { yylval->String += '\t'; } |
92 |
|
<INSTRING>"\\\\" { yylval->String += '\\'; } |
93 |
|
<INSTRING>"\\\"" { yylval->String += '\"'; } |
94 |
|
<INSTRING>"\\\'" { yylval->String += '\''; } |
95 |
|
<INSTRING>"\\"[^nrt\"\\] { yylval->String += yytext; } |
96 |
|
<INSTRING>"\'" { BEGIN(INITIAL); return STRINGVAL; } |
97 |
. { yylval->Char = yytext[0]; return CHAR; } |
. { yylval->Char = yytext[0]; return CHAR; } |
98 |
|
|
99 |
%% |
%% |