0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
1 | |
Написание интерпретируемого языка программирования02.09.2011, 16:45. Показов 5164. Ответов 17
Метки нет (Все метки)
Короче, я хочу овладеть языком Си и написать на нем свой интерпретируемый язык программирования
Но к сожалению, сейчас моих знаний не хватает даже на написание токенайзера, что меня не радует. Посоветуйте, какие задачи решать, какие алгоритмы реализовывать, что бы в конце-концов прийти к своей цели. П.С. Заранее хочу сказать, что готовые решения типа Флексов, Бизонов и т.д. предлогать не нужно. Добавлено через 1 минуту П.П.С. Тему про интерпретатор бейсика на С++ я читал, но это же С++, а не Си.
0
|
02.09.2011, 16:45 | |
Ответы с готовыми решениями:
17
По русскому названию языка программирования определить английское название этого языка Напутствие с выбором языка программирования Выбор языка программирования ООП Интерпретатор небольшого языка программирования на С++ |
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
02.09.2011, 17:17 [ТС] | 3 |
Ну ок, спасибо. А точное название?
0
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
03.09.2011, 16:04 [ТС] | 5 |
Спасибо, сейчас буду искать. Держи плюс )
Кто-то еще что нибудь может посоветовать?
0
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
|
03.09.2011, 16:23 | 6 |
Bizunov, если знакомы с английским, то очень советую книжку "Modern compiler implementation in C" — Andrew W. Appel. Всё объяснено очень хорошо, подробно, от начала до конца. В плане теории необходимые алгоритмы тоже описаны чётко. Плюс ко всему прочему, в конце каждой главы есть раздел "Упражнения", так что в плане практических задачек есть что порешать.
2
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
04.09.2011, 20:48 [ТС] | 8 |
Блин, не подходит. Почитал чуть-чуть (благо моих скудных знаний английского хватило для того, что бы понимать суть текста) и увидел Yacc, Lex... Я хочу пиисать все сам.
Ок, гляну. Но что0то мне подсказывает, что я там ничерта не пойму. Добавлено через 1 минуту
0
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
05.09.2011, 03:30 | 11 |
Еще можно почитать книгу "Компиляторы. Принципы, технологии, инструменты" за авторством Ахо, Лан, Сети, Ульмана. Там довольно-таки много материала посвящено именно лексическому анализу.
Тебя интересует написание интерпретатора именно на С? А то мог бы посоветовать чрезвычайно полезное чтиво.
1
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
05.09.2011, 04:53 | 12 |
Сообщение было отмечено как решение
Решение
По компиляторам литературы ДОФИГА! Вот небольшой списочек:
1. Ахо А., Сети Р., Ульман Д. Компиляторы: принципы, технологии и инструменты. – М.: Издательский дом «Вильямс», 2001. 2. Ахо А., Ульман Д. Теория синтаксического анализа, перевода и компиляции. Т.1. Синтаксический анализ. — М.: Мир, 1978. 3. Ахо А., Ульман Д. Теория синтаксического анализа, перевода и компиляции. Т.2. Компиляция. — М.: Мир, 1978. 4. Ахо А., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычисле-ний. – М.: Издательский дом «Вильямс», 2001. 5. Баррон Д. Ассемблеры и загрузчики. — М.: Мир, 1974. 6. Баррон Д. Введение в языки программирования. — М.: Мир, 1980. 7. Бейзер Б. Тестирование черного ящика. Технологии функционального тестиро-вания программного обеспечения и систем. — СПб.: Питер, 2004. 8. Бек Л. Введение в системное программирование. — М.: Мир, 1988. 9. Бен-Ари М. Языки программирования. Практический сравнительный анализ. — М.: Мир, 2000. 10. Браун П. Макропроцессоры и мобильность программного обеспечения. — М.: Мир, 1977. 11. Вайнгартен Ф. Трансляция языков программирования. — М.: Мир, 1977. 12. Винниченко И.В. Автоматизация процессов тестирования. — СПб.: Питер, 2005. 13. Вирт Н. Алгоритмы + данные = программы. — М.: Мир, 1985. 15. Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. – СПб.: Пи-тер, 2001. 16. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. — М.: Мир, 1975. 18. Донован Дж. Системное программирование. — М.:, Мир, 1975. 19. Зелковиц М., Шоу А., Гэннон Д. Принципы разработки программного обеспече-ния. — М.: Мир, 1982. 20. Карпов Ю.Г. Теория и практика программирования. Основы построения трансля-торов. — Спб.: БХВ-Петербург, 2005. 21. Касьянов В.Н., Поттосин И.В. Методы построения трансляторов. — Новоси-бирск, Наука. Сиб. Отделение, 1986. 22. Кемпбелл-Келли М. Введение в макросы. — М.: Мир, 1978. 28. Льюис Ф., Розенкранц Д., Стирнз Р. Теоретические основы построения компиля-торов. – М.: Мир, 1979. 30. Маккиман У., Хорнинг Дж., Уортман Д. Генератор компиляторов. — М.: Стати-стика, 1980. 31. Мозговой М.В. Классика программирования: алгоритмы, языки, автоматы, ком-пиляторы. Практический подход. — СПб.: Наука и техника, 2006. 32. Молчанов А.Ю. Системное программное обеспечение. Лабораторный практикум. — СПб.: Питер, 2005. 33. Опалева Э.А., Самойленко В.П. Языки и методы трансляции. — СПб.: БХВ-Петербург, 2005. 36. Пратт Т., Зелковиц М. Языки программирования: разработка и реализация. — СПб.: Питер, 2002. 37. Свердлов С.З. Языки программирования и методы трансляции: учебное пособие. — СПб.: Питер, 2007. Две последние - ИМХО на данный момент самые лучшие для того, чтобы въехать в предмет... Но есть еще: 46. Фостер Дж. Автоматический синтаксический анализ. — М.: Мир, 1975. 47. Хантер Р. Проектирование и конструирование компиляторов. — М.: Финансы и статистика, 1984. 48. Хантер Р. Основные концепции компиляторов. — М.: Издательский дом «Виль-ямс», 2002. 49. Хендрикс Ж. Компилятор языка Си для микроЭВМ. — М.: Радио и связь, 1989. 50. Хигман Б. Сравнительное изучение языков программирования. — М.: Мир, 1974. 52. Шилдт. Г. Искусство программирования на С++. — Спб.: БХВ-Петербург, 2005. В последней есть тоже про написание компиляторов-интерпретаторов. В 2010 году еще вышла книга Никлауса Вирта Построение компиляторов. Это - минимум, который надо знать.
3
|
Модератор
12458 / 7482 / 1753
Регистрация: 25.07.2009
Сообщений: 13,762
|
|
05.09.2011, 09:02 | 13 |
Bizunov, думаю, неплохой практикой будет xml-парсер написать. Начать с простого разбора и до взрослого варианта с форматированием и прочими радостями...
0
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
05.09.2011, 19:01 [ТС] | 14 |
Такс, коплю деньги )
Это не облегчает задачу. Его я плохо знаю + проект очень большой, для меня, по крайней мере.
0
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
05.09.2011, 21:48 | 16 |
Bizunov, советую взять исходники Evg отсюда (они написаны на C) и разобраться.
Представление выражения в двоичном дереве Пояснения к своему коду он даёт немного ниже: Представление выражения в двоичном дереве Это программа по разбору выражений. Мне в своё время очень помогло,и до последней версии интерпретатора можно увидеть использованные мной куски кода из его программы. А ещё почитайте теоретические выкладки Evg из темы про интерпретатор, во-первых,он приводит примеры на C,а во-вторых,теория не привязана к языку. Мне кажется, самый лучший способ - это начать писать, столкнуться с трудностями, и потом уже лезть в теорию. Мне так легче было понять, о чём же пишет Evg
1
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
07.09.2011, 18:50 [ТС] | 17 |
#pragma, спасибо, полистаю как нибудь.
Тут внезапно (точнее, ВНЕЗАПНО) началась учеба, по этому, сейчас ни чего не пробую написать. Вчера учил наизусть 14 страниц рукописного текста, блин. Предмет "Основы алгоритмизации и программирования" оказался очень суровым!
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
07.09.2011, 21:32 | 18 |
Зачем учить наизусть? С ума сошли?????
Думать над материалом надо, раскладывать по полочкам - и на практике пробовать применить. А учить наизусть - это УЖОС!!!!!!
2
|
07.09.2011, 21:32 | |
07.09.2011, 21:32 | |
Помогаю со студенческими работами здесь
18
перевести с одного языка программирования на другой Посоветуйте литературу по изучению языка программирования С++ ? Написание программ на нескольких языках программирования Разработайте лексический анализатор для языка программирования C-- Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |