Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Офтопик > Некоммерческие проекты
Перезагрузить страницу Разработаем компайлер
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
compiler-dev compiler-dev вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.05.2006
По умолчанию Разработаем компайлер - 02.05.2006, 21:40

Привет!

Очень интересует тема разработки
- компилятора
- ассемблера
- линкера
- дисассемблера
- хекс редактора
- анализптора exe файлов

Хотелось бы об этом побольше узнать
Может - Вас заинтересует это тема?
Или - хотя бы поскажете - где копать?
Хотелось бы стартовать с уровня чайника и двигаться дальше...

Спасибо
Ответить с цитированием
  (#2 (permalink)) Старый
Зирк Зирк вне форума
Member
 
Сообщений: 1,337
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 14.04.2005
По умолчанию 02.05.2006, 23:09

Смотри тут
Исходники компиляторов, дизассемблеров, ассемблерови кучи всего.
Ответить с цитированием
  (#3 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 03.05.2006, 05:18

compiler-dev
Идея хорошая, определены ли:
1. Язык
2. Платформа
3. Цели
Ответить с цитированием
  (#4 (permalink)) Старый
compiler-dev compiler-dev вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.05.2006
По умолчанию 03.05.2006, 12:48

Цитата:
Originally posted by Dian
[b]compiler-dev
Идея хорошая, определены ли:
1. Язык
2. Платформа
3. Цели
1. Язык - C
2. Платформа - DOS/Windows, i386
3. Цели - разобраться с устройством вышеперечисленных инструментов
Принцип - сначала написать всё простое и понятное. но - реально работающее.
Затем - постепенно добавлять новые алгоритмы.
Ответить с цитированием
  (#5 (permalink)) Старый
compiler-dev compiler-dev вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.05.2006
По умолчанию 03.05.2006, 12:49

Цитата:
Originally posted by Зирк
[b]Смотри тут
Исходники компиляторов, дизассемблеров, ассемблерови кучи всего.
Спасибо.
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Dian Dian вне форума
Member
 
Сообщений: 5,243
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 17.09.2004
По умолчанию 03.05.2006, 14:53

compiler-dev
Видел кое-какую теорию тут:
http://codenet.ru/progr/alg/
Ответить с цитированием
  (#7 (permalink)) Старый
compiler-dev compiler-dev вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.05.2006
По умолчанию 03.05.2006, 15:32

Цитата:
Originally posted by Dian
[b]compiler-dev
Видел кое-какую теорию тут:
http://codenet.ru/progr/alg/
Спасибо
Ответить с цитированием
  (#8 (permalink)) Старый
#0 #0 вне форума
Member
 
Сообщений: 407
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.01.2004
По умолчанию 03.05.2006, 23:30

Ищи древнюю книгу Вирта "Алгоритмы + структуры данных = программы" (1-е издание, не 2-е) - там вполне приличный пример компилятора, с парсингом, использующим рекурсию по коду.

Так же можешь побаловаться с GNU Bizon - генератор парсеров LALR(1)-грамматик по заданному БНФ-описанию. Таблично-управляемый движок, использует рекурсию по данным.

См. также книжки по теории формальных языков.

Это всё было касательно грамматического разбора. Генерация кода и тем более оптимизация - это отдельная песня, гораздо более трудная.
Ответить с цитированием
  (#9 (permalink)) Старый
compiler-dev compiler-dev вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.05.2006
По умолчанию 04.05.2006, 13:13

Цитата:
Originally posted by #0
[b]Ищи древнюю книгу Вирта "Алгоритмы + структуры данных = программы" (1-е издание, не 2-е) - там вполне приличный пример компилятора, с парсингом, использующим рекурсию по коду.

Так же можешь побаловаться с GNU Bizon - генератор парсеров LALR(1)-грамматик по заданному БНФ-описанию. Таблично-управляемый движок, использует рекурсию по данным.

См. также книжки по теории формальных языков.

Это всё было касательно грамматического разбора. Генерация кода и тем более оптимизация - это отдельная песня, гораздо более трудная.
Спасибо.
Ответить с цитированием
  (#10 (permalink)) Старый
#0 #0 вне форума
Member
 
Сообщений: 407
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 28.01.2004
По умолчанию 04.05.2006, 18:06

Кстати, GCC использует GNU Bizon для парсинга. Но поскольку грамматика C++ является контекстно-зависимой, то в Bizon поддерживает некоторые механизмы (хинты в БНФ-описании) для отслеживания контекстных зависимостей. В общем, рекомендую.

Гы. Я когда-то давно скачал исходники GCC и пытался с ними разобраться... Кое-что интересное нашел, по мелочам, а понять суть терпения не хватило.
Ответить с цитированием
  (#11 (permalink)) Старый
compiler-dev compiler-dev вне форума
Новичок
 
Сообщений: 6
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 02.05.2006
По умолчанию 04.05.2006, 22:17

Цитата:
Originally posted by #0
[b]Кстати, GCC использует GNU Bizon для парсинга. Но поскольку грамматика C++ является контекстно-зависимой, то в Bizon поддерживает некоторые механизмы (хинты в БНФ-описании) для отслеживания контекстных зависимостей. В общем, рекомендую.

Гы. Я когда-то давно скачал исходники GCC и пытался с ними разобраться... Кое-что интересное нашел, по мелочам, а понять суть терпения не хватило.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов