}
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 {
}
<PARAM>{
+ "modules" return T_MODULES;
+ "defconfig_list" return T_DEFCONFIG_LIST;
+ "allnoconfig_y" return T_ALLNOCONFIG_Y;
"&&" return T_AND;
"||" return T_OR;
"(" return T_OPEN_PAREN;
\\\n ;
[[:blank:]]+
. warn_ignored_character(*yytext);
- <<EOF>> {
- BEGIN(INITIAL);
- }
}
<STRING>{
}
<<EOF>> {
+ BEGIN(INITIAL);
+
+ if (prev_token != T_EOL && prev_token != T_HELPTEXT)
+ fprintf(stderr, "%s:%d:warning: no new line at end of file\n",
+ current_file->name, yylineno);
+
if (current_file) {
zconf_endfile();
return T_EOL;