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

C++

Войти
Регистрация
Восстановить пароль
 
22dr22
6 / 6 / 0
Регистрация: 31.12.2009
Сообщений: 132
#1

Компилятор - C++

19.11.2010, 21:26. Просмотров 607. Ответов 7
Метки нет (Все метки)

Здравствуйте.

Пишу компилятор pas->asm на с++


Может кто-то подскажет генератор конструкцый или что-то подобное:

<переменная1>+<переменная2> mov ax,<переменная1>;
mov bx,<переменная2>;
add ax,bx;


для разных конструкцый if, while, for и тд.....

или исходник с примерами конструкций тоже подойдет, так кая я не очень силен в asm.

Заранее благодарен за помощь.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Amine
Заблокирован
19.11.2010, 22:02     Компилятор #2
Ты его не пишешь, а пытаешься набыдлокодить. Пока не выучишь Dragon Book, забудь сочетание "пишу компилятор".
odip
Эксперт С++
7153 / 3293 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
20.11.2010, 14:31     Компилятор #3
Если ты не силен в asm, то зачем взялся писать компилятор ?
22dr22
6 / 6 / 0
Регистрация: 31.12.2009
Сообщений: 132
22.11.2010, 20:38  [ТС]     Компилятор #4
Надо... так бывает)
Evg
Эксперт CАвтор FAQ
17289 / 5537 / 345
Регистрация: 30.03.2009
Сообщений: 15,064
Записей в блоге: 26
23.11.2010, 00:37     Компилятор #5
Цитата Сообщение от odip Посмотреть сообщение
Если ты не силен в asm, то зачем взялся писать компилятор ?
Отрицательный опыт - это тоже опыт
22dr22
6 / 6 / 0
Регистрация: 31.12.2009
Сообщений: 132
23.11.2010, 01:49  [ТС]     Компилятор #6
Цитата Сообщение от Evg Посмотреть сообщение
Если ты не силен в asm, то зачем взялся писать компилятор ?
А кто сказал что он будет отрицательный? =)


P.S. я просил помощи =)
P.P.S я тоже могу написать в гугле запрос и на форуме гордо: "Читай того и того, а потом спрашивай"....... мне интересно, кто-то из вас писал компилятор или нет?
Evg
Эксперт CАвтор FAQ
17289 / 5537 / 345
Регистрация: 30.03.2009
Сообщений: 15,064
Записей в блоге: 26
23.11.2010, 10:59     Компилятор #7
Цитата Сообщение от 22dr22 Посмотреть сообщение
А кто сказал что он будет отрицательный? =)
Об этом свидетельствует постановка вопроса. Ты берёшься за дело, в котором, мягко говоря, не понимаешь. Писать компилятор, не зная синтаксиса ассемблера конкретной машины вполне можно. Однако если ты не в состоянии сам найти ответы на подобные вопросы без гугла, то мне внутреннее чутьё подсказывает, что процесс "написания компилятора" выльется в миллион вопросов типа "а как сделать то-то и то-то".

Цитата Сообщение от 22dr22 Посмотреть сообщение
мне интересно, кто-то из вас писал компилятор или нет?
Ты действительно считаешь, что это принципиально что-то меняет? Что касается постановки твоего первоначального вопроса, то берёшь и пишешь код на языке программирования, компилируешь его любым существующим компилятором и смотришь получившийся код. Тут даже гугл не нужен. Если ты даже этот пункт не в состоянии осилить, то однозначно бросай это дело
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2010, 12:10     Компилятор
Еще ссылки по теме:

C++ Компилятор?
компилятор C++
C++ компилятор с++
Компилятор C++
Компилятор G++ C++

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

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
23.11.2010, 12:10     Компилятор #8
Цитата Сообщение от 22dr22 Посмотреть сообщение
<переменная1>+<переменная2> mov ax,<переменная1>;
mov bx,<переменная2>;
add ax,bx;
Это хорошо для 16-ти битных операндов. Но разрядность операндов может быть и другой. Кроме того, плюсов может быть много. Ты под каждый будешь промежуточную ячейку создавать и гонять частичную сумму сначала в ней, а потом назад? Значит здесь тоже не всё просто.

Добавлено через 46 минут
Цитата Сообщение от 22dr22 Посмотреть сообщение
if
Pascal
1
if ... then ...;
соответствует переходу переходу к следующей всей альтернативой операции по обратному условию. Вычисли во временном объекте то условие, которое в исходнике и переходи по условию
временный объект<>false
Pascal
1
if ... then ... else ...;
- это уже два перехода, по прямому условию иди за альтенативную ветвь (по else), потом по обратному условию за всю альтернативу и альтернативную ветвь дополни переходом за всю альтернативу.
Yandex
Объявления
23.11.2010, 12:10     Компилятор
Ответ Создать тему
Опции темы

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