Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.92
Bizunov
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
#1

Написание интерпретируемого языка программирования - C++

02.09.2011, 16:45. Просмотров 3155. Ответов 17
Метки нет (Все метки)

Короче, я хочу овладеть языком Си и написать на нем свой интерпретируемый язык программирования
Но к сожалению, сейчас моих знаний не хватает даже на написание токенайзера, что меня не радует. Посоветуйте, какие задачи решать, какие алгоритмы реализовывать, что бы в конце-концов прийти к своей цели.

П.С. Заранее хочу сказать, что готовые решения типа Флексов, Бизонов и т.д. предлогать не нужно.

Добавлено через 1 минуту
П.П.С. Тему про интерпретатор бейсика на С++ я читал, но это же С++, а не Си.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2011, 16:45     Написание интерпретируемого языка программирования
Посмотрите здесь:

Интерпретатор небольшого языка программирования на С++ - C++
Здравствуйте, уважаемые форумчане! Я тут где-то год назад прочитал тему Evg и #pragma о создании интерпретатора, меня эта тема очень...

Выбор языка программирования ООП - C++
Программирую на php&mysql. Знаю Си. (Си изучал чтобы написать модулей для php). Хотелось бы изучить ООП вот только в качестве...

Напутствие с выбором языка программирования - C++
Здравствуйте нужна помощь от опытных участников в нескольких вопросах 1) Нормально ли пойдет C++ как первый язык программирование или...

Посоветуйте литературу по изучению языка программирования С++ ? - C++
Всем добрый вечер! Посоветуйте толковые книжки по программированию на языке С++ с нуля ? Тоесть раньше вообще не занимался...

перевести с одного языка программирования на другой - C++
условие задачи Вариант 1. Получить квадратную матрицу A размером NN (N – случайное число от 4 до 10) вида: . Заменить на (-1)...

Записать по правилам языка программирования заданную формулу - C++
Записать по правилам языка программирования заданную формулу. Составить программу вычисления значений по ней для Х, принадлежащего отрезку...

Запись выражения в соответствии с правилами языка программирования - C++
Добрый день, получил учебное задание, записать выражение в соответствии с правилами языка программирования, так как с++ я знаю плохо, полез...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
02.09.2011, 16:46     Написание интерпретируемого языка программирования #2
Для начала в книге Страуструпа есть 2 главы про калькулятор и выделение лексем, кстати там коворится, что при создании языка он и использовал лексемы. Почитайте.
Bizunov
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
02.09.2011, 17:17  [ТС]     Написание интерпретируемого языка программирования #3
Ну ок, спасибо. А точное название?
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
02.09.2011, 18:15     Написание интерпретируемого языка программирования #4
Цитата Сообщение от Bizunov Посмотреть сообщение
Ну ок, спасибо. А точное название?
Программирование принципы и практика использования с++. В моей книге (издание 2011) это 6,7 главы.
Bizunov
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
03.09.2011, 16:04  [ТС]     Написание интерпретируемого языка программирования #5
Спасибо, сейчас буду искать. Держи плюс )

Кто-то еще что нибудь может посоветовать?
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
03.09.2011, 16:23     Написание интерпретируемого языка программирования #6
Bizunov, если знакомы с английским, то очень советую книжку "Modern compiler implementation in C" — Andrew W. Appel. Всё объяснено очень хорошо, подробно, от начала до конца. В плане теории необходимые алгоритмы тоже описаны чётко. Плюс ко всему прочему, в конце каждой главы есть раздел "Упражнения", так что в плане практических задачек есть что порешать.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2011, 08:05     Написание интерпретируемого языка программирования #7
Цитата Сообщение от Bizunov
Короче, я хочу овладеть языком Си и написать на нем свой интерпретируемый язык программирования
посмотри на python.org исходники
Bizunov
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
04.09.2011, 20:48  [ТС]     Написание интерпретируемого языка программирования #8
Цитата Сообщение от Ma3a Посмотреть сообщение
"Modern compiler implementation in C"
Блин, не подходит. Почитал чуть-чуть (благо моих скудных знаний английского хватило для того, что бы понимать суть текста) и увидел Yacc, Lex... Я хочу пиисать все сам.
Цитата Сообщение от accept Посмотреть сообщение
посмотри на python.org исходники
Ок, гляну. Но что0то мне подсказывает, что я там ничерта не пойму.

Добавлено через 1 минуту
Программирование принципы и практика использования с++. В моей книге (издание 2011) это 6,7 главы.
Кстати, эта книга только на английском?
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
04.09.2011, 20:53     Написание интерпретируемого языка программирования #9
Цитата Сообщение от Bizunov Посмотреть сообщение
Кстати, эта книга только на английском?
Нет, на русском есть. Это же крутая книга, и как ее можно было не перевести.
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.09.2011, 02:16     Написание интерпретируемого языка программирования #10
Цитата Сообщение от Bizunov
Ок, гляну. Но что0то мне подсказывает, что я там ничерта не пойму.
питон сделан на C89
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
05.09.2011, 03:30     Написание интерпретируемого языка программирования #11
Еще можно почитать книгу "Компиляторы. Принципы, технологии, инструменты" за авторством Ахо, Лан, Сети, Ульмана. Там довольно-таки много материала посвящено именно лексическому анализу.
Тебя интересует написание интерпретатора именно на С? А то мог бы посоветовать чрезвычайно полезное чтиво.
ValeryLaptev
Эксперт С++
1035 / 814 / 48
Регистрация: 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 году еще вышла книга Никлауса Вирта Построение компиляторов. Это - минимум, который надо знать.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
05.09.2011, 09:02     Написание интерпретируемого языка программирования #13
Bizunov, думаю, неплохой практикой будет xml-парсер написать. Начать с простого разбора и до взрослого варианта с форматированием и прочими радостями...
Bizunov
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
05.09.2011, 19:01  [ТС]     Написание интерпретируемого языка программирования #14
Цитата Сообщение от Dani Посмотреть сообщение
Нет, на русском есть. Это же крутая книга, и как ее можно было не перевести.
Такс, коплю деньги )
Цитата Сообщение от accept Посмотреть сообщение
питон сделан на C89
Это не облегчает задачу. Его я плохо знаю + проект очень большой, для меня, по крайней мере.
Dani
1278 / 636 / 56
Регистрация: 11.08.2011
Сообщений: 2,277
Записей в блоге: 2
Завершенные тесты: 1
05.09.2011, 20:24     Написание интерпретируемого языка программирования #15
Цитата Сообщение от Bizunov Посмотреть сообщение
Такс, коплю деньги )
я на нее кучу денег убухал 60 баксов почти
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
05.09.2011, 21:48     Написание интерпретируемого языка программирования #16
Bizunov, советую взять исходники Evg отсюда (они написаны на C) и разобраться.
Представление выражения в двоичном дереве
Пояснения к своему коду он даёт немного ниже:
Представление выражения в двоичном дереве
Это программа по разбору выражений. Мне в своё время очень помогло,и до последней версии интерпретатора можно увидеть использованные мной куски кода из его программы. А ещё почитайте теоретические выкладки Evg из темы про интерпретатор, во-первых,он приводит примеры на C,а во-вторых,теория не привязана к языку.
Мне кажется, самый лучший способ - это начать писать, столкнуться с трудностями, и потом уже лезть в теорию. Мне так легче было понять, о чём же пишет Evg
Bizunov
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
07.09.2011, 18:50  [ТС]     Написание интерпретируемого языка программирования #17
#pragma, спасибо, полистаю как нибудь.
Тут внезапно (точнее, ВНЕЗАПНО) началась учеба, по этому, сейчас ни чего не пробую написать. Вчера учил наизусть 14 страниц рукописного текста, блин. Предмет "Основы алгоритмизации и программирования" оказался очень суровым!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2011, 21:32     Написание интерпретируемого языка программирования
Еще ссылки по теме:

С помощью языка программирования С++ разработать тестовую оболочку - C++
Как с помощью языка программирования С++ разработать тестовую оболочку? Пожалуйста помогите...

Разработайте лексический анализатор для языка программирования C-- - C++
Лексемы, допустимые в языке: letter ::= a | b | ... | z | A | B | ... | Z digit ::= 0 | 1 | ... | 9 char ::= \' | " | \n | \t |...

Написание программ на нескольких языках программирования - C++
Написание программ на нескольких языках программирования - слышал, что так можно делать. А как? (Просто для интереса спросил.)

Написание пакетной утилиты ДОС средствами языка высокого уровня - C++
помогите с лабораторной пожалуйста. Тема: Написание пакетной утилиты ДОС средствами языка высокого уровня Цель: Освоить средства...

Нужен совет по выбору языка программирования для front-end-a - C++
Доброго времени суток. Я не особо сильна в программировании. У меня на данный момент есть back-end на C++ и необходимо сделать более-менее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ValeryLaptev
Эксперт С++
1035 / 814 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
07.09.2011, 21:32     Написание интерпретируемого языка программирования #18
Цитата Сообщение от Bizunov Посмотреть сообщение
#pragma, спасибо, полистаю как нибудь.
Тут внезапно (точнее, ВНЕЗАПНО) началась учеба, по этому, сейчас ни чего не пробую написать. Вчера учил наизусть 14 страниц рукописного текста, блин. Предмет "Основы алгоритмизации и программирования" оказался очень суровым!
Зачем учить наизусть? С ума сошли?????
Думать над материалом надо, раскладывать по полочкам - и на практике пробовать применить.
А учить наизусть - это УЖОС!!!!!!
Yandex
Объявления
07.09.2011, 21:32     Написание интерпретируемого языка программирования
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru