Нужна помощь Понимание Компиляторы / HLL-> Сборка - PullRequest
0 голосов
/ 02 апреля 2009

Я студент электроники, и я программировал в основном на ассемблере. Прошлой ночью я увидел удивительную статью, в которой обсуждалось написание компилятора на Ruby. Автор сделал то, что использовал GCC, чтобы посмотреть, как C переводится на Assembly. Это очень резонирует для меня. Я наконец смог увидеть, как программа на C переведена на Assembly.My вопрос / просьба к сообществу здесь: Не могли бы вы показать мне ресурсы, которые лучше обсуждают связь между этими двумя? Должен ли я читать о компиляторах? Должен ли я изучать системное программирование? Я не знаю что делать. Я действительно хочу быть лучше в программировании и узнать это лучше. Спасибо за вашу помощь.

* +1002 * Связанный:

и другие ...

Ответы [ 4 ]

5 голосов
/ 02 апреля 2009

Здесь действительно происходит пара вещей. Первое, на что вы должны взглянуть, это что-то вроде книги компиляторов. Есть несколько старых, таких как знаменитая Книга Дракона , которые очень хороши. Сегодня я обнаружил еще одного, от того же парня, который написал Программирование на языке ассемблера , на Как писать отличный код . До сих пор я только читал примеры глав, но это выглядит очень хорошо, и, кажется, также учитывает то, что вы хотите, не вдаваясь в чудеса грамматики LALR (1) и т. Д.

«Системное программирование» - это больше о системах программирования. В системном программировании вы узнаете об использовании различных системных вызовов и других вещей для создания полезных программ. Вы тоже должны это знать, но это другой трек, чем «как это происходит».

Книга об организации компьютеров, как и та, на которую ссылается aaronis, больше рассказывает о том, как программа переходит с уровня языка ассемблера к реальным воротам и тому подобному. Она также называется «компьютерная архитектура», поскольку эта фраза использовалась, когда Амдал, Блау и Брукс изобрели термин: наборы инструкций, как они реализованы и как вы делаете количественный выбор в дизайне вещей.

3 голосов
/ 02 апреля 2009

Классическим справочным текстом по компиляторам является Aho и Ullman, Принципы разработки компиляторов , он же книга драконов В текущем издании есть еще несколько авторов и обновленное название ....

Компиляторы: принципы, методы и инструменты

0 голосов
/ 02 апреля 2009

Другим хорошим ресурсом является дизайн компилятора Алана Холуба в C .

0 голосов
/ 02 апреля 2009

Когда я учился на уроке компьютерной организации, они подробно изучили, как появились процессоры, как они обрабатывают инструкции и как сборка преобразуется в машинный код. Может быть, немного ниже, чем вы ищете, но я думаю, что получить представление о том, как этот тип перевода происходит с языка более высокого уровня на язык более низкого уровня, действительно аккуратно. Я думаю, что мы использовали эту книгу или похожую: http://www.amazon.com/Computer-Organization-Design-Interface-Architecture/dp/1558606041

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...