|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
Написание интерпретируемого языка программирования02.09.2011, 16:45. Показов 5628. Ответов 17
Метки нет (Все метки)
Короче, я хочу овладеть языком Си и написать на нем свой интерпретируемый язык программирования
![]() Но к сожалению, сейчас моих знаний не хватает даже на написание токенайзера, что меня не радует. Посоветуйте, какие задачи решать, какие алгоритмы реализовывать, что бы в конце-концов прийти к своей цели. П.С. Заранее хочу сказать, что готовые решения типа Флексов, Бизонов и т.д. предлогать не нужно. Добавлено через 1 минуту П.П.С. Тему про интерпретатор бейсика на С++ я читал, но это же С++, а не Си.
0
|
|
| 02.09.2011, 16:45 | |
|
Ответы с готовыми решениями:
17
По русскому названию языка программирования определить английское название этого языка Напутствие с выбором языка программирования Выбор языка программирования ООП |
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
| 02.09.2011, 17:17 [ТС] | |
|
Ну ок, спасибо. А точное название?
0
|
|
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
| 03.09.2011, 16:04 [ТС] | |
|
Спасибо, сейчас буду искать. Держи плюс )
Кто-то еще что нибудь может посоветовать?
0
|
|
|
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
|
|
| 03.09.2011, 16:23 | |
|
Bizunov, если знакомы с английским, то очень советую книжку "Modern compiler implementation in C" — Andrew W. Appel. Всё объяснено очень хорошо, подробно, от начала до конца. В плане теории необходимые алгоритмы тоже описаны чётко. Плюс ко всему прочему, в конце каждой главы есть раздел "Упражнения", так что в плане практических задачек есть что порешать.
2
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 04.09.2011, 08:05 | ||
1
|
||
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
||||
| 04.09.2011, 20:48 [ТС] | ||||
|
Добавлено через 1 минуту
0
|
||||
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 05.09.2011, 02:16 | ||
0
|
||
|
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
|
|
| 05.09.2011, 03:30 | |
|
Еще можно почитать книгу "Компиляторы. Принципы, технологии, инструменты" за авторством Ахо, Лан, Сети, Ульмана. Там довольно-таки много материала посвящено именно лексическому анализу.
Тебя интересует написание интерпретатора именно на С? А то мог бы посоветовать чрезвычайно полезное чтиво.
1
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
|
| 05.09.2011, 04:53 | |
Сообщение было отмечено как решение
Решение
По компиляторам литературы ДОФИГА! Вот небольшой списочек:
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
|
|
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
|
| 05.09.2011, 09:02 | |
|
Bizunov, думаю, неплохой практикой будет xml-парсер написать. Начать с простого разбора и до взрослого варианта с форматированием и прочими радостями...
0
|
|
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|||
| 05.09.2011, 19:01 [ТС] | |||
|
0
|
|||
|
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
|
|
| 05.09.2011, 21:48 | |
|
Bizunov, советую взять исходники Evg отсюда (они написаны на C) и разобраться.
Представление выражения в двоичном дереве Пояснения к своему коду он даёт немного ниже: Представление выражения в двоичном дереве Это программа по разбору выражений. Мне в своё время очень помогло,и до последней версии интерпретатора можно увидеть использованные мной куски кода из его программы. А ещё почитайте теоретические выкладки Evg из темы про интерпретатор, во-первых,он приводит примеры на C,а во-вторых,теория не привязана к языку. Мне кажется, самый лучший способ - это начать писать, столкнуться с трудностями, и потом уже лезть в теорию. Мне так легче было понять, о чём же пишет Evg
1
|
|
|
0 / 0 / 0
Регистрация: 03.06.2011
Сообщений: 23
|
|
| 07.09.2011, 18:50 [ТС] | |
|
#pragma, спасибо, полистаю как нибудь.
Тут внезапно (точнее, ВНЕЗАПНО) началась учеба, по этому, сейчас ни чего не пробую написать. Вчера учил наизусть 14 страниц рукописного текста, блин. Предмет "Основы алгоритмизации и программирования" оказался очень суровым!
0
|
|
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||
| 07.09.2011, 21:32 | ||
|
Думать над материалом надо, раскладывать по полочкам - и на практике пробовать применить. А учить наизусть - это УЖОС!!!!!!
2
|
||
| 07.09.2011, 21:32 | |
|
Помогаю со студенческими работами здесь
18
Интерпретатор небольшого языка программирования на С++ перевести с одного языка программирования на другой Посоветуйте литературу по изучению языка программирования С++ ? Написание программ на нескольких языках программирования Разработайте лексический анализатор для языка программирования C-- Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|