Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разработка компилятора языка C. 
V
    Опции темы
Avaj
Дата 8.9.2010, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: 1
Всего: 3



Ну вот пришла и моя очередь писать компилятор в универе. И вот вижу я много книг и статей. И не знаю с чего начать. 
И прошу вас снабдить полезными ссылками на любые примеры разработки простейших компиляторов с комментариями.
PM MAIL   Вверх
djamshud
Дата 8.9.2010, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



http://www.ozon.ru/context/detail/id/4952912/

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


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
UniBomb
Дата 8.9.2010, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 97



На хабре есть неплохой цикл статей - пыщь.


--------------------
PM MAIL ICQ Skype   Вверх
djamshud
Дата 8.9.2010, 12:18 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Читал я тот цикл интересу ради. Отстой. Как впрочем и большая часть материала на хабре.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
UniBomb
Дата 8.9.2010, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
***
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 1754
Регистрация: 24.10.2006
Где: Санкт-Петербург

Репутация: 1
Всего: 97



djamshud, ну у меня опыта в этом деле маловато, так что не могу спорить  smile 


--------------------
PM MAIL ICQ Skype   Вверх
Avaj
Дата 8.9.2010, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: 1
Всего: 3



djamshud 

Цитата

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


Представьте себе эта книга у меня есть, бумажная smile
Но я там вижу очень много теории и не заметил примера полной реализации компилятора, а только лишь "Завершённый пример начальной стадии реализации компилятора" и тот на Java, т.е. синтаксический и лексический анализаторы и что-то там ещё, а на выходе получается не exe-файл, а синтаксическое дерево.... И зачем мне это надо?

А вот чтоб и с генерацией кода и со всеми остальными штуками, чтоб настоящий, хоть и простой, компилятор был - знаете ли такое?
PM MAIL   Вверх
kemiisto
Дата 8.9.2010, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 5
Всего: 160



Цитата(Avaj @  8.9.2010,  15:02 Найти цитируемый пост)
А вот чтоб и с генерацией кода и со всеми остальными штуками, чтоб настоящий, хоть и простой, компилятор был - знаете ли такое? 

Да. Свердлов, Языки программирования и методы трансляции.

И вот ещё недавно вышла Вирт, Построение компиляторов. Но её я даже не открывал. smile 


--------------------
PM MAIL WWW GTalk Jabber   Вверх
boostcoder
Дата 8.9.2010, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 20
Всего: 110



Avaj, есть у меня знакомый, занимающийся подобным вопросом. у него написан компилятор с++. реализовано около половины возможностей С++03. и не дописан линкер. если что, могу подсказать ник. но он на другом форуме тусит.
PM WWW   Вверх
djamshud
Дата 8.9.2010, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Avaj,

1. То, что на яве - это даже лучше. Вы же сами хотите написать, а не скопировать из книги? Я вот тоже яву не знаю, а прекрасно осилил.
2. Теория - это очень хорошо. Без нее вы сами компилятор не напишите.
3. Генерация конечного exe из ассемблера или любого другого внутреннего кода - самое простое, что есть в компиляторе и это последний и совсем необязательный шаг при его создании.

Что-то мне подсказывает, что вы дальше первой-второй главы книгу вообще не читали.


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
Avaj
Дата 8.9.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 212
Регистрация: 14.7.2008
Где: Владивосток.

Репутация: 1
Всего: 3



boostcoder, это, если не трудно, киньте в личку.
djamshud, действительно, только пролистал smile но нашёл во воторой главе годный пример компилятора.
PM MAIL   Вверх
djamshud
Дата 8.9.2010, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пердупержденный
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 23.11.2009

Репутация: 4
Всего: 39



Avaj, первые главы - только цветочки:). Самое интересное будет дальше. И если действительно хотите сами написать что-то, не листайте, а читайте внимательно:).


--------------------
'Cuz I never walk away from what I know is right
Alice Cooper - Freedom
PM   Вверх
icecrashldr
Дата 8.9.2010, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Developer
*


Профиль
Группа: Участник
Сообщений: 122
Регистрация: 5.7.2010

Репутация: нет
Всего: нет



NASM самое простое и очевидное... Компиляция asm, парсинга не много, зато будет готовый компилятор, а скриптинг можно добавить и в него.

Самое сложное это не парсинг, а генерация машинного кода + оптимизация и конечно отладочная инфа+ symbols и etc.

Если вы про парсинг то Js движок будет в тему... 
PM MAIL WWW   Вверх
xvr
Дата 9.9.2010, 10:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Делайте компилятор в байткод + интерпретатор байткода (a-la Java & .NET) Это будет вполне полноценный компилятор и гораздо более простой, чем компилятор в Native код.

PM MAIL   Вверх
sdukshis
Дата 9.9.2010, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 23.3.2009

Репутация: нет
Всего: 1



Могу посоветовать такую книжку
http://fictionbook.ru/author/krenshou_djek/.

Из недостатков: почти никакой теории.
Из достоинств: через несколько часов работы с ней у Вас уже будет небольшой, но рабочий компилятор.




PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0840 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.