Vis Lua 实现

lua-users home
wiki

这是关于 VisLua 实现的各种问题的笔记。

GUI 库

有数百个 GUI 库 [1],但很少有良好、可移植、维护良好的。这里有一些选择:-

我建议使用 wxWindows,因为它拥有庞大的控件集且非常便携。一个绑定正在进行中 [10],使用了自定义绑定器。另一种选择是提供与 SWIG 的绑定,与 wxPython [11] 一起提供。这些可以修改为与 LuaSWIG [12] 一起使用,并随着 wxWindows 和 wxPython 的更新而更新。

编码风格说明

所有代码都应尽可能便携和文档齐全。这需要进一步讨论。大部分代码可能会遵循 Lua 的惯例,用 ANSI C 编写,以提高便携性。

wxWindows 在使用 C++ [13] 方面有一些指导方针,例如:不使用模板等。如果 wxLua 要用于 GUI 且便携性是优先考虑的,那么注意这些指导方针可能是有价值的。

语法高亮

通过 Scintilla 编辑器 [14],可以在 wxLua 中对(未修改的)Lua 进行语法高亮。任何不支持 Scintilla 的平台都可以只使用文本编辑器。

Lua 问题说明

Lua 作为一种人们喜欢修改和嵌入的语言,存在一些问题。

这些问题可以通过重新编译 wxLua 绑定和 VisLua 调试器绑定来适应客户端应用程序。这些绑定的包装器可以允许配置任何语法更改。

调试器

结构

有关任何令人困惑的术语,请参阅 VisLuaGlossary

+--------------------------------+
|  application (C/C++/Lua/etc)   |
|                                |
+ +-------------------+ +--------+
| | debug server core | | Lua VM |
+-+-------------------+-+--------+
         |
         | <-- debug link
         |
+--------------------------------+
| | debug client core | | Lua VM |
| +-------------------+ +--------|
|                                |
| debug client w/ UI             |
+--------------------------------+

       *>8^)-|=<  user

概念验证

我制作了一个应用程序,让您可以像使用控制台一样 telnet 到 Lua 会话。请在开发邮件列表中提供反馈,而不是在这里。

文件:wiki_insecure/users/ntrout/vislua/vlds_test.zip

实现评论

评论有时会被清除,因为它们在 VisLua 开发邮件列表中进行了讨论。


RecentChanges · preferences
编辑 · 历史
最后编辑于 2003 年 2 月 12 日下午 2:13 GMT (diff)