[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Named loops and blocks for use with break
- From: Rici Lake <lua@...>
- Date: Wed, 5 Oct 2005 22:34:25 -0500
On 5-Oct-05, at 10:34 AM, Rici Lake wrote:
Here's the patch (against lua-5.1-alpha); comments are welcome.
http://primero.ricilake.net/newloop.diff
For the benefit of the two or three people who might have downloaded
that, I just put up a new version which fixes a (blush!) bug in the
codegen for 'if' statements which create upvals. I also ported over my
Lua implementation of SRFI-61 (which allows local bindings in 'if'
conditions).
The revised diff actually has a couple of examples in the test/
directory; specifically command.lua which shows how the loop constructs
work in practice. etc/lua.vim and etc/luaindent.vim will let you get
syntax highlighting and indenting to work (more or less) in vim.
If you don't want to go to all that trouble, you can just look at the
example program at <http://primero.ricilake.net/command.lua.html>; the
syntax highlighting was generated by vim (I used :highlight link Repeat
Special to get the loops coloured differently.)
Despite the fact that it looks like I spent a lot of time on this, I'm
not seriously proposing any of it; it was an interesting experiment
with the Lua parser, mostly, and also I always feel that you actually
have to *try* syntax to see if it works or not, rather than just
reacting according to prior prejudice. In any event, it was just a few
hours' work... the changes are only to the parser, which means that it
could exist side-by-side with ordinary Lua if there were some way of
plugging different parsers in.