projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
kconfig: Clarify choice dependency propagation
[carl9170fw.git]
/
config
/
zconf.l
diff --git
a/config/zconf.l
b/config/zconf.l
index a2b289519df6139ca2f029e50dba256d2f3b57b3..3200318fbf49f179c038efc4a20ce5c1025d990d 100644
(file)
--- a/
config/zconf.l
+++ b/
config/zconf.l
@@
-27,8
+27,8
@@
static char *text;
static int text_size, text_asize;
struct buffer {
static int text_size, text_asize;
struct buffer {
-
struct buffer *parent;
-
YY_BUFFER_STATE state;
+ struct buffer *parent;
+ YY_BUFFER_STATE state;
};
struct buffer *current_buf;
};
struct buffer *current_buf;
@@
-40,7
+40,7
@@
static void zconf_endfile(void);
static void new_string(void)
{
static void new_string(void)
{
- text = malloc(START_STRSIZE);
+ text =
x
malloc(START_STRSIZE);
text_asize = START_STRSIZE;
text_size = 0;
*text = 0;
text_asize = START_STRSIZE;
text_size = 0;
*text = 0;
@@
-62,14
+62,20
@@
static void append_string(const char *str, int size)
static void alloc_string(const char *str, int size)
{
static void alloc_string(const char *str, int size)
{
- text = malloc(size + 1);
+ text =
x
malloc(size + 1);
memcpy(text, str, size);
text[size] = 0;
}
memcpy(text, str, size);
text[size] = 0;
}
+
+static void warn_ignored_character(char chr)
+{
+ fprintf(stderr,
+ "%s:%d:warning: ignoring unsupported character '%c'\n",
+ zconf_curname(), zconf_lineno(), chr);
+}
%}
%}
-ws [ \n\t]
-n [A-Za-z0-9_]
+n [A-Za-z0-9_-]
%%
int str = 0;
%%
int str = 0;
@@
-100,14
+106,14
@@
n [A-Za-z0-9_]
current_pos.file = current_file;
current_pos.lineno = current_file->lineno;
if (id && id->flags & TF_COMMAND) {
current_pos.file = current_file;
current_pos.lineno = current_file->lineno;
if (id && id->flags & TF_COMMAND) {
-
zconf
lval.id = id;
+
yy
lval.id = id;
return id->token;
}
alloc_string(yytext, yyleng);
return id->token;
}
alloc_string(yytext, yyleng);
-
zconf
lval.string = text;
+
yy
lval.string = text;
return T_WORD;
}
return T_WORD;
}
- .
+ .
warn_ignored_character(*yytext);
\n {
BEGIN(INITIAL);
current_file->lineno++;
\n {
BEGIN(INITIAL);
current_file->lineno++;
@@
-123,26
+129,30
@@
n [A-Za-z0-9_]
"!" return T_NOT;
"=" return T_EQUAL;
"!=" return T_UNEQUAL;
"!" return T_NOT;
"=" return T_EQUAL;
"!=" return T_UNEQUAL;
+ "<=" return T_LESS_EQUAL;
+ ">=" return T_GREATER_EQUAL;
+ "<" return T_LESS;
+ ">" return T_GREATER;
\"|\' {
str = yytext[0];
new_string();
BEGIN(STRING);
}
\n BEGIN(INITIAL); current_file->lineno++; return T_EOL;
\"|\' {
str = yytext[0];
new_string();
BEGIN(STRING);
}
\n BEGIN(INITIAL); current_file->lineno++; return T_EOL;
- --- /* ignore */
- ({n}|[-/.])+ {
+ ({n}|[/.])+ {
const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
if (id && id->flags & TF_PARAM) {
const struct kconf_id *id = kconf_id_lookup(yytext, yyleng);
if (id && id->flags & TF_PARAM) {
-
zconf
lval.id = id;
+
yy
lval.id = id;
return id->token;
}
alloc_string(yytext, yyleng);
return id->token;
}
alloc_string(yytext, yyleng);
-
zconf
lval.string = text;
+
yy
lval.string = text;
return T_WORD;
}
#.* /* comment */
\\\n current_file->lineno++;
return T_WORD;
}
#.* /* comment */
\\\n current_file->lineno++;
- .
+ [[:blank:]]+
+ . warn_ignored_character(*yytext);
<<EOF>> {
BEGIN(INITIAL);
}
<<EOF>> {
BEGIN(INITIAL);
}
@@
-151,7
+161,7
@@
n [A-Za-z0-9_]
<STRING>{
[^'"\\\n]+/\n {
append_string(yytext, yyleng);
<STRING>{
[^'"\\\n]+/\n {
append_string(yytext, yyleng);
-
zconf
lval.string = text;
+
yy
lval.string = text;
return T_WORD_QUOTE;
}
[^'"\\\n]+ {
return T_WORD_QUOTE;
}
[^'"\\\n]+ {
@@
-159,7
+169,7
@@
n [A-Za-z0-9_]
}
\\.?/\n {
append_string(yytext + 1, yyleng - 1);
}
\\.?/\n {
append_string(yytext + 1, yyleng - 1);
-
zconf
lval.string = text;
+
yy
lval.string = text;
return T_WORD_QUOTE;
}
\\.? {
return T_WORD_QUOTE;
}
\\.? {
@@
-168,7
+178,7
@@
n [A-Za-z0-9_]
\'|\" {
if (str == yytext[0]) {
BEGIN(PARAM);
\'|\" {
if (str == yytext[0]) {
BEGIN(PARAM);
-
zconf
lval.string = text;
+
yy
lval.string = text;
return T_WORD_QUOTE;
} else
append_string(yytext, 1);
return T_WORD_QUOTE;
} else
append_string(yytext, 1);
@@
-251,7
+261,7
@@
void zconf_starthelp(void)
static void zconf_endhelp(void)
{
static void zconf_endhelp(void)
{
-
zconf
lval.string = text;
+
yy
lval.string = text;
BEGIN(INITIAL);
}
BEGIN(INITIAL);
}
@@
-288,7
+298,7
@@
void zconf_initscan(const char *name)
exit(1);
}
exit(1);
}
- current_buf = malloc(sizeof(*current_buf));
+ current_buf =
x
malloc(sizeof(*current_buf));
memset(current_buf, 0, sizeof(*current_buf));
current_file = file_lookup(name);
memset(current_buf, 0, sizeof(*current_buf));
current_file = file_lookup(name);
@@
-299,7
+309,7
@@
void zconf_nextfile(const char *name)
{
struct file *iter;
struct file *file = file_lookup(name);
{
struct file *iter;
struct file *file = file_lookup(name);
- struct buffer *buf = malloc(sizeof(*buf));
+ struct buffer *buf =
x
malloc(sizeof(*buf));
memset(buf, 0, sizeof(*buf));
current_buf->state = YY_CURRENT_BUFFER;
memset(buf, 0, sizeof(*buf));
current_buf->state = YY_CURRENT_BUFFER;