Re: [PATCHv2 0/5] perf expr: Add flex scanner

From: Jiri Olsa
Date: Thu Feb 27 2020 - 07:10:14 EST


On Mon, Feb 24, 2020 at 09:29:13AM +0100, Jiri Olsa wrote:
> hi,
> while preparing changes for user defined metric expressions
> I also moved the expression manual parser to flex.
>
> The reason is to have an easy and reasonable way to support
> and parse multiple user-defined metric expressions from
> command line or file.
>
> I was posponing the change, but I just saw another update to
> the expr manual scanner (from Kajol Jain), so cherry picked
> just the expr flex code changes to get it out.
>
> Kajol Jain,
> I think it should ease up your change for unknown values marked
> by '?'. Would you consider rebasing your changes on top of this?
>
>

kajoljain found and issue in this one, I'll send v3 as
soon as he confirms the fix

jirka


> v2 changes:
> - handle special chars properly
> - fix return value for expr__parse
>
> Available also in:
> git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
> perf/metric_flex
>
> thanks,
> jirka
>
>
> ---
> Jiri Olsa (5):
> perf expr: Add expr.c object
> perf expr: Move expr lexer to flex
> perf expr: Increase EXPR_MAX_OTHER
> perf expr: Straighten expr__parse/expr__find_other interface
> perf expr: Make expr__parse return -1 on error
>
> tools/perf/tests/expr.c | 10 +++---
> tools/perf/util/Build | 11 ++++++-
> tools/perf/util/expr.c | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> tools/perf/util/expr.h | 8 ++---
> tools/perf/util/expr.l | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++
> tools/perf/util/expr.y | 208 ++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------
> tools/perf/util/stat-shadow.c | 4 +--
> 7 files changed, 272 insertions(+), 168 deletions(-)
> create mode 100644 tools/perf/util/expr.c
> create mode 100644 tools/perf/util/expr.l
>