Gartner Group сообщает, что ручное преобразование между двумя аналогичными langauges происходит со скоростью около 150 строк в день. По их словам, ваш темп прогресса немного ниже среднего: -} Хуже того, он предсказывает, что перед вами 150 человеко-дней усилий.
Это причина того, что люди создают автоматизированные средства миграции, которые могут применять правила конверсии обычным и заслуживающим доверия способом. Если вам повезет, кто-то сделал это перед вами. Количество пар от-до конверсий людей может хочу сделать огромным, намного больше, чем у множества людей есть сделано, так что, как правило, вам не повезло.
Следующее, что кто-то скажет, - «использовать регулярные выражения». Вероятно, это не сработает, потому что вам нужно найти языковые конструкции программирования, которые не являются «регулярными», а скорее «свободными от контекста».
Одним из способов получить инструмент для этого является использование program transformations. Это запрограммированные действия, которые заменяют один фрагмент кода другим. Обычно они требуют полного парсера языка, чтобы действия могли работать на программных элементах, таких как компиляторы, а не на текстовых строках.
Хороший способ написания программ преобразования использует поверхностный синтаксис языка как шаблоны, по существу, «если вы видите этого, заменить его , что». Думайте об этом как о «регулярных выражениях», чтобы справиться с проблемами «контекста».
Инструмент, который может принимать такие программные преобразования для поверхностного синтаксиса, является нашим DMS Software Reengineering Toolkit.
Чтобы получить надежные преобразования, требуется некоторое усилие. У вас есть 15 000 строк кода для преобразования. Компромисс между кодированием преобразований vs.просто кусать пулю и делать работу жестко, когда количество кода для преобразования это мало.
Существует много различий в синтаксисе между mssql и mysql –
Конечно, есть. Проблема в том, что иногда один из этих различий удается прокрасться, а затем я получаю 1064, но не вижу, в чем проблема, или где она находится. – Radu094
Итак, вы когда-нибудь закончили? Как вы это сделали и сколько времени прошло? –