mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Remove "column 1" restriction for local labels
Because a local symbol is necessarily a label, the disambiguation is not necessary. This is a first step towards fixing #457.
This commit is contained in:
@@ -555,7 +555,6 @@ static void strsubUTF8(char *dest, const char *src, uint32_t pos, uint32_t len)
|
||||
%left NEG /* negation -- unary minus */
|
||||
|
||||
%token <tzSym> T_LABEL
|
||||
%token <tzSym> T_LOCAL_LABEL
|
||||
%type <tzSym> scoped_label
|
||||
%type <tzSym> scoped_label_bare
|
||||
%token <tzSym> T_ID
|
||||
@@ -671,12 +670,12 @@ line : label
|
||||
scoped_label_bare : T_LABEL {
|
||||
warning(WARNING_OBSOLETE, "Non-local labels without a colon are deprecated");
|
||||
}
|
||||
| T_LOCAL_LABEL
|
||||
| T_LOCAL_ID
|
||||
;
|
||||
scoped_label : T_LABEL ':' {
|
||||
strcpy($$, $1);
|
||||
}
|
||||
| T_LOCAL_LABEL ':' {
|
||||
| T_LOCAL_ID ':' {
|
||||
strcpy($$, $1);
|
||||
}
|
||||
;
|
||||
|
||||
@@ -905,12 +905,8 @@ scanagain:
|
||||
if (type == T_ID && strchr(yylval.tzSym, '.'))
|
||||
type = T_LOCAL_ID;
|
||||
|
||||
if (linestart) {
|
||||
if (type == T_ID)
|
||||
return T_LABEL;
|
||||
if (type == T_LOCAL_ID)
|
||||
return T_LOCAL_LABEL;
|
||||
}
|
||||
if (linestart && type == T_ID)
|
||||
return T_LABEL;
|
||||
return type;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user