[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: [Q] simple translator from Lua to Java Script and PHP
- From: KHMan <keinhong@...>
- Date: Sat, 01 Nov 2008 15:40:58 +0800
V S P wrote:
[snip]
I installed the [luaanalyze-20080925b.tar.gz]
got it to run on the example file -- no problems.
However, there is no documentations/samples on how to use this
(since this is workin in progress). And I am having difficulties
figuring out out the
basic APIs to walk through the AST, and assign actions (if I need
any for translation).
Many of the things listed in the LuaGrammar page are likely to be
experimental stuff. As such, if you prefer an actively supported
project and something that looks like a complete piece of
software, then Fabien's metalua is definitely a good choice.
c) Still having difficulties to get metalua to run on windows
(but the metalua's gg/mlp works in the luaanalyse above -- so I am
thinking when Fabian has time for getting the whole metalua support
for windows/vs 2005/lua 5.1.4 -- I will at least get some knowledge
of dealing with AST using luaanlyze)
If this is a stand-alone project, why not get MinGW up and
running, since metalua has the correct Makefiles and config for that.
d) the other projects listed there were not actively worked on
(or may be I missed some)
This is a rather small niche area, so you're not likely to see
very active development. For example, I fiddle with Yueliang when
I feel like it, or when prompted by the requirements of other
projects like LuaSrcDiet. It's up to you to decide what type of
tool you want to apply to the problem.
[snip]
Again, for my needs, I want to translate If/else and for loop blocks
of lua code to javascript (very constrained lua code with 3 or 4
function calls) and basic < ~= == > operators within the
'if elseif else' expressions. Javascript is already typeless
so I am not worrying about 'internal' type of variables, table elements
or any duck-typing issues.
From your OP:
if tbA[id4]<tbB[id87] then
tbA[id4].myfunction
end
If your snippets are very predictable, you just need to fiddle
with token patterns, which would be pretty simple to do, but not
very flexible. But if there are future needs, then parsing may be
better.
If you want to do quick-and-dirty parsing, and isn't leery about
not going with orthodox methods like AST, then grab LuaSrcDiet. I
have done a parser skeleton there and you get all tokens in a nice
table, even all the non-tokens. Find the appropriate parts of the
grammar (stat, expr_stat, if_stat, cond, block, expr, subexpr,
primaryexp, prefixexp, field, yindex, ...) then add code to
translate certain constructs, replacing the original tokens. Write
out the modified token stream and voila! you're all done.
--
Cheers,
Kein-Hong Man (esq.)
Kuala Lumpur, Malaysia