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

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

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

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

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

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

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

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

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

Не по теме:

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

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

Не по теме:

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

mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 13:33     Создание транслятора из C++ в Delphi #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     Создание транслятора из C++ в Delphi #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
758 / 691 / 124
Регистрация: 27.07.2012
Сообщений: 1,980
Завершенные тесты: 3
21.03.2014, 14:04     Создание транслятора из C++ в Delphi #8
Pascal
1
j:=&k;
Уверен, что так?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 14:26     Создание транслятора из C++ в Delphi #9
Перепутал символы.
j:=@k;
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 14:59     Создание транслятора из C++ в Delphi #10
Так интересно, а первый? и как это автоматически просто транслировать?
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 15:04     Создание транслятора из C++ в Delphi #11
Цитата Сообщение от mustimur Посмотреть сообщение
Так интересно, а первый? и как это автоматически просто транслировать?
Там тоже ничего сложного. Не транслируется дословно только цикл одновременно с несколькими счётчиками, не целым счётчиком, и цикл со счётчиком с не единичным шагом. Но и то можно выкрутиться, построив цикл на goto. А вот с делфей классы с published не транслируются совсем даже вручную.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 15:14     Создание транслятора из C++ в Delphi #12
taras atavin, может быть, но и тут сомневаюсь что аналог не подобрать (я как-то его мимо взора упустил в свое время и не использовал, сейчас нюансы и не вспомню)...
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 15:22     Создание транслятора из C++ в Delphi #13
Нюанс заключается в том, что стартовое значение published-члена редактируется в инспекторе объектов. Это в приципе переводится только на билдер. С c++ же на паскаль сложно транслировать только перегруженные функции и операторы. Но именно сложно, а не нельзя, вместо перегруженных функций можно юзать переименование функций и процедур в зависимости от типов параметров, а вместо перегруженных операторов, включая операторы-члены, можно юзать функции и процедуры в сочетании с именованными вспомогательными переменными.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 15:42     Создание транслятора из C++ в Delphi #14
taras atavin, пока с трудом догоняю случай который нельзя бы было бы public-ом отделаться
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 16:04     Создание транслятора из C++ в Delphi #15
Любой published. Абсолютно. Даже
Delphi
1
2
3
4
type a=class
published
i:integer;
end;
. На c++ нет инспектора объектов, а из него должно редактироваться стартовое значение этого свойства.
just_freelance
61 / 37 / 9
Регистрация: 15.03.2014
Сообщений: 315
21.03.2014, 16:17     Создание транслятора из C++ в Delphi #16
taras atavin, тогда переводите на C++Builder, там есть __published.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 16:22     Создание транслятора из C++ в Delphi #17
Цитата Сообщение от taras atavin Посмотреть сообщение
Инспектора объектов, а из него должно редактироваться стартовое значение этого свойства
Дошло наконец. А надо ли это? конструкторы на что? или я чего-то не понимаю? Конструктор по-умолчанию вот тебе и начальные свойства.. Хотя я прекрасно понимаю какой ты контр пример приготовишь
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 16:26     Создание транслятора из C++ в Delphi #18
Цитата Сообщение от mustimur Посмотреть сообщение
Конструктор по-умолчанию вот тебе и начальные свойства
Общие для всех экземпляров, а в инспекторе редактируются индивидуальные. Предложишь конструкторы с параметрами? Вот беда: параметры располагаются в коде, а published редактируется с интерфейса среды. Ближайший аналог - загрузка свойства из ресурсов, но и это не совсем то.
mustimur
268 / 222 / 57
Регистрация: 22.11.2013
Сообщений: 832
Записей в блоге: 1
21.03.2014, 16:39     Создание транслятора из C++ в Delphi #19
Согласен, подумал, что ты мне это скажешь. Хорошо есть принципиальная разница между тем что прописать свойства в инспекторе, или отредактировать сразу после создания в коде программы? (только не надо приводить аргумент что это быстрее, где-то приобретешь где-то потеряешь...)... По сути это тот же public, но только видимый в дополнительном инструменте Delphi, которого нет в большинстве IDe С++, чисто технически замени его на public и функционал насколько понимаю сохранится у класса. Надо лишь отредактировать его свойства сразу после инициализации класса и все. Остальное не важно, не думаю, что следует продолжать эту дискуссию: от темы она уже далека и мне кажется мы оба все равно останемся при своем мнении.
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
21.03.2014, 16:56     Создание транслятора из C++ в Delphi #20
Цитата Сообщение от mustimur Посмотреть сообщение
(только не надо приводить аргумент что это быстрее, где-то приобретешь где-то потеряешь...).
А прич чём здесь городская баня? Тем более, что это как раз медленнее. Но я получаю определённый внеязыковый интерфейс редактирования и навигации по свойствам и объектам, не описываю ни каких операций, приводящих к установке правильного стартового значения, но само стартовое значение могут задать. Это не нужно. Эйси, но это - другой вопрос. Это предусмотрено и если вдруг использовано, то компилятор встрянет, если только не заставлять его перевести как раз на билдер.

Добавлено через 2 минуты
Цитата Сообщение от mustimur Посмотреть сообщение
По сути это тот же public, но только видимый в дополнительном инструменте Delphi, которого нет в большинстве IDe
Свойство может быть и не доступно с кода.
Yandex
Объявления
21.03.2014, 16:56     Создание транслятора из C++ в Delphi
Ответ Создать тему
Опции темы

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