perf callchain: Per-event type selection support
[cascardo/linux.git] / tools / perf / util / parse-events.l
index 09e738f..936d566 100644 (file)
@@ -119,8 +119,8 @@ event               [^,{}/]+
 num_dec                [0-9]+
 num_hex                0x[a-fA-F0-9]+
 num_raw_hex    [a-fA-F0-9]+
-name           [a-zA-Z_*?][a-zA-Z0-9_*?]*
-name_minus     [a-zA-Z_*?][a-zA-Z0-9\-_*?]*
+name           [a-zA-Z_*?][a-zA-Z0-9_*?.]*
+name_minus     [a-zA-Z_*?][a-zA-Z0-9\-_*?.]*
 /* If you add a modifier you need to update check_modifier() */
 modifier_event [ukhpGHSDI]+
 modifier_bp    [rwx]{1,3}
@@ -165,7 +165,6 @@ modifier_bp [rwx]{1,3}
                        return PE_EVENT_NAME;
                }
 
-.              |
 <<EOF>>                {
                        BEGIN(INITIAL);
                        REWIND(0);
@@ -183,7 +182,11 @@ config1                    { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG1); }
 config2                        { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CONFIG2); }
 name                   { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_NAME); }
 period                 { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_SAMPLE_PERIOD); }
+freq                   { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_SAMPLE_FREQ); }
 branch_type            { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_BRANCH_SAMPLE_TYPE); }
+time                   { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_TIME); }
+call-graph             { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_CALLGRAPH); }
+stack-size             { return term(yyscanner, PARSE_EVENTS__TERM_TYPE_STACKSIZE); }
 ,                      { return ','; }
 "/"                    { BEGIN(INITIAL); return '/'; }
 {name_minus}           { return str(yyscanner, PE_NAME); }