kconfig: stop associating kconf_id with yylval
[carl9170fw.git] / config / zconf.l
index 81c1f40cdee6262a04e6f2e7bbd7301f23cede15..1cf9ac42806f09fcfcbc0ca6ab9ba4a55ed9767b 100644 (file)
@@ -104,23 +104,22 @@ n [A-Za-z0-9_-]
                current_pos.lineno = yylineno;
                if (id && id->flags & TF_COMMAND) {
                        BEGIN(PARAM);
-                       yylval.id = id;
                        return id->token;
                }
                alloc_string(yytext, yyleng);
                yylval.string = text;
-               return T_VARIABLE;
+               return T_WORD;
        }
        ({n}|$)+        {
                /* this token includes at least one '$' */
                yylval.string = expand_token(yytext, yyleng);
                if (strlen(yylval.string))
-                       return T_VARIABLE;
+                       return T_WORD;
                free(yylval.string);
        }
-       "="     { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_RECURSIVE; return T_ASSIGN; }
-       ":="    { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_SIMPLE; return T_ASSIGN; }
-       "+="    { BEGIN(ASSIGN_VAL); yylval.flavor = VAR_APPEND; return T_ASSIGN; }
+       "="     { BEGIN(ASSIGN_VAL); return T_EQUAL; }
+       ":="    { BEGIN(ASSIGN_VAL); return T_COLON_EQUAL; }
+       "+="    { BEGIN(ASSIGN_VAL); return T_PLUS_EQUAL; }
        [[:blank:]]+
        .       warn_ignored_character(*yytext);
        \n      {
@@ -160,17 +159,16 @@ n [A-Za-z0-9_-]
                BEGIN(STRING);
        }
        \n      BEGIN(INITIAL); return T_EOL;
-       ({n}|[/.])+     {
+       {n}+    {
                const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
                if (id && id->flags & TF_PARAM) {
-                       yylval.id = id;
                        return id->token;
                }
                alloc_string(yytext, yyleng);
                yylval.string = text;
                return T_WORD;
        }
-       ({n}|[/.$])+    {
+       ({n}|$)+        {
                /* this token includes at least one '$' */
                yylval.string = expand_token(yytext, yyleng);
                if (strlen(yylval.string))