Войти

Показать полную графическую версию : Немного о языках программирования


Alekssej
19-01-2004, 18:19
Здравствуйте, уважаемые коллеги!
У меня появилась идея создать свой очень маленькое подобие языка программирования... Возможно ли это сделать в одиночку???
Вопрос №2 :
Как создать программу компилятор?
И, опять же, возможно ли это в одиночку???
Заранее спасибо!
:oszone:

Добавлено:

ПЛИИИЗ =)

mar
19-01-2004, 19:27
Alekssej
сейчас есть достаточно развитые средства для создания языков программирования. Посмотри документацию по бизону (одно из них)

Alekssej
19-01-2004, 19:30
mar

А что такое "бизон" ???

mar
19-01-2004, 19:36
bison http://www.gnu.org/software/bison/bison.html
еще посмотри YACC
на вскидку сейчас больше не вспомню. Дома посмотрю - мы в прошлом году вставляли свой бейсик =) в программу, чтобы дать пользователям возможности втроенного языка для управления этой самой программой

Исправлено: mar, 19:37 19-01-2004

Alekssej
19-01-2004, 19:37
mar

Огромное ФНКС :up:

mar
19-01-2004, 19:41
http://www.linux.org.ru/books/GNU/bison/bison_toc.html
ну и так далее, ссылок должно быть более ...
одно предупреждение - это все счастье изначально существует под *nix, но под win тоже можно работать, ну и главное принципы работы в сети описаны =)

Alekssej
19-01-2004, 19:42
mar

А где её скачать???

ivank
19-01-2004, 20:31
mar
Бизон - тот же як :) Только гнутый. Учитывая, что yacc продукт коммерческий, а так что в 100% виденных мной юнихов (и не только, просто там это как бы встречается почаще) yacc - всего лишь симлинк на bison, то упоминать о нём особого смысла не было, во всяком случаек после Бизона.

Alekssej
По первой ссылке, данной mar, есть сайты с которых можно утянуть сырцы.

Кстати, что бы этим всем делом пользоваться надо знать C. Достаточно неплохо знать.

К тому же, синтаксический анализатор - далеко не всё что нужно компилятору/интерпретатору. Советую почитать соответствующюю литературу. "Книга Дракона" - "Компиляторы: принципы, технологии, инструменты". Или как-то так, не является моей настольной книгой, а идти в соседнюю комнату уточнять лениво. *Так же неплохо б яндекс поспрашать о "теории и практике построения трансляторов", ну и схожие вопросы.

mar
19-01-2004, 20:46
ivank
не-а, только не симлинк =) у меня
yacc и bison - отдельные самостоятельные бинарники, причем разные
(специально сейчас проверила на linux (alt, debian, redhat) и freeBSD благо можно ходить ssh, а не ногами =))
А если найдешь точную ссылку, буду очень тхенкфул
Alekssej
насчет С - это вообще по умолчанию  =) ivank абсолютно прав.


Добавлено:

ага! вот:
Ахо А., Сети Р., Ульман Дж.
Компиляторы. Принципы, технологии, инструменты
http://citforum.muravlenko.ru/book/compiler/index.shtml

mar
20-01-2004, 16:27
я нашла эту книгу в электронном виде и выложила у себя на складе =) для желающих
http://www.bio.pu.ru/~mar/up.shtml
NB объем порядка 6 Мб, формат djv, те для просмотра требуется плагин. (адрес для плагинов и тд по этому формату указан там же, на всякий случай там же выложен плагин под вин)
А прошлогодних своих материалов что-то пока не найду =(

Добавлено:

нашла кучу всякого для виндов по этой теме, выкладывю по адресу: http://www.bio.pu.ru/~mar/basic/ может что кому и пригодится -)

ivank
20-01-2004, 19:47
Alekssej
Да, кстати, если лень учить Си и знаком с шеллом, то милости просим: http://ivank.ru/blog/1072648801 :) Это от нефиг делать было написано...

mar
О yacc'е и bison'е немного попозже.

Guest
18-02-2004, 18:47
mar, мое огромное спасибо за книгу. Да еще на русском... :up:


WFrag

mar
19-02-2004, 13:52
Guest
не за что - мне саймой было интересно ее найти =) давно хотелось

Guest
19-02-2004, 22:25
Вообще, чтобы создать язык программирования (только формальный язык), нужно сделать для него лексический и синтаксический анализатор. Здесь понадобится теория формальных грамматик. Подробно это описано на сайте SoftCraft.ru. Далее по выбору - интерпритатор (прога запускается из программы-интерпритатора) или компилятор (создается исполняемый файл). Интерпритатор можно создать самому на основе выполнения команд программы на Вашем языке. Компилатор сделать сложнее - здесь нужна генерация кода... Вообще в сети много материалов по этому делу. Рекомендую прочитать книгу Ахо, Ульман, Сети "Компиляторы:разработка,...,...  "

Lex-генератор лексических анализаторов, а YACC-то ли синтаксических, то ли всего вместе...




© OSzone.net 2001-2012