Как конвертировать многие тысячи строк VBScript в C #? - PullRequest
4 голосов
/ 14 июня 2010

У меня есть коллекция из примерно 10 000 небольших VBScript-программ (по 50-100 строк в каждой) и небольшая коллекция более крупных, и я ищу способ конвертировать их в C #, не прибегая к ручной транслитерации.Программы представляют собой автоматические тестовые случаи для веб-приложения, написанные для HP / Mercury QuickTest Pro, и я пытаюсь превратить их в тестовые примеры для Selenium.К счастью, тесты кажутся хорошо написанными, с использованием библиотеки строительных блоков и идиом (более крупных программ), поэтому тестовые примеры на самом деле напоминают язык, специфичный для предметной области, больше, чем VBScript, и QTP-ness хорошопохоронен внутри библиотек.

В идеале, я ищу инструмент, который может выполнять синтаксическое преобразование из VBScript в C # как для тестовых случаев dsl-ish, так и для более сложных библиотек строительных блоков.Это оставило бы меня с ручной очисткой библиотек и, возможно, очень небольшой работой над тестовыми примерами.Если бы я мог найти переводчик VBScript-to-VB.NET, я бы взял это также, так как подозреваю, что мог бы скомпилировать VB.NET и затем декомпилировать в C #, используя .NET Relector или что-то подобное.План Б состоит в том, чтобы написать собственный переводчик для тестовых случаев, поскольку они выполнены в очень прямолинейном стиле, но это не поможет с библиотеками.

Любые предложения?Я не писал компилятор по крайней мере 15 лет, и хотя я не забыл, как, но я не с нетерпением жду этого - меньше всего для VBScript!

Ответы [ 2 ]

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

Большинство vbscript - это действительный код VB6, поэтому одним из вариантов будет просто переименовать их из .vbs во все используемые VB6, а затем добавить их все в проект VB6 и посмотреть, появится ли в этом случае мастер обновления VB6 - VB.Netс некоторыми версиями Visual Studio может помочь вам.

1 голос
/ 14 июня 2010

GreatMigrations имеет инструмент, который хорошо справляется с конвертацией VB6 в C # (и другие языки). Я знаю, что компания готова сотрудничать с организациями, чтобы адаптировать продукт к их конкретным потребностям.

...