Remove the Ada DOT_ALL token
The Ada parser has a DOT_ALL token to represent ".all", and another token to represent other ".<identifier>" forms. However, for completion it is a bit more convenient to unify these cases, so this patch removes DOT_ALL.
This commit is contained in:
parent
67700be286
commit
02a8d05fc6
2 changed files with 9 additions and 11 deletions
|
@ -448,8 +448,6 @@ make_tick_completer (struct stoken tok)
|
||||||
%type <bval> block
|
%type <bval> block
|
||||||
%type <lval> arglist tick_arglist
|
%type <lval> arglist tick_arglist
|
||||||
|
|
||||||
%token DOT_ALL
|
|
||||||
|
|
||||||
/* Special type cases, put in to allow the parser to distinguish different
|
/* Special type cases, put in to allow the parser to distinguish different
|
||||||
legal basetypes. */
|
legal basetypes. */
|
||||||
%token <sval> DOLLAR_VARIABLE
|
%token <sval> DOLLAR_VARIABLE
|
||||||
|
@ -477,7 +475,7 @@ make_tick_completer (struct stoken tok)
|
||||||
/* The following are right-associative only so that reductions at this
|
/* The following are right-associative only so that reductions at this
|
||||||
precedence have lower precedence than '.' and '('. The syntax still
|
precedence have lower precedence than '.' and '('. The syntax still
|
||||||
forces a.b.c, e.g., to be LEFT-associated. */
|
forces a.b.c, e.g., to be LEFT-associated. */
|
||||||
%right '.' '(' '[' DOT_ID DOT_ALL
|
%right '.' '(' '[' DOT_ID
|
||||||
|
|
||||||
%token NEW OTHERS
|
%token NEW OTHERS
|
||||||
|
|
||||||
|
@ -506,15 +504,17 @@ exp1 : exp
|
||||||
;
|
;
|
||||||
|
|
||||||
/* Expressions, not including the sequencing operator. */
|
/* Expressions, not including the sequencing operator. */
|
||||||
primary : primary DOT_ALL
|
|
||||||
{ ada_wrap<ada_unop_ind_operation> (); }
|
|
||||||
;
|
|
||||||
|
|
||||||
primary : primary DOT_ID
|
primary : primary DOT_ID
|
||||||
{
|
{
|
||||||
operation_up arg = ada_pop ();
|
if (strcmp ($2.ptr, "all") == 0)
|
||||||
pstate->push_new<ada_structop_operation>
|
ada_wrap<ada_unop_ind_operation> ();
|
||||||
(std::move (arg), copy_name ($2));
|
else
|
||||||
|
{
|
||||||
|
operation_up arg = ada_pop ();
|
||||||
|
pstate->push_new<ada_structop_operation>
|
||||||
|
(std::move (arg), copy_name ($2));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
@ -289,8 +289,6 @@ false { return FALSEKEYWORD; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
"."{WHITE}*all { return DOT_ALL; }
|
|
||||||
|
|
||||||
"."{WHITE}*{ID} {
|
"."{WHITE}*{ID} {
|
||||||
yylval.sval = processId (yytext+1, yyleng-1);
|
yylval.sval = processId (yytext+1, yyleng-1);
|
||||||
return DOT_ID;
|
return DOT_ID;
|
||||||
|
|
Loading…
Add table
Reference in a new issue