![]() |
Здравствуйте, уважаемые коллеги!
У меня появилась идея создать свой очень маленькое подобие языка программирования... Возможно ли это сделать в одиночку??? Вопрос №2 : Как создать программу компилятор? И, опять же, возможно ли это в одиночку??? Заранее спасибо! :oszone: Добавлено: ПЛИИИЗ =) |
Alekssej
сейчас есть достаточно развитые средства для создания языков программирования. Посмотри документацию по бизону (одно из них) |
mar
А что такое "бизон" ??? |
bison http://www.gnu.org/software/bison/bison.html
еще посмотри YACC на вскидку сейчас больше не вспомню. Дома посмотрю - мы в прошлом году вставляли свой бейсик =) в программу, чтобы дать пользователям возможности втроенного языка для управления этой самой программой [s]Исправлено: mar, 19:37 19-01-2004[/s] |
mar
Огромное ФНКС :up: |
http://www.linux.org.ru/books/GNU/bison/bison_toc.html
ну и так далее, ссылок должно быть более ... одно предупреждение - это все счастье изначально существует под *nix, но под win тоже можно работать, ну и главное принципы работы в сети описаны =) |
mar
А где её скачать??? |
mar
Бизон - тот же як :) Только гнутый. Учитывая, что yacc продукт коммерческий, а так что в 100% виденных мной юнихов (и не только, просто там это как бы встречается почаще) yacc - всего лишь симлинк на bison, то упоминать о нём особого смысла не было, во всяком случаек после Бизона. Alekssej По первой ссылке, данной mar, есть сайты с которых можно утянуть сырцы. Кстати, что бы этим всем делом пользоваться надо знать C. Достаточно неплохо знать. К тому же, синтаксический анализатор - далеко не всё что нужно компилятору/интерпретатору. Советую почитать соответствующюю литературу. "Книга Дракона" - "Компиляторы: принципы, технологии, инструменты". Или как-то так, не является моей настольной книгой, а идти в соседнюю комнату уточнять лениво. *Так же неплохо б яндекс поспрашать о "теории и практике построения трансляторов", ну и схожие вопросы. |
ivank
не-а, только не симлинк =) у меня yacc и bison - отдельные самостоятельные бинарники, причем разные (специально сейчас проверила на linux (alt, debian, redhat) и freeBSD благо можно ходить ssh, а не ногами =)) А если найдешь точную ссылку, буду очень тхенкфул Alekssej насчет С - это вообще по умолчанию =) ivank абсолютно прав. Добавлено: ага! вот: Ахо А., Сети Р., Ульман Дж. Компиляторы. Принципы, технологии, инструменты http://citforum.muravlenko.ru/book/compiler/index.shtml |
я нашла эту книгу в электронном виде и выложила у себя на складе =) для желающих
http://www.bio.pu.ru/~mar/up.shtml NB объем порядка 6 Мб, формат djv, те для просмотра требуется плагин. (адрес для плагинов и тд по этому формату указан там же, на всякий случай там же выложен плагин под вин) А прошлогодних своих материалов что-то пока не найду =( Добавлено: нашла кучу всякого для виндов по этой теме, выкладывю по адресу: http://www.bio.pu.ru/~mar/basic/ может что кому и пригодится -) |
Alekssej
Да, кстати, если лень учить Си и знаком с шеллом, то милости просим: http://ivank.ru/blog/1072648801 :) Это от нефиг делать было написано... mar О yacc'е и bison'е немного попозже. |
mar, мое огромное спасибо за книгу. Да еще на русском... :up:
WFrag |
Guest
не за что - мне саймой было интересно ее найти =) давно хотелось |
Вообще, чтобы создать язык программирования (только формальный язык), нужно сделать для него лексический и синтаксический анализатор. Здесь понадобится теория формальных грамматик. Подробно это описано на сайте SoftCraft.ru. Далее по выбору - интерпритатор (прога запускается из программы-интерпритатора) или компилятор (создается исполняемый файл). Интерпритатор можно создать самому на основе выполнения команд программы на Вашем языке. Компилатор сделать сложнее - здесь нужна генерация кода... Вообще в сети много материалов по этому делу. Рекомендую прочитать книгу Ахо, Ульман, Сети "Компиляторы:разработка,...,... "
Lex-генератор лексических анализаторов, а YACC-то ли синтаксических, то ли всего вместе... |
Время: 13:31. |
Время: 13:31.
© OSzone.net 2001-