Интерпретатор, нужно сделать прогу на паскале |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Интерпретатор, нужно сделать прогу на паскале |
chessman |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Нужна прога на паскале-"Интерпретатор".
Может у кого -нибудь уже есть такая прога. Или помогите советом. |
volvo |
Сообщение
#2
|
Гость |
Интерпретатор чего имеется в виду? Чего интерпретировать должен?
Вот тут есть кое-что: Разбор и анализ строк |
Atos |
Сообщение
#3
|
Прогрессор Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
Поищи поиском по форуму, может быть здесь уже были похожие темы.
Посмотри вот эти исходники в прикреплённом файле(не гарантирую, что рабочие) Прикрепленные файлы Arifm.rar ( 21.7 килобайт ) Кол-во скачиваний: 465 |
chessman |
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Цитата(volvo @ 12.04.05 20:41) Интерпретатор чего имеется в виду? Чего интерпретировать должен? Вот тут есть кое-что: Разбор и анализ строк Огромное спасибо! Я там нашел многое что мне нужно.Я в паскале новичок ,так что если будут проблемы с пониманием кода надеюсь вы мне поможите |
Atos |
Сообщение
#5
|
Прогрессор Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
Если хочешь почитать теорию компиляторов, то завтра выложу одну книжку
Вот ещё статья из DRKB (правда о Object Pascal) З. Ы. И volvo опять меня опередил с ответом :p4: Сообщение отредактировано: Atos - Прикрепленные файлы Faq.rar ( 3.03 килобайт ) Кол-во скачиваний: 340 |
Atos |
Сообщение
#6
|
Прогрессор Группа: Пользователи Сообщений: 602 Пол: Мужской Реальное имя: Михаил Репутация: 9 |
См. присодинённые файлы. Первые две книжки по теории грамматик и компиляторов, третья - "Программирование для математиков" Кушниренко и Лебедева, классная книжка, на мой взгляд, дожна быть одной из настольных книг начинающего программиста, там тоже можно найти параграф про компиляторы.(Правда она тут только в текстовом формате, без рисунков )
Прикрепленные файлы softcraft.rar.rar ( 671 килобайт ) Кол-во скачиваний: 424 _______________________________.rar ( 792.15 килобайт ) Кол-во скачиваний: 448 kushnirenko_a_001.rar ( 172.5 килобайт ) Кол-во скачиваний: 827 |
chessman |
Сообщение
#7
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Цитата(Atos @ 13.04.05 8:40) См. присодинённые файлы. Первые две книжки по теории грамматик и компиляторов, третья - "Программирование для математиков" Кушниренко и Лебедева, классная книжка, на мой взгляд, дожна быть одной из настольных книг начинающего программиста, там тоже можно найти параграф про компиляторы.(Правда она тут только в текстовом формате, без рисунков ) Спасибо,но не могли бы выложить в .zip, с .rar проблемы... |
volvo |
Сообщение
#8
|
Гость |
chessman, скажи куда переслать (можно в приват ;) ), я вышлю... Сюда-то их зачем выкладывать? Они же в ZIP-е в 1.5 раза больше по размеру получатся (только softcraft займет 951К вместо 671К)
Общий размер в ZIP-е: 1.94Мб |
chessman |
Сообщение
#9
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Цитата(volvo @ 12.04.05 20:41) Вот тут есть кое-что: Разбор и анализ строк К сожалению там все проги написаны очень сложно для меня. Мне нужно сделать прогу-калькулятор: читает из файла текст,интерпретирует его и считает результат.Может кто-нибудь поможет сделать часть процедур. В принцепе они должны быть подобными... |
volvo |
Сообщение
#10
|
Гость |
Цитата(chessman @ 3.05.05 14:29) К сожалению там все проги написаны очень сложно для меня. В чем именно заключается сложность понимания тех программ? Цитата(chessman @ 3.05.05 14:29) Мне нужно сделать прогу-калькулятор: читает из файла текст,интерпретирует его и считает результат. Ну, извините, это в две строчки и не уложишь, для написания такой программы необходимо хорошо знать динамические структуры данных (в частности - стеки и списки), по другому анализатор выражений просто не напишешь... И какая разница, будем писать мы или взять то, что уже написано. Принцип-то один...Поэтому лучше выяснить непонятные места в программах, чем писать заново и получить то же самое (зато изобрести велосипед самому)... |
chessman |
Сообщение
#11
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Вот собственно програмка,более-менее мне понятная. Можно объяснить что делает каждая функция?Вообщем хотелось бы комментарии к проге. Сообщение отредактировано: volvo - |
volvo |
Сообщение
#12
|
Гость |
К сожалению, у меня эта программа вылетает с переполнением стека...
|
chessman |
Сообщение
#13
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Может быть тогда посоветуете какую из предложенных прог мне лучше взять?
|
volvo |
Сообщение
#14
|
Гость |
Цитата(volvo @ 3.05.05 17:26) К сожалению, у меня эта программа вылетает с переполнением стека... :no: Просто эта программа очень активно использует стек, рекурсии и т.д., так что размера стека по умолчанию ей не хватает. Первой строкой программы ставим директиву распределения памяти:{$M 32767, 0, 0}и все работает... |
chessman |
Сообщение
#15
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Репутация: 0 |
Если эта программа работает,то можно к ней комментарии?
|
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 Пол: Мужской Репутация: 0 |
Обьясните пожалуйста программу
|
volvo |
Сообщение
#19
|
Гость |
To: Antonio
Что именно в программе не понятно? Я уже добавлял основные комментарии ... |
Antonio |
Сообщение
#20
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
После компиляции ничего не происходит!!!
Зачем пример внутри кода??? |
Текстовая версия | 11.01.2025 9:24 |