![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
Avaj |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 14.7.2008 Где: Владивосток. Репутация: 1 Всего: 3 |
Ну вот пришла и моя очередь писать компилятор в универе. И вот вижу я много книг и статей. И не знаю с чего начать.
И прошу вас снабдить полезными ссылками на любые примеры разработки простейших компиляторов с комментариями. |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 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 |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 97 |
На хабре есть неплохой цикл статей - пыщь.
|
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Читал я тот цикл интересу ради. Отстой. Как впрочем и большая часть материала на хабре.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
UniBomb |
|
|||
Новичок ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 1754 Регистрация: 24.10.2006 Где: Санкт-Петербург Репутация: 1 Всего: 97 |
djamshud, ну у меня опыта в этом деле маловато, так что не могу спорить
![]() |
|||
|
||||
Avaj |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 14.7.2008 Где: Владивосток. Репутация: 1 Всего: 3 |
djamshud
Представьте себе эта книга у меня есть, бумажная ![]() Но я там вижу очень много теории и не заметил примера полной реализации компилятора, а только лишь "Завершённый пример начальной стадии реализации компилятора" и тот на Java, т.е. синтаксический и лексический анализаторы и что-то там ещё, а на выходе получается не exe-файл, а синтаксическое дерево.... И зачем мне это надо? А вот чтоб и с генерацией кода и со всеми остальными штуками, чтоб настоящий, хоть и простой, компилятор был - знаете ли такое? |
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 5 Всего: 160 |
Да. Свердлов, Языки программирования и методы трансляции. И вот ещё недавно вышла Вирт, Построение компиляторов. Но её я даже не открывал. ![]() -------------------- |
|||
|
||||
boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 20 Всего: 110 |
Avaj, есть у меня знакомый, занимающийся подобным вопросом. у него написан компилятор с++. реализовано около половины возможностей С++03. и не дописан линкер. если что, могу подсказать ник. но он на другом форуме тусит.
|
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 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 |
|||
|
||||
Avaj |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 212 Регистрация: 14.7.2008 Где: Владивосток. Репутация: 1 Всего: 3 |
boostcoder, это, если не трудно, киньте в личку.
djamshud, действительно, только пролистал ![]() |
|||
|
||||
djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 4 Всего: 39 |
Avaj, первые главы - только цветочки:). Самое интересное будет дальше. И если действительно хотите сами написать что-то, не листайте, а читайте внимательно:).
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
icecrashldr |
|
|||
![]() Developer ![]() Профиль Группа: Участник Сообщений: 122 Регистрация: 5.7.2010 Репутация: нет Всего: нет |
NASM самое простое и очевидное... Компиляция asm, парсинга не много, зато будет готовый компилятор, а скриптинг можно добавить и в него.
Самое сложное это не парсинг, а генерация машинного кода + оптимизация и конечно отладочная инфа+ symbols и etc. Если вы про парсинг то Js движок будет в тему... |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Делайте компилятор в байткод + интерпретатор байткода (a-la Java & .NET) Это будет вполне полноценный компилятор и гораздо более простой, чем компилятор в Native код.
|
|||
|
||||
sdukshis |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 23.3.2009 Репутация: нет Всего: 1 |
Могу посоветовать такую книжку
http://fictionbook.ru/author/krenshou_djek/. Из недостатков: почти никакой теории. Из достоинств: через несколько часов работы с ней у Вас уже будет небольшой, но рабочий компилятор. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |