diff options
Diffstat (limited to 'overlay')
-rw-r--r-- | overlay/tracepoint_format.leg | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/overlay/tracepoint_format.leg b/overlay/tracepoint_format.leg index 7a09149d..0db9a55f 100644 --- a/overlay/tracepoint_format.leg +++ b/overlay/tracepoint_format.leg @@ -1,28 +1,27 @@ TracepointFmt = - 'name' ':' Space n:PropertyName EndLine - { free(v.string); } - 'ID:' Space v:Number EndLine - { yy->ctx.tp->event_id = v.integer; } + 'name' ':' Space n:PropertyName EndLine { free(v.string); } + 'ID:' Space v:Number EndLine { yy->ctx.tp->event_id = v.integer; } 'format:' EndLine Field+ 'print fmt:' [^.]* !. -Field = Space (Property ';' Space)+ EndLine - { yy->ctx.tp->n_fields++; } - | EndLine +Field = Space (Property ';' Space)+ EndLine + { yy->ctx.tp->n_fields++; } + | EndLine -Property = 'offset' ':' v:Number - { yy->ctx.tp->fields[yy->ctx.tp->n_fields].offset = v.integer; } - | 'size' ':' v:Number - { yy->ctx.tp->fields[yy->ctx.tp->n_fields].size = v.integer; } - | 'signed' ':' v:Number - { yy->ctx.tp->fields[yy->ctx.tp->n_fields].is_signed = v.integer != 0; } - | 'field' ':' v:PropertyValue - { snprintf(yy->ctx.tp->fields[yy->ctx.tp->n_fields].name, - sizeof(yy->ctx.tp->fields[yy->ctx.tp->n_fields].name), - "%s", strrchr(v.string, ' ') + 1); free(v.string); } - | n:PropertyName ':' v:PropertyValue - { free(n.string); free(v.string); } +Property = 'offset' ':' v:Number + { yy->ctx.tp->fields[yy->ctx.tp->n_fields].offset = v.integer; } + | 'size' ':' v:Number + { yy->ctx.tp->fields[yy->ctx.tp->n_fields].size = v.integer; } + | 'signed' ':' v:Number + { yy->ctx.tp->fields[yy->ctx.tp->n_fields].is_signed = v.integer != 0; } + | 'field' ':' v:PropertyValue + { snprintf(yy->ctx.tp->fields[yy->ctx.tp->n_fields].name, + sizeof(yy->ctx.tp->fields[yy->ctx.tp->n_fields].name), + "%s", strrchr(v.string, ' ') + 1); + free(v.string); } + | n:PropertyName ':' v:PropertyValue + { free(n.string); free(v.string); } PropertyName = < [A-Za-z0-9_]+ > { $$.string = strdup(yytext); } |