![]() |
|
Модераторы: bsa |
![]()
|
|
| TupDub |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 21.11.2009 Репутация: нет Всего: нет |
Привет !
Ребята подскажите, есть такое задание, как лучше написать - организовать такой конвертер ? Конвертер с одного языка высокого уровня на другой. Перевод может осуществляться с любого существующего или разработанного студентами языка высокого уровня на другой. При этом язык, с которого осуществляется перевод, должен обладать следующей функциональностью: арифметические действия, условные операторы единственного и множественного выборов, циклы трех видов, объявление производных типов – структур и классов – с описанием зон видимости методов и свойств, поддержкой конструктора (конструкторов) и деструктора, объявление переменных базовых или производных типов, объявление функций, описание функций, в то числе и методов классов, диагностика синтаксических ошибок. СПАСИБО! |
|||
|
||||
| newbee |
|
|||
![]() Бревно ![]() ![]() Профиль Группа: Участник Сообщений: 703 Регистрация: 24.8.2011 Репутация: 3 Всего: 19 |
Делаешь универсальный AST. Для каждого выходного языка дописываешь к нему модули преобразования в исходный текст (AST -> lexem). Для входных языков пишешь преобразовалки их AST в свой универсальный AST. А дальше просто выстраиваешь цепочку AST входного языка -> свой универсальный AST -> исходник выходного языка.
-------------------- You're face to face With man who sold the world |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 12 Всего: 72 |
Каждый студент пишет компилятор со своего языка в байт-код(общий для всех, сохраняющий структуру исходника) и декомпилятор из байт кода.
Для перевода используйте декомпилятор второго студента после компилятора первого. |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |