![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
chessman |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Нужна прога на паскале-"Интерпретатор".
Может у кого -нибудь уже есть такая прога. Или помогите советом. |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Интерпретатор чего имеется в виду? Чего интерпретировать должен?
Вот тут есть кое-что: Разбор и анализ строк |
Atos |
![]()
Сообщение
#3
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Поищи поиском по форуму, может быть здесь уже были похожие темы.
Посмотри вот эти исходники в прикреплённом файле(не гарантирую, что рабочие) Прикрепленные файлы ![]() |
chessman |
![]()
Сообщение
#4
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 12.04.05 20:41) Интерпретатор чего имеется в виду? Чего интерпретировать должен? Вот тут есть кое-что: Разбор и анализ строк Огромное спасибо! Я там нашел многое что мне нужно.Я в паскале новичок ,так что если будут проблемы с пониманием кода надеюсь вы мне поможите ![]() |
Atos |
![]()
Сообщение
#5
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
Если хочешь почитать теорию компиляторов, то завтра выложу одну книжку
Вот ещё статья из DRKB (правда о Object Pascal) З. Ы. И volvo опять меня опередил с ответом :p4: ![]() Сообщение отредактировано: Atos - 12.04.2005 17:08 Прикрепленные файлы ![]() |
Atos |
![]()
Сообщение
#6
|
![]() Прогрессор ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: ![]() ![]() ![]() |
См. присодинённые файлы. Первые две книжки по теории грамматик и компиляторов, третья - "Программирование для математиков" Кушниренко и Лебедева, классная книжка, на мой взгляд, дожна быть одной из настольных книг начинающего программиста, там тоже можно найти параграф про компиляторы.(Правда она тут только в текстовом формате, без рисунков
![]() Прикрепленные файлы ![]() ![]() ![]() |
chessman |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(Atos @ 13.04.05 8:40) См. присодинённые файлы. Первые две книжки по теории грамматик и компиляторов, третья - "Программирование для математиков" Кушниренко и Лебедева, классная книжка, на мой взгляд, дожна быть одной из настольных книг начинающего программиста, там тоже можно найти параграф про компиляторы.(Правда она тут только в текстовом формате, без рисунков ![]() Спасибо,но не могли бы выложить в .zip, с .rar проблемы... |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
chessman, скажи куда переслать (можно в приват ;) ), я вышлю... Сюда-то их зачем выкладывать? Они же в ZIP-е в 1.5 раза больше по размеру получатся (только softcraft займет 951К вместо 671К)
Общий размер в ZIP-е: 1.94Мб |
chessman |
![]()
Сообщение
#9
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата(volvo @ 12.04.05 20:41) Вот тут есть кое-что: Разбор и анализ строк К сожалению там все проги написаны очень сложно для меня. Мне нужно сделать прогу-калькулятор: читает из файла текст,интерпретирует его и считает результат.Может кто-нибудь поможет сделать часть процедур. ![]() В принцепе они должны быть подобными... |
volvo |
![]()
Сообщение
#10
|
Гость ![]() |
Цитата(chessman @ 3.05.05 14:29) К сожалению там все проги написаны очень сложно для меня. В чем именно заключается сложность понимания тех программ? Цитата(chessman @ 3.05.05 14:29) Мне нужно сделать прогу-калькулятор: читает из файла текст,интерпретирует его и считает результат. Ну, извините, это в две строчки и не уложишь, для написания такой программы необходимо хорошо знать динамические структуры данных (в частности - стеки и списки), по другому анализатор выражений просто не напишешь... И какая разница, будем писать мы или взять то, что уже написано. Принцип-то один...Поэтому лучше выяснить непонятные места в программах, чем писать заново и получить то же самое (зато изобрести велосипед самому)... |
chessman |
![]()
Сообщение
#11
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот собственно програмка,более-менее мне понятная. Можно объяснить что делает каждая функция?Вообщем хотелось бы комментарии к проге. Сообщение отредактировано: volvo - 4.11.2010 15:10 |
volvo |
![]()
Сообщение
#12
|
Гость ![]() |
К сожалению, у меня эта программа вылетает с переполнением стека...
|
chessman |
![]()
Сообщение
#13
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Может быть тогда посоветуете какую из предложенных прог мне лучше взять?
|
volvo |
![]()
Сообщение
#14
|
Гость ![]() |
Цитата(volvo @ 3.05.05 17:26) К сожалению, у меня эта программа вылетает с переполнением стека... :no: Просто эта программа очень активно использует стек, рекурсии и т.д., так что размера стека по умолчанию ей не хватает. Первой строкой программы ставим директиву распределения памяти:{$M 32767, 0, 0}и все работает... |
chessman |
![]()
Сообщение
#15
|
Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: ![]() ![]() ![]() |
Если эта программа работает,то можно к ней комментарии?
|
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Общие комментарии добавлены. Для более детального объяснения алгоритма работы программы - обращайтесь к автору...
|
volvo |
![]()
Сообщение
#17
|
Гость ![]() |
chessman, кстати эту программу можно немного упростить для понимания, если использовать процедурные типы. Ну, например, вот так:
вместо того, чтобы явно перечислять все функции (и их параметры), как сделано здесь if ss='sin' then s:=copy (s,1,k)+stt(sin (stt_(s_)))+copy (s,i+1,l); будет лучше предварительно определить нужные функции и... type Теперь в случае добавления новых функций не нужно будет менять сам CALC, достаточно добавить имя и указатель на функцию в массив CF и увеличить SIZE_FUNC... ![]() |
Antonio |
![]()
Сообщение
#18
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
Обьясните пожалуйста программу
|
volvo |
![]()
Сообщение
#19
|
Гость ![]() |
To: Antonio
Что именно в программе не понятно? Я уже добавлял основные комментарии ... |
Antonio |
![]() ![]()
Сообщение
#20
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: ![]() ![]() ![]() |
После компиляции ничего не происходит!!!
Зачем пример внутри кода??? |
![]() ![]() |
![]() |
Текстовая версия | 18.06.2025 4:47 |