dtc: allow a label: in any dts context
Change the lexer to recognise a label in any context. Place before other celldata and bytestrings to avoid the initial characters being stolen by other matches. A label is a character sequence starting with an alphabetic or underscore optinally followed by the same plus digits and terminating in a colon. The included terminating colon will prevent matching hex numbers. Signed-off-by: Milton Miller <miltonm@bga.com>main
parent
46779e8f8e
commit
ac6a5e26b4
19
dtc-lexer.l
19
dtc-lexer.l
|
@ -107,6 +107,16 @@ REFCHAR ({PROPCHAR}|{UNITCHAR}|[/@])
|
|||
BEGIN(INITIAL);
|
||||
return ';';
|
||||
}
|
||||
|
||||
<*>[a-zA-Z_][a-zA-Z0-9_]*: {
|
||||
yylloc.filenum = srcpos_filenum;
|
||||
yylloc.first_line = yylineno;
|
||||
DPRINT("Label: %s\n", yytext);
|
||||
yylval.str = strdup(yytext);
|
||||
yylval.str[yyleng-1] = '\0';
|
||||
return DT_LABEL;
|
||||
}
|
||||
|
||||
<CELLDATA>[bodh]# {
|
||||
yylloc.filenum = srcpos_filenum;
|
||||
yylloc.first_line = yylineno;
|
||||
|
@ -189,15 +199,6 @@ REFCHAR ({PROPCHAR}|{UNITCHAR}|[/@])
|
|||
}
|
||||
|
||||
|
||||
[a-zA-Z_][a-zA-Z0-9_]*: {
|
||||
yylloc.filenum = srcpos_filenum;
|
||||
yylloc.first_line = yylineno;
|
||||
DPRINT("Label: %s\n", yytext);
|
||||
yylval.str = strdup(yytext);
|
||||
yylval.str[yyleng-1] = '\0';
|
||||
return DT_LABEL;
|
||||
}
|
||||
|
||||
<*>{WS}+ /* eat whitespace */
|
||||
|
||||
<*>"/*"([^*]|\*+[^*/])*\*+"/" {
|
||||
|
|
Loading…
Reference in New Issue