[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for Dlang support] d: change the return value of yylex() from
From: |
Akim Demaille |
Subject: |
Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind |
Date: |
Sat, 12 Sep 2020 17:18:25 +0200 |
Hi Adela,
> Le 11 sept. 2020 à 15:09, Adela Vais <adela.vais99@gmail.com> a écrit :
>
> * data/skeletons/lalr1.d: Change return value.
> * examples/d/calc/calc.y, examples/d/simple/calc.y: Adjust.
This commit fails the test suite too, since the test suite is
still using int for yylex's return value.
As a matter of fact, the TODO had a question:
** Change the return value of yylex
Historically people were allowed to return any int from the scanner (which
is convenient and allows `return '+'` from the scanner). Akim tends to see
this as an error, we should restrict the return values to TokenKind (not to
be confused with SymbolKind).
In the case of D, without the history, we have the choice to support or not
`int`. If we want to _keep_ `int`, is there a way, say via introspection,
to support both signatures of yylex? If we don't keep `int`, just move to
TokenKind.
I was really curious to know if D's introspection made it possible to
support both signatures. If it can't, or if we consider returning an
int is not right, then, sure, your commit (once the test suite issue
addressed) is the right path.
In case you're wondering where the test suite's yoles is coming from,
m4_define([AT_CALC_YYLEX(d)],...
in tests/calc.at.
Cheers!
- [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, Adela Vais, 2020/09/11
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind,
Akim Demaille <=
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, Adela Vais, 2020/09/16
- Re: d: change the return value of yylex() from int to TokenKind, Akim Demaille, 2020/09/19
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, Akim Demaille, 2020/09/26
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, Adela Vais, 2020/09/28
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, Akim Demaille, 2020/09/28
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, Adela Vais, 2020/09/28
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, edi33416, 2020/09/28
- Re: [PATCH for Dlang support] d: change the return value of yylex() from int to TokenKind, H. S. Teoh, 2020/09/28