VB6 解析器/词法分析器/脚本编写器

发布于 2024-09-05 08:07:55 字数 308 浏览 9 评论 0原文

我有一个 VB6 游戏,它运行得很好,但我一直在考虑创建一个脚本引擎的想法。我想我希望 VB6 为我读取纯文本脚本文件,然后 lex/parse/execute 它们。

我有很好的编程经验,之前也搭建过一个简单的C编译器,以及一个LOGO模拟器。

我的问题是: 我可以使用 Lexx/Yakk/Bison 等工具来帮助我吗?我应该如何在词法分析、解析和将命令反馈给 VB6 方面解决这个问题,以便我可以处理它们?这个想法是否是一个坏主意,因为路上有太多障碍(例如,在组装中建造扫雷艇,虽然不是不可能,但非常困难,而且是一个坏主意。)?

I've got a game in VB6 and it works great and all, but I have been toying with the idea of creating a scripting engine. Ii'm thinking I'd like VB6 to read in flat text script files for me and then lex/parse/execute them.

I have good programming experience, and I've built a simple C compiler, as well as a LOGO emulator before.

My question is:
Are there any tools that I can use, like Lexx/Yakk/Bison to help me? How should I approach this problem in regards to lexing, parsing, and feeding the commands back to VB6 so I can handle them? Is this idea a BAD IDEA in the sense that there are too many obstacles in the way (For example, building minesweeper in assembly, though not impossible, is very difficult, and a bad idea.)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

樱&纷飞 2024-09-12 08:08:12

VB6 似乎还有一个附加替代方案:

SadScript 是 VB6 的一个变体,最常用于 VB6 作为 MMORPGS 中的脚本引擎。

请参阅此处了解更多信息:什么是 Sadscript?我可以在vb.net中使用它吗?为什么我问过的人都没有听说过它?

There also appears to be an additonal alternative for VB6:

SadScript is an variant of VB6 most prominently used for VB6 as an scripting engine in MMORPGS .

See here for more : What is sadscript? Can I use it in vb.net? Why hasn't anyone I have asked heard of it?

榕城若虚 2024-09-12 08:08:09

我实际上已经在 VB6[1] 中看到了一些相当合理的编译器/解释器的实现 - 这不是我会选择的语言(功能特性很少,静态类型系统不足),但是凭借经验,您可以克服这些缺点并提高工作效率- 那为什么不呢。

您可以使用支持 VB6 的 GOLD 解析器生成器 作为开始。

[1]:PSC 上或在此 下载存储库 我认为...

请注意,有 MSScriptControl 也是如此。

I've actually seen some quite reasonable implementations of compilers/interpreters in VB6[1] - It's not the language I would choose (few functional features, insufficent static type system), but with experience, you can outweigh these drawbacks and be quite productive - So why not.

You can use the GOLD parser generator that supports VB6 as a start.

[1]: Somewhere on PSC or in this download repository I think ...

Note that there is the MSScriptControl too.

放手` 2024-09-12 08:08:07

如果您愿意使用 VBScript 而不是 VB6,您也许可以只使用 MSScriptControl 来运行命令,而不用创建自己的命令。 这里有一篇文章讨论从 .Net 应用程序中使用它,尽管它是ActiveX 控件因此应该为您提供相当大的灵活性。

该控件可以从 下载在这里

If you're willing to use VBScript rather than VB6 you might be able to just use the MSScriptControl to run the commands rather than creating your own. Here's an article discussing using it from a .Net app, though it's an ActiveX control so should give you quite a bit of flexibility.

The control can be downloaded from here.

梦毁影碎の 2024-09-12 08:08:03

除非您是按照自己的指示进行操作,否则您可能需要尝试使用 Lua:VB6 - Lua 集成

Unless you're doing it for your own instruction, you may want to try using Lua: VB6 - Lua Integration

小清晰的声音 2024-09-12 08:08:01

使用 Microsoft® Windows® 脚本控件,因为它很容易集成到现有的 VB6 应用程序中。该控件支持 VBScript、JScript 或任何其他“活动脚本”实现。

我已经在四个项目中使用了Windows 脚本控件,并且它运行得非常好。非常容易集成。我希望 Microsoft 能够为我们提供 .NET 的替代品,并使其易于使用。 (我知道 .NET 中不需要该控件,但能够简单地创建一个处理所有内容的对象是很好的。)

Windows 脚本控制

Microsoft® Windows® 脚本控件
是一个 ActiveX® 控件,提供
开发人员可以通过简单的方法来制作
他们的应用程序可编写脚本。这,
反过来,使用户能够扩展
应用程序功能通过
脚本,就像它们对宏所做的那样
今天。

Use the Microsoft® Windows® Script Control because it is easy to integrate into existing VB6 applications. The control supports VBScript, JScript, or any other "Active Script" implementation.

I have used the Windows Script Control in four projects and it works extremely well. Very easy to integrate. I wish Microsoft would have given us a replacement in .NET, and made it as easy to use. (I understand the control is not needed in .NET, but having the ability to simply create an object that handles everything is nice.)

Windows Script Control

The Microsoft® Windows® Script Control
is an ActiveX® control that provides
developers with an easy way to make
their applications scriptable. This,
in turn, enables users to extend
application functionality through
scripts, much as they do with macros
today.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文