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

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

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

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

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

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

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

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

По русскому названию языка программирования определить английское название этого языка - C++
Задача на перечисляемый тип P=(ада, бейсик, модула2, лисп, паскаль, пл2, фортран); A=(ada, basic, modula2, lisp, paskal, pl1. fortran);

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

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

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

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

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

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

Кто-то еще что нибудь может посоветовать?
0
Ma3a
Эксперт С++
618 / 462 / 31
Регистрация: 28.01.2011
Сообщений: 605
03.09.2011, 16:23 #6
Bizunov, если знакомы с английским, то очень советую книжку "Modern compiler implementation in C" — Andrew W. Appel. Всё объяснено очень хорошо, подробно, от начала до конца. В плане теории необходимые алгоритмы тоже описаны чётко. Плюс ко всему прочему, в конце каждой главы есть раздел "Упражнения", так что в плане практических задачек есть что порешать.
2
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
04.09.2011, 08:05 #7
Цитата Сообщение от Bizunov
Короче, я хочу овладеть языком Си и написать на нем свой интерпретируемый язык программирования
посмотри на python.org исходники
1
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 главы.
Кстати, эта книга только на английском?
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
04.09.2011, 20:53 #9
Цитата Сообщение от Bizunov Посмотреть сообщение
Кстати, эта книга только на английском?
Нет, на русском есть. Это же крутая книга, и как ее можно было не перевести.
0
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
05.09.2011, 02:16 #10
Цитата Сообщение от Bizunov
Ок, гляну. Но что0то мне подсказывает, что я там ничерта не пойму.
питон сделан на C89
0
Nameless One
Эксперт С++
5775 / 3425 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
05.09.2011, 03:30 #11
Еще можно почитать книгу "Компиляторы. Принципы, технологии, инструменты" за авторством Ахо, Лан, Сети, Ульмана. Там довольно-таки много материала посвящено именно лексическому анализу.
Тебя интересует написание интерпретатора именно на С? А то мог бы посоветовать чрезвычайно полезное чтиво.
1
ValeryLaptev
Эксперт С++
1041 / 820 / 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 году еще вышла книга Никлауса Вирта Построение компиляторов. Это - минимум, который надо знать.
3
easybudda
Модератор
Эксперт CЭксперт С++
9683 / 5633 / 956
Регистрация: 25.07.2009
Сообщений: 10,813
05.09.2011, 09:02 #13
Bizunov, думаю, неплохой практикой будет xml-парсер написать. Начать с простого разбора и до взрослого варианта с форматированием и прочими радостями...
0
Bizunov
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
05.09.2011, 19:01  [ТС] #14
Цитата Сообщение от Dani Посмотреть сообщение
Нет, на русском есть. Это же крутая книга, и как ее можно было не перевести.
Такс, коплю деньги )
Цитата Сообщение от accept Посмотреть сообщение
питон сделан на C89
Это не облегчает задачу. Его я плохо знаю + проект очень большой, для меня, по крайней мере.
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
05.09.2011, 20:24 #15
Цитата Сообщение от Bizunov Посмотреть сообщение
Такс, коплю деньги )
я на нее кучу денег убухал 60 баксов почти
0
05.09.2011, 20:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.09.2011, 20:24
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

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