Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
olya.kay
1 / 1 / 0
Регистрация: 17.03.2012
Сообщений: 49
#1

Создание транслятора из C++ в Delphi - C++

21.03.2014, 10:51. Просмотров 1108. Ответов 21
Метки нет (Все метки)

Сдраствуйте нужно создать компелятор, что бы он переводил с языка с++ в Delfi. с клавиатуры вводиться оператор if
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2014, 10:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание транслятора из C++ в Delphi (C++):

Странное поведение транслятора - C++
В следуюшем примере код компилируется нормально, но объект класса b не содается (пробывал на Visual studio 10 и на Borland builder 5), что...

Конструирование транслятора для модельного языка. Литература по LEX/YACC - C++
Простите, не знал куда тему приткнуть. Ищу литературу по LEX/YACC. Софт, книги и т.д.

Создание семантического блока транслятора! - C#
Здравствуйте, прошу помощи в реализации следующего задания: Написать программу, которая получает на вход текст программы, написанной...

работа транслятора - Программирование
требуется сделать реферат по работе транслятора, именно пошаговый разбор, а не в общих чертах, конечно целую книгу по работе не нужно, но...

Ошибка при компиляции транслятора!!! - Free Pascal
Доброго времени суток! Полдня промучилась и нигде не могу найти как исправить ошибку, которую выдает при компиляции Turbo Pascal 7.0 ...

Дописание вывода ошибок для транслятора - Visual C++
Есть программа транслятор с Паскаля на С++, код подкреплю ниже. Помогите организовать вывод ошибок при вводе не корректного кода паскаля...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 11:54 #2
Это не компилятор, а транслятор... И вряд ли получиться....
AntonChik
21.03.2014, 11:57
  #3

Не по теме:

читайте мою подпись

taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 12:02 #4
Транслятор какого вида? Их ведь ровно два: интерпретатор и компилятор и от того, что целевой язык имеет высокий уровень невозможным оказывается как раз интерпретатор, так как интерпретатор есть транслятор, транслирующий каждый оператор программы непосредственно в процессе её исполнения, но после исполнения предыдущего оператора той же программы, а раз оператор исполняется, значит он в нативном коде.
Tulosba
21.03.2014, 12:09
  #5

Не по теме:

Цитата Сообщение от AntonChik Посмотреть сообщение
читайте мою подпись
не было бы офтопом, то почитали бы

mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 13:33 #6
Но сути ответа это не меняет... Один в один код не переведешь, (с Delphi на c++ можно попробовать, но не наоборот) Вот поупражняемся немного, как вот это будет выглядеть на Pascal-е:
C++
1
2
3
4
int **p;
p=new int*[5];
for (int i=0; i<5; i++) *(p+i)=new int[5];
for (int i=0; i<5; i++) for (int j=0; j<5; j++) *(*(p+i)+j)=i+j;
или
C++
1
2
3
4
int *j,k=5,t;
j=&k;
*j*=2;
t=k;
?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 13:47 #7
Цитата Сообщение от mustimur Посмотреть сообщение
Но сути ответа это не меняет... Один в один код не переведешь, (с Delphi на c++ можно попробовать, но не наоборот)
Как раз с delphi на c++ нельзя. Куда денешь спецификатор видимости published? Это не синоним public, которой на delphi тоже есть.

Добавлено через 3 минуты
Цитата Сообщение от mustimur Посмотреть сообщение
int *j,k=5,t;
j=&k;
*j*=2;
t=k;
Pascal
1
2
3
4
5
6
var j:integer^; k,t:integer;
begin
k:=5;
j:=&k;
j^:=j^*2;
t:=k;
Кстати, потрудись объяснить, как тебе удалось сочинить примеры, которые можно перевести с c++ на паскаль средствами даже не компилятора, а всего лишь автозамены?
John Prick
778 / 711 / 131
Регистрация: 27.07.2012
Сообщений: 2,043
Завершенные тесты: 3
21.03.2014, 14:04 #8
Pascal
1
j:=&k;
Уверен, что так?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 14:26 #9
Перепутал символы.
j:=@k;
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 14:59 #10
Так интересно, а первый? и как это автоматически просто транслировать?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 15:04 #11
Цитата Сообщение от mustimur Посмотреть сообщение
Так интересно, а первый? и как это автоматически просто транслировать?
Там тоже ничего сложного. Не транслируется дословно только цикл одновременно с несколькими счётчиками, не целым счётчиком, и цикл со счётчиком с не единичным шагом. Но и то можно выкрутиться, построив цикл на goto. А вот с делфей классы с published не транслируются совсем даже вручную.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 15:14 #12
taras atavin, может быть, но и тут сомневаюсь что аналог не подобрать (я как-то его мимо взора упустил в свое время и не использовал, сейчас нюансы и не вспомню)...
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 15:22 #13
Нюанс заключается в том, что стартовое значение published-члена редактируется в инспекторе объектов. Это в приципе переводится только на билдер. С c++ же на паскаль сложно транслировать только перегруженные функции и операторы. Но именно сложно, а не нельзя, вместо перегруженных функций можно юзать переименование функций и процедур в зависимости от типов параметров, а вместо перегруженных операторов, включая операторы-члены, можно юзать функции и процедуры в сочетании с именованными вспомогательными переменными.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 15:42 #14
taras atavin, пока с трудом догоняю случай который нельзя бы было бы public-ом отделаться
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 16:04 #15
Любой published. Абсолютно. Даже
Delphi
1
2
3
4
type a=class
published
i:integer;
end;
. На c++ нет инспектора объектов, а из него должно редактироваться стартовое значение этого свойства.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2014, 16:04
Привет! Вот еще темы с ответами:

Написание транслятора с английского в код Морзе - C (СИ)
Использование стандартной библиотеки С Написать программу, которая выполняет ввод текстовой информации из файла или стандартного...

Проектировние транслятора: на чем писать код - Assembler
Здравствуйте...помоги разобраться и подобрать литературу для дальней реализации... язык для которого проектируется транслятор -C язык...

.NET 4.x Наследование от ApplicationException для нужд транслятора - C#
Суть: Пишу что-то вроде своей IDE, грубо говоря пользователь вводит код скрипта, я его транслирую и интерпретирую с помощью шарпа, в...

Написание транслятора/парсера с одного языка на другой - Программирование
Добрый день! Возникла необходимость написать транслятор программного кода (возможно, вы будете смеяться ) из Visual Basic Application...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.03.2014, 16:04
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru