parse-events.l (6fd1e5191591f9d55afe4d23fa35af2a5cf8f81f) parse-events.l (5ea8f2ccffb23983f02012a2731464586b10fbf3)
1
2%option reentrant
3%option bison-bridge
4%option prefix="parse_events_"
5%option stack
6%option bison-locations
7%option yylineno
8%option reject

--- 135 unchanged lines hidden (view full) ---

144static int term(yyscan_t scanner, int type)
145{
146 YYSTYPE *yylval = parse_events_get_lval(scanner);
147
148 yylval->num = type;
149 return PE_TERM;
150}
151
1
2%option reentrant
3%option bison-bridge
4%option prefix="parse_events_"
5%option stack
6%option bison-locations
7%option yylineno
8%option reject

--- 135 unchanged lines hidden (view full) ---

144static int term(yyscan_t scanner, int type)
145{
146 YYSTYPE *yylval = parse_events_get_lval(scanner);
147
148 yylval->num = type;
149 return PE_TERM;
150}
151
152static int hw_term(yyscan_t scanner, int config)
153{
154 YYSTYPE *yylval = parse_events_get_lval(scanner);
155 char *text = parse_events_get_text(scanner);
156
157 yylval->hardware_term.str = strdup(text);
158 yylval->hardware_term.num = PERF_TYPE_HARDWARE + config;
159 return PE_TERM_HW;
160}
161
152#define YY_USER_ACTION \
153do { \
154 yylloc->last_column = yylloc->first_column; \
155 yylloc->first_column = yycolumn; \
156 yycolumn += yyleng; \
157} while (0);
158
159#define USER_REJECT \

--- 104 unchanged lines hidden (view full) ---

264inherit { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_INHERIT); }
265no-inherit { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_NOINHERIT); }
266overwrite { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_OVERWRITE); }
267no-overwrite { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_NOOVERWRITE); }
268percore { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_PERCORE); }
269aux-output { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_OUTPUT); }
270aux-sample-size { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_SAMPLE_SIZE); }
271metric-id { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_METRIC_ID); }
162#define YY_USER_ACTION \
163do { \
164 yylloc->last_column = yylloc->first_column; \
165 yylloc->first_column = yycolumn; \
166 yycolumn += yyleng; \
167} while (0);
168
169#define USER_REJECT \

--- 104 unchanged lines hidden (view full) ---

274inherit { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_INHERIT); }
275no-inherit { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_NOINHERIT); }
276overwrite { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_OVERWRITE); }
277no-overwrite { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_NOOVERWRITE); }
278percore { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_PERCORE); }
279aux-output { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_OUTPUT); }
280aux-sample-size { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_AUX_SAMPLE_SIZE); }
281metric-id { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_METRIC_ID); }
282cpu-cycles|cycles { return hw_term(yyscanner, PERF_COUNT_HW_CPU_CYCLES); }
283stalled-cycles-frontend|idle-cycles-frontend { return hw_term(yyscanner, PERF_COUNT_HW_STALLED_CYCLES_FRONTEND); }
284stalled-cycles-backend|idle-cycles-backend { return hw_term(yyscanner, PERF_COUNT_HW_STALLED_CYCLES_BACKEND); }
285instructions { return hw_term(yyscanner, PERF_COUNT_HW_INSTRUCTIONS); }
286cache-references { return hw_term(yyscanner, PERF_COUNT_HW_CACHE_REFERENCES); }
287cache-misses { return hw_term(yyscanner, PERF_COUNT_HW_CACHE_MISSES); }
288branch-instructions|branches { return hw_term(yyscanner, PERF_COUNT_HW_BRANCH_INSTRUCTIONS); }
289branch-misses { return hw_term(yyscanner, PERF_COUNT_HW_BRANCH_MISSES); }
290bus-cycles { return hw_term(yyscanner, PERF_COUNT_HW_BUS_CYCLES); }
291ref-cycles { return hw_term(yyscanner, PERF_COUNT_HW_REF_CPU_CYCLES); }
272r{num_raw_hex} { return str(yyscanner, PE_RAW); }
273r0x{num_raw_hex} { return str(yyscanner, PE_RAW); }
274, { return ','; }
275"/" { BEGIN(INITIAL); return '/'; }
276{lc_type} { return lc_str(yyscanner, _parse_state); }
277{lc_type}-{lc_op_result} { return lc_str(yyscanner, _parse_state); }
278{lc_type}-{lc_op_result}-{lc_op_result} { return lc_str(yyscanner, _parse_state); }
279{name_minus} { return str(yyscanner, PE_NAME); }

--- 79 unchanged lines hidden ---
292r{num_raw_hex} { return str(yyscanner, PE_RAW); }
293r0x{num_raw_hex} { return str(yyscanner, PE_RAW); }
294, { return ','; }
295"/" { BEGIN(INITIAL); return '/'; }
296{lc_type} { return lc_str(yyscanner, _parse_state); }
297{lc_type}-{lc_op_result} { return lc_str(yyscanner, _parse_state); }
298{lc_type}-{lc_op_result}-{lc_op_result} { return lc_str(yyscanner, _parse_state); }
299{name_minus} { return str(yyscanner, PE_NAME); }

--- 79 unchanged lines hidden ---