Re: [ANN] ltokenp, a token processor for Lua
[
Date Prev][
Date Next][
Thread Prev][
Thread Next]
[
Date Index]
[
Thread Index]
- Subject: Re: [ANN] ltokenp, a token processor for Lua
- From: Hisham <h@...>
- Date: 2017年11月17日 10:11:48 -0200
On 17 November 2017 at 08:46, Luiz Henrique de Figueiredo
<lhf@tecgraf.puc-rio.br> wrote:
>> A safe table navigator symbol would be a fun thing to implement too.
>
> What do you mean?
tbl?.subtbl?.field
--> meaning (tbl or {}).(subtbl or {}).field
Not (easily*) doable with ltokenp because tbl can be an arbitrarily
long expression:
foo[bar?.baz](arg).x?.bla
--> meaning (foo[(bar or {}).baz](arg).x or {}).bla
To deal with expressions, you need an AST, which is what Metalua provides.
(* technically it is doable with ltokenp because one would have to
essentially consume an arbitrary number of the tokens and build an
AST, but then you are just reimplementing a subset of Metalua)
-- Hisham