[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua 5 Grammar update
- From: Philippe Lhoste <PhiLho@...>
- Date: Wed, 27 Jul 2005 09:53:08 +0200
Mike Pall wrote:
Short summary of the syntax differences between Lua 5.0 and 5.1:
- New right-assoc prefix operator SIZ: '*' expr
- New left-assoc infix operator MOD: expr '%' expr
- New VARARG expression: '...'
- Extended long strings: '[' '='* '[' longstring ']' '='* ']'
- Extended long comments: '--' '[' '='* '[' longcomment ']' '='* ']'
- The number of '=' must match up.
- Long strings and comments cannot be nested in 5.1.
Really? No nesting? I went to great lengths to support this nesting in
the Scintilla lexer, too bad it disappears...
Well, actually, I was worried how to manage nested counts of signs. It
would have been more difficult, indeed, unless using lot of (slow)
trackback, so it is actually easier this way...
But it can be annoying, at least for comments, with the classical (in C
language at least) problem of wanting to comment out a large section of
code already using block comments.
Falling back usually to the classical #if 0 or #ifdef DEACTIVATED...
What is the reason for this "regression"? Too difficult to parse, even
for the native Lua parser? Too confusing?
Mmm, did my job and searched the archive...
Gavin Wraith expressed the same concern in a 2005/05/19 message...
OK, if I understand correctly Roberto's answer, you cannot nest comments
of same level (same number of = signs) but you can nest comments of
different levels, ie. it is legal to write:
--[==[ Comment out large section of code
Foo()
print [[C:\Program Files\42.txt]]
Bar()
]==]
while you cannot write: a = [=[ Groo [=[ Stupid ]=] Wanderer ]=]
Am I right? This make sense!
Is [=[ Blah [==[ Hoops ]==] Goo ]=] legal? I suppose so, I guess levels
are just for differentiation, not for deepness.
OK, so I must find a trick to support 5.1 in Scintilla lexer for Lua...
--
Philippe Lhoste
-- (near) Paris -- France
-- http://Phi.Lho.free.fr
-- -- -- -- -- -- -- -- -- -- -- -- -- --