Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Клуб программистов > Обсуждение статей
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 24.09.2010, 05:30   #1
Pblog
Бот
Администратор
 
Регистрация: 27.05.2007
Адрес: Филадельфия
Сообщений: 182
Репутация: 156
По умолчанию статья - Компилятор домашнего приготовления. Часть 1

Компилятор домашнего приготовления. Часть 1

Почему мне пришла в голову идея разработать собственный компилятор? Однажды мне на глаза попалась книга, где описывались примеры проектирования в AutoCAD на встроенном в него языке AutoLISP. Я захотел c ними разобраться, но прежде меня заинтересовал сам ЛИСП. “Неплохо бы поближе познакомиться с ним”, – подумал я и начал подыскивать литературу и среду разработки. [...]
Pblog вне форума   Ответить с цитированием
Старый 24.09.2010, 13:04   #2
Tronix
Участник клуба
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Адрес: Россия, Москва
Сообщений: 742
Репутация: 288
По умолчанию

Ну какой-же это компилятор? Это ... не знаю даже что это, но это не компилятор. Это программа, создающая exe-шники которые выводят любую строку.
Tronix вне форума   Ответить с цитированием
Старый 24.09.2010, 13:19   #3
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,957
Репутация: 6832
По умолчанию

В конечном примере был описан генератор MZ файлов.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 25.09.2010, 21:24   #4
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от Pblog Посмотреть сообщение
Почему мне пришла в голову идея разработать собственный компилятор? Однажды мне на глаза попалась книга, где описывались примеры проектирования в AutoCAD на встроенном в него языке AutoLISP. Я захотел c ними разобраться, но прежде меня заинтересовал сам ЛИСП. “Неплохо бы поближе познакомиться с ним”, – подумал я и начал подыскивать литературу и среду разработки. [...]
Не факт что в AutoCAD встроен компилятор, скорее это интерпретатор, впрочем не важно. То что описано в статье это всего лишь детали трансляции в машинно зависимый код. Написание компилятора действительно вполне посильная задача, но начинать нужно не с этого. Начинают с грамматики языка, форм Бэкуса-Наура, далее лексический анализ, синтаксический анализ на соответствие формальным правилам и семантический анализ, ну и затем уже трансляция, которая может быть выполнена в машинно-зависимый код или объектный файл или в байт код или во что либо другое. Для реализации всего вышеизложенного необходимо понимать что такое конечные автоматы, на которых строятся анализаторы и что такое нисходящий или восходящий синтаксический анализ.
Rik вне форума   Ответить с цитированием
Старый 25.09.2010, 21:39   #5
Tronix
Участник клуба
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Адрес: Россия, Москва
Сообщений: 742
Репутация: 288
По умолчанию

Все так, но если хочется быстро и без углублений в конечные автоматы и прочие - рекомендую отличный набор статей Д. Креншоу - Давайте создадим компилятор! (Jack W. Crenshaw - Let's Build a Compiler). С помощью данной книги я таки осилил свой первый в жизни компилятор.
Tronix вне форума   Ответить с цитированием
Старый 25.09.2010, 21:57   #6
raxp
Профессионал
 
Регистрация: 29.09.2009
Сообщений: 9,734
Репутация: 3006
По умолчанию

все это слова на публику, Rik вас это тоже касается ...пишите статью про свой первый компилятор и велкам в наш журнал, а уж критики найдутся.
__________________
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума   Ответить с цитированием
Старый 25.09.2010, 23:28   #7
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
все это слова на публику, Rik вас это тоже касается ...пишите статью про свой первый компилятор и велкам в наш журнал, а уж критики найдутся.
Я всего лишь написал с чего желательно начать. Т.к. кто хочет заниматься этой темой, не знают с чего начать и куда двигаться(и в институтах эта тема - редкость). Я первую попытку сделал много-много лет назад, естественно безрезультатно, потом ещё несколько раз... Я не знал с чего начать, у меня на это несколько лет ушло, пока не попались лекции Вирта. Если человек пишет статью о компиляторе своими руками, хотелось бы чтобы заинтересованный читатель, после прочтения статьи знал с чего начать и куда двигаться, возможно ему это съкономит много времени... Если бы мне попала эта статья несколько лет назад, когда я начинал изучение темы, она бы мне не помогла...
Tronix ссылается на книгу Креншоу - Давайте создадим компилятор!. Очень хорошая книга, в ней всё есть о чем я писал...

Последний раз редактировалось Rik; 25.09.2010 в 23:47.
Rik вне форума   Ответить с цитированием
Старый 25.09.2010, 23:35   #8
Tronix
Участник клуба
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Адрес: Россия, Москва
Сообщений: 742
Репутация: 288
По умолчанию

Цитата:
Сообщение от Rik Посмотреть сообщение
Автор ссылается на книгу Креншоу - Давайте создадим компилятор!. Очень хорошая книга, в ней всё есть о чем я писал...
Что-то я не заметил, что-бы автор на нее ссылался.
Tronix вне форума   Ответить с цитированием
Старый 25.09.2010, 23:42   #9
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

Цитата:
Сообщение от Tronix Посмотреть сообщение
Что-то я не заметил, что-бы автор на нее ссылался.
Простите меня, косоглазие...
Rik вне форума   Ответить с цитированием
Старый 26.09.2010, 19:31   #10
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

Цитата:
рекомендую отличный набор статей Д. Креншоу - Давайте создадим компилятор!
не понравилось мне.
без нее толку больше.
Цитата:
Я всего лишь написал с чего желательно начать.
да можно и без них начать, главное некоторые принципы понимать(что есть компилятор)
далее можно ориентироватся на существующий язык(то есть конструкции и тд)
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Ответ

Опции темы

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
статья - Разработчик интерфейс пользователи. Часть 2 Pblog Обсуждение статей 0 21.09.2010 23:10
статья - Введение в Scheme. Часть 2. Pblog Обсуждение статей 0 19.08.2010 14:50
статья - Введение в Sсheme. Часть 1 Pblog Обсуждение статей 0 01.07.2010 22:00
статья - Введение в Sсheme. Часть 1 Pblog Обсуждение статей 0 01.07.2010 00:40
статья - Разработка ресурса для журнала. Часть 1 Pblog Обсуждение статей 0 23.06.2010 05:13


15:08.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru