VB6 Parser / Lexer / Scripter - PullRequest
       42

VB6 Parser / Lexer / Scripter

2 голосов
/ 08 июня 2010

У меня есть игра на VB6, и она прекрасно работает, и все, но я играю в идею создания скриптового движка. Я думаю, я бы хотел, чтобы VB6 прочитал для меня текстовые файлы сценариев, а затем lex / parse / запустил их.

У меня хороший опыт программирования, и я уже создал простой компилятор C, а также эмулятор LOGO.

Мой вопрос: Могу ли я использовать какие-либо инструменты, такие как Lexx / Yakk / Bison, чтобы помочь мне? Как я должен подходить к этой проблеме в отношении лексирования, анализа и подачи команд обратно в VB6, чтобы я мог с ними справиться? Является ли эта идея ПЛОХАЯ ИДЕЯ в том смысле, что на пути слишком много препятствий (например, сборка тральщика в сборке, хотя и не невозможная, очень сложная и плохая идея)?

Ответы [ 5 ]

4 голосов
/ 10 июня 2010

Используйте Microsoft® Windows® Script Control, потому что его легко интегрировать в существующие приложения VB6.Элемент управления поддерживает VBScript, JScript или любую другую реализацию «Active Script».

Я использовал Windows Script Control в четырех проектах, и он работает очень хорошо.Очень легко интегрировать.Я бы хотел, чтобы Microsoft дала нам замену в .NET и сделала бы ее максимально простой в использовании.(Я понимаю, что элемент управления не нужен в .NET, но иметь возможность просто создать объект, который обрабатывает все очень приятно.)

Элемент управления Windows Script

Microsoft® Windows® Script Control - это элемент управления ActiveX®, который предоставляет разработчикам простой способ создания приложений для сценариев.Это, в свою очередь, позволяет пользователям расширять функциональность приложения с помощью сценариев, так же, как они делают это сегодня с макросами.

3 голосов
/ 09 июня 2010

Если вы не делаете это для своих собственных инструкций, вы можете попробовать использовать Lua: VB6 - Lua Integration

2 голосов
/ 08 июня 2010

Я на самом деле видел несколько вполне разумных реализаций компиляторов / интерпретаторов в VB6 [1] - я бы не выбрал этот язык (мало функциональных возможностей, недостаточная система статических типов), но с опытом вы можете перевесить эти недостатки ибыть весьма продуктивным - так почему бы и нет.

Вы можете использовать генератор паролей GOLD , который поддерживает VB6 в качестве запуска.

[1]: где-то на PSC или в этом загрузить репозиторий Я думаю ...

Обратите внимание, что есть MSScriptControl .

2 голосов
/ 08 июня 2010

Если вы хотите использовать VBScript, а не VB6, вы можете просто использовать MSScriptControl для запуска команд, а не создавать свои собственные. Вот статья , в которой обсуждается его использование из приложения .Net, хотя это элемент управления ActiveX, поэтому он должен дать вам немного гибкости.

Элемент управления можно загрузить с здесь .

0 голосов
/ 10 июня 2010

Существует также дополнительная альтернатива для VB6:

SadScript - это вариант VB6, наиболее широко используемый для VB6 в качестве механизма сценариев в MMORPGS.

Подробнее см. Здесь1005 * Что такое sadscript?Могу ли я использовать его в vb.net?Почему никто, о котором я спрашивал, не слышал об этом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...