Я собираюсь сделать побочный проект, целью которого является перевод кода с одного языка программирования на другой. Языки, с которых я начинаю, - это PHP и Python (с Python по PHP должно быть легче начать), но в идеале я мог бы добавить другие языки с (относительной) легкостью. План:
Это ориентировано на веб-разработку. Исходный и целевой код будут лежать поверх фреймворков (которые мне также придется написать). Эти структуры будут включать в себя шаблон проектирования MVC и следовать строгим соглашениям о кодировании. Это должно облегчить перевод.
Я также смотрю на IOC и внедрение зависимостей, поскольку они могут сделать процесс перевода более простым и менее подверженным ошибкам.
Я буду использовать модуль синтаксического анализатора Python , который позволяет мне возиться с абстрактное синтаксическое дерево. Очевидно, что ближе всего к PHP я могу получить token_get_all () , что является началом.
С этого момента я могу строить AST, таблицы символов и поток управления.
Тогда я думаю, что могу начать выводить код. Мне не нужен идеальный перевод . Мне все еще придется просмотреть сгенерированный код и исправить проблемы. В идеале переводчик должен пометить проблемные переводы.
Прежде чем спросить: «Какого черта в этом смысл?» Ответ ... Это будет интересный опыт обучения. Если у вас есть какие-либо идеи о том, как сделать это менее пугающим, пожалуйста, дайте мне знать.
Меня больше интересует, какие типы шаблонов я мог бы применить в коде, чтобы упростить его перевод (т.е. : IoC, SOA?) Код, чем, как сделать перевод. даже если веб-сайт использует другой сервер SQL для своих собственных требований.
Причина, по которой я не могу получить информацию, необходимую для расчета количества для каждого продукта в Интернете, который должен находиться на одном сервере SQL, заключается в том, что существует слишком много таблиц, которые необходимы для расчета этой информации ... что находится в заказе на покупку, что на заказе на продажу и материальных запасах.
Каков наилучший способ сделать это, не изменяя ни одну из баз данных?
Вы можете добиться этого двумя способами.
Если вы можете подключиться напрямую к серверу SQL с веб-сайта. Сделай это.
Создайте службу (веб / размещенную на Windows), которая будет иметь доступ к внутреннему сложному серверу SQL Server и будет открыта для вашего веб-сайта, чтобы он мог получить доступ к необходимой вам информации.
Надеюсь, это поможет.