#include <string.h>
 #include <linux/zalloc.h>
 
-static int test(struct parse_ctx *ctx, const char *e, double val2)
+static int test(struct expr_parse_ctx *ctx, const char *e, double val2)
 {
        double val;
 
        const char **other;
        double val;
        int i, ret;
-       struct parse_ctx ctx;
+       struct expr_parse_ctx ctx;
        int num_other;
 
        expr__ctx_init(&ctx);
 
 #endif
 
 /* Caller must make sure id is allocated */
-void expr__add_id(struct parse_ctx *ctx, const char *name, double val)
+void expr__add_id(struct expr_parse_ctx *ctx, const char *name, double val)
 {
        int idx;
 
        ctx->ids[idx].val = val;
 }
 
-void expr__ctx_init(struct parse_ctx *ctx)
+void expr__ctx_init(struct expr_parse_ctx *ctx)
 {
        ctx->num_ids = 0;
 }
 
 static int
-__expr__parse(double *val, struct parse_ctx *ctx, const char *expr,
+__expr__parse(double *val, struct expr_parse_ctx *ctx, const char *expr,
              int start)
 {
        YY_BUFFER_STATE buffer;
        return ret;
 }
 
-int expr__parse(double *final_val, struct parse_ctx *ctx, const char *expr)
+int expr__parse(double *final_val, struct expr_parse_ctx *ctx, const char *expr)
 {
        return __expr__parse(final_val, ctx, expr, EXPR_PARSE) ? -1 : 0;
 }
                     int *num_other)
 {
        int err, i = 0, j = 0;
-       struct parse_ctx ctx;
+       struct expr_parse_ctx ctx;
 
        expr__ctx_init(&ctx);
        err = __expr__parse(NULL, &ctx, expr, EXPR_OTHER);
 
 #define EXPR_MAX_OTHER 20
 #define MAX_PARSE_ID EXPR_MAX_OTHER
 
-struct parse_id {
+struct expr_parse_id {
        const char *name;
        double val;
 };
 
-struct parse_ctx {
+struct expr_parse_ctx {
        int num_ids;
-       struct parse_id ids[MAX_PARSE_ID];
+       struct expr_parse_id ids[MAX_PARSE_ID];
 };
 
-void expr__ctx_init(struct parse_ctx *ctx);
-void expr__add_id(struct parse_ctx *ctx, const char *id, double val);
-int expr__parse(double *final_val, struct parse_ctx *ctx, const char *expr);
+void expr__ctx_init(struct expr_parse_ctx *ctx);
+void expr__add_id(struct expr_parse_ctx *ctx, const char *id, double val);
+int expr__parse(double *final_val, struct expr_parse_ctx *ctx, const char *expr);
 int expr__find_other(const char *expr, const char *one, const char ***other,
                int *num_other);
 
 
 %define api.pure full
 
 %parse-param { double *final_val }
-%parse-param { struct parse_ctx *ctx }
+%parse-param { struct expr_parse_ctx *ctx }
 %parse-param {void *scanner}
 %lex-param {void* scanner}
 
 
 %{
 static void expr_error(double *final_val __maybe_unused,
-                      struct parse_ctx *ctx __maybe_unused,
+                      struct expr_parse_ctx *ctx __maybe_unused,
                       void *scanner,
                       const char *s)
 {
        pr_debug("%s\n", s);
 }
 
-static int lookup_id(struct parse_ctx *ctx, char *id, double *val)
+static int lookup_id(struct expr_parse_ctx *ctx, char *id, double *val)
 {
        int i;
 
 
                           struct runtime_stat *st)
 {
        print_metric_t print_metric = out->print_metric;
-       struct parse_ctx pctx;
+       struct expr_parse_ctx pctx;
        double ratio, scale;
        int i;
        void *ctxp = out->ctx;