[RFC 0/4] perf expr: Add flex scanner

From: Jiri Olsa
Date: Fri Feb 21 2020 - 18:19:49 EST


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?


Available also in:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/metric_flex

thanks,
jirka


---
Jiri Olsa (4):
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

tools/perf/tests/expr.c | 6 ++--
tools/perf/util/Build | 11 +++++++-
tools/perf/util/expr.c | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools/perf/util/expr.h | 8 ++----
tools/perf/util/expr.l | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
tools/perf/util/expr.y | 185 +++++++++++++++++++++----------------------------------------------------------------------------------------------------
tools/perf/util/stat-shadow.c | 4 +--
7 files changed, 242 insertions(+), 166 deletions(-)
create mode 100644 tools/perf/util/expr.c
create mode 100644 tools/perf/util/expr.l