Модераторы: Akella, bartram

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание компилятора, с чего начинать мне 
:(
    Опции темы
gepard
Дата 31.3.2004, 08:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Вот решил написать компилятор свой, со своим языком.
Где мне найти литературу(в электр. виде) на эту тему.
Только не надо, мол: "Не сможешь!" или что-то подобное. Делаю я не один и хотел бы чтобы нас было ещё больше!
Есть желающие?
Кто-нить знает, где моно скачать "Книга Драконов. Разработка компилятора."?


--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
Darksquall
Дата 31.3.2004, 09:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У нас такие лабы в универе были,правда интерпретатор.Если надо могу порыться


--------------------
PM WWW ICQ   Вверх
gepard
Дата 31.3.2004, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Надо всё, что по теме!


--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
Sardar
Дата 31.3.2004, 23:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



На http://algolist.manual.ru/syntax/index.php есть как на русском так и на английском. Советую В.А.Серебряков "Лекции по конструированию компиляторов".


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Jey_k
Дата 1.4.2004, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

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



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


--------------------
PM MAIL WWW   Вверх
Sardar
Дата 1.4.2004, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

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



Если интересно: http://www.mozilla.org/rhino/ - интерпретатор JavaScript на Java.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
sergejzr
Дата 1.4.2004, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Предложу пользоваться Lexx & Yacc (Bison & Flex) для парсинга.
http://dinosaur.compilertools.net/
  • Вставляешь их например в Pre Step MSVC++
  • Создаёшь два файла один для Lexx'a, другой для Yacc'a.
  • В файле Lexx'a дефинируешь ключевые слова, декларации переменных итд.


    Код

    ([0-9]+".")[0-9]+   { return( T_DOUBLE ); }
    for                         { (return T_FOR);}

  • В файле Yacc'a дефинируешь их сочетания и синтактически правила.


    Код

    for_loop: T_FOR mvariable "=" T_DOUBLE T_TO mvariable T_DO
    //вызовется, если зачитано типа "for a=0 to 6 do"
    //делаешь здесь что тебе надо..
    //Хоть на asm интерпретируй. :)
    ;
  • Эти тулы создают код на Си.
Примеров в сети масса.
Я как то тоже интерпретор писал. K сожалению прошло много времени с тех пор...
Если вопросы будут постараюсь ответить.
Удачи!
Сергей.
PS:
У меня ушла неделя на Лекса/Яка и 3 дня на простейший интерпретор Basic'a , так что задача вполне решаемая.
Конечно вместо интерпретора можно сразу в ехе собирать.

Это сообщение отредактировал(а) sergej.z - 5.12.2004, 16:22


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
gepard
Дата 1.4.2004, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Ну вот сразу видно - программисты!
Я на других форумах вопрос задавал, так либо молчали, либо мазались тупыми вопросами, вроде:"А зачем тебе это? bored.gif "
Спасибо за ответы, пипл!
2 sergej.z:
Знаешь я не гуру и из твоего ответа ничерта не понял, кроме того, что
Цитата
Примеров в сети масса.
Я как то тоже интерпретор писал. K сожалению прошло много времени с тех пор...
Если вопросы будут постараюсь ответить.
Удачи!


Ладно, всё равно спасибо, что написал.


--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
sergejzr
Дата 1.4.2004, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Цитата

...из твоего ответа ничерта не понял..

Сорри конечно, поздновато уже было когда я отвечал smile.gif
По этой схеме построен например gcc.
Понять эту систему действительно довольно не просто (если до этого не программировал на Prolog'e, там система примерно такая же).
Я же сказал, у меня неделя ушла что бы разобраться.
Зато потом будет очень легко...

Просто иди по ссылке или набери в Google "lexx yacc example".
Удачи!
Сергей.




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Peter
Дата 14.5.2004, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(gepard @ 1.4.2004, 09:29)
Ну вот сразу видно - программисты!
Я на других форумах вопрос задавал, так либо молчали, либо мазались тупыми вопросами, вроде:"А зачем тебе это?

Можешь порекламировать этот форум. Хорошая вещь (я про форум).

Писали лет шесть назад курсовую по созданию компилятора. Все на словах было. Преподаватель жутко умный, чего не знаешь - у него спрашивай, в книжках можно было не копаться. Помню только, что для разбора выражений польскую запись составляли. А для "крупноблочного" разбора рекурсию использовали (точнее, я это писал - я ее и использовал).


--------------------
всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23).
PM MAIL WWW   Вверх
Jey_k
Дата 23.5.2004, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


WEB-командир
****


Профиль
Группа: Комодератор
Сообщений: 4149
Регистрация: 16.11.2003
Где: Москва

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



Peter
Если не секрет, где учишься(учился)?



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


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 450
Регистрация: 7.5.2004

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



gepard
заходи на irc - я те в pdf-е скину engineering a compiler. Мы в институте по этой книге как раз сейчас проходим


---------
или свяжись по icq

Это сообщение отредактировал(а) dargaard - 24.5.2004, 10:31


--------------------
Ты должна сделать добро из зла 
потому что его больше не из чего
сделать. Р.П.Уоррен
PM MAIL WWW ICQ   Вверх
Peter
Дата 24.5.2004, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Jey_k @ 23.5.2004, 20:32)
Peter
Если не секрет, где учишься(учился)?

В ставропольском политехе smile.gif
Упомянутый преподаватель - один из двух учивших нас, которых я уважаю. Потому-то он и достоин упоминания.


--------------------
всё, что делаете, делайте от души, как для Господа (Послание апостола Павла колоссянам, 3:23).
PM MAIL WWW   Вверх
dargaard
Дата 24.5.2004, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Экс. модератор
Сообщений: 450
Регистрация: 7.5.2004

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



http://www.cs.pdx.edu/~harry/compilers/syllabus.html
тут есть слаиды с занятий - для начального знакомства с принципами вроде соидут.


--------------------
Ты должна сделать добро из зла 
потому что его больше не из чего
сделать. Р.П.Уоррен
PM MAIL WWW ICQ   Вверх
gepard
Дата 28.5.2004, 10:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



2 dargaard:
Цитата
заходи на irc - я те в pdf-е скину engineering a compiler. Мы в институте по этой книге как раз сейчас проходим

А по мыльнице можешь? [email protected]
Слухай, а она(*.pdf'ка) на русском? Я-жеть задолбаюсь, если аглицкая.



--------------------
Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным!
© Я, Берсерк, что значит - Неистовый. 
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программное обеспечение"
Deface
Akella

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

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

Также запрещается обсуждение проблем работы этих программ (что куда вписать, куда что скопировать и т.п...)

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

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, Akella, bartram.

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


 




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


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

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