2011-01-17 5 views
3

Мне нужно написать переводчик для vbscript в C#. Какими будут основные шаги, которые необходимо перевести для с использованием ANTLR? Я не очень четкое представление о том, чтобы использовать грамматику (лексический анализатор/анализатор? Файл или StringTemplate или AST или все. предложения? Заранее спасибо.Перевести vbscript на C# с помощью ANTLR

+5

Прошу прощения, чтобы сообщить вам, но вы не пишете переводчика. Вы * являетесь * переводчиком. – Kobi

+0

@ Kobi Два года назад я был наивным, как он ;-) –

+3

Это невозможно (отлично) .... есть много вещей, которые нужно рассмотреть, прежде чем вы войдете в него. Конечно, дорогая, это не собирается случиться ... это не стоит ваших усилий ... –

ответ

1

Действительно ли это возможно?

Я «перевод» (чтение: переписывание) приложения MS Access/VBA с двух лет до C# и выяснилось, что даже доступные онлайн-конвертеры (например, this one, которые больше VB.NET, но в любом случае) терпят неудачу при большинстве базовых преобразований.

Итак, мой предположение до сих пор заключается в том, что существует слишком много видов конструкций, которые просто не переводимы из VBScript в C#.

0

Самый простой способ перевести VBScript на C# будет использовать VB.NET в качестве промежуточного шага. VBScript очень похож на VB.NET (хотя есть некоторые отличия), поэтому все, что вам нужно сделать, это скопировать ваш код в новое решение в Visual Studio. После внесения нескольких изменений код сможет скомпилировать.

Вы можете оставить его на этом (вы можете вызвать результирующую DLL из своего кода на C#), но даже если вы не хотите этого делать, преобразование VB.NET в C# является тривиальным. Вы даже можете декомпилировать полученный DLL/EXE (хотя это приведет к некоторой потере информации) или использовать любой онлайн-конвертер VB.NET для C#.