bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH for Dlang support 1/2] d: change the return value of yylex fr


From: Adela Vais
Subject: Re: [PATCH for Dlang support 1/2] d: change the return value of yylex from TokenKind to YYParser.Symbol
Date: Fri, 20 Nov 2020 20:42:50 +0200

Hello H. S.,

În vin., 20 nov. 2020 la 20:31, H. S. Teoh <hsteoh@quickfur.ath.cx> a scris:

> Hi Adela,
>
> On Fri, Nov 20, 2020 at 04:40:54PM +0200, Adela Vais wrote:
> [...]
> > +      case '+':  return Calc.Symbol(TokenKind.PLUS, new
> YYLocation(startPos, endPos));
> > +      case '-':  return Calc.Symbol(TokenKind.MINUS, new
> YYLocation(startPos, endPos));
> > +      case '*':  return Calc.Symbol(TokenKind.STAR, new
> YYLocation(startPos, endPos));
> > +      case '/':  return Calc.Symbol(TokenKind.SLASH, new
> YYLocation(startPos, endPos));
> > +      case '(':  return Calc.Symbol(TokenKind.LPAR, new
> YYLocation(startPos, endPos));
> > +      case ')':  return Calc.Symbol(TokenKind.RPAR, new
> YYLocation(startPos, endPos));
>
> Is YYLocation a struct?  If so, you should not use `new`, because that
> incurs a GC allocation per construction.
>
> If not, it probably should be made one, since as far as I can tell it's
> only used for storing a start/end point for position, is not
> polymorphic, and therefore does not need to be a class.
>

I took into account what we discussed, this is commit 1/2, the above change
is in commit 2/2. Thank you again for your help!
Should I make a squash with these 2 commits? I was thinking that they focus
on different things and this is why I kept them separate.

Adela


>
> [...]
> > +        return Calc.Symbol(TokenKind.EOL, new YYLocation(startPos,
> endPos));
> [...]
>
> Ditto.
>
>
> --T
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]