Автор | Сообщение |
Levon
|
| |
Пост N: 1
Зарегистрирован: 10.05.11
|
|
Отправлено: 10.05.11 13:24. Заголовок: Программа выдаёт сообщение too many servers !!!...
Имеется программа знаю что она написана на Clipper и FoxBase II 1988 года выпуска. При необходимости могу прогу выслать. После того как я переустановил компьютер на котором эта прога работала стало появляться такое сообщение До переустановки она отлично работала. А пограммист который её настраивал скончался теперь не знаю как её запустить. Если кто нибудь знает что делать пожалуйста подскажите.
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|
Andrey
|
| постоянный участник
|
Пост N: 1762
Зарегистрирован: 12.09.06
|
|
Отправлено: 23.05.11 13:09. Заголовок: vvv пишет: А какие..
vvv пишет: цитата: | А какие языки тогда отнести к компиляторам? |
| Asm C Pascal
|
|
|
vvv
|
| |
Пост N: 13
Зарегистрирован: 24.02.11
|
|
Отправлено: 24.05.11 07:51. Заголовок: Ну не сам же я это п..
|
|
|
Pasha
|
| Администратор
|
Пост N: 1945
Зарегистрирован: 23.05.05
|
|
Отправлено: 24.05.11 15:47. Заголовок: vvv пишет: Нигде не..
vvv пишет: цитата: | Нигде не нашел, что clipper-интерпретатор. |
| Чтобы немного отвлечься: вот 1эсники тоже спорят на ту же тему http://www.forum.mista.ru/topic.php?id=378021 А Владимир в крайнем посте правильно описал, как работает клиппер Мы настолько давно знаем клиппер, и многие копались в его кишках достаточно глубоко, что этот диспут немного странен. Как всегда, все говорят об одном и том же, но одни и те же термины понимают по разному. А клиппер работает и как компилятор в пи-код, и как интерпретатор этого кода в runtime
|
|
|
Григорьев Владимир
|
| постоянный участник
|
Пост N: 385
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.05.11 16:32. Заголовок: vvv пишет: Но ведь ..
vvv пишет: цитата: | Но ведь чтобы запустить exe-шку, не надо иметь на компьютере никакого интерпретатора! Все, что вы перечислили, делается один раз при создании исполняемого модуля и больше для работы программы не нужно. PS. А какие языки тогда отнести к компиляторам? |
| Вы так и не поняли, что я написал! Вы запускаете как раз интерпретатор! То есть когда вы запускаете, якобы, свою программу, как вы наивно думаете, вы запускаете интерпретатор Clipper, к загрузочному модулю которого был присоединен P-код, который этим интерпретатором будет интерпретироваться! Чтобы вам было понятно, то есть некая аналогия между Windows-программой, к которой в exe-модуль, например, вставляются BMP-файлы. Тем не менее BMP-данные как были данными, а не машиннами командами, так ими и остались. К компиляторам относятся те средства, которые переводят исходный код в коды машинных команд!
|
|
|
Григорьев Владимир
|
| постоянный участник
|
Пост N: 386
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.05.11 16:41. Заголовок: vvv пишет: Ну не са..
vvv пишет: цитата: | Ну не сам же я это придумал. ... Нигде не нашел, что clipper-интерпретатор. |
| Я не стал читать ваши ссылки, так как они ничего абсолютно не доказывают! Я вам уже изложил суть дела. Чтобы вам еще более было понятно, то компилятор Clipper переводит, например, следуюший предложение с присваиванием LOCAL n; n = 9; Примерно в следующий код 0300 36 0900 2F 0100 Я набирал его по памяти, но это близко к действительным кодам. Первые два означают номер строки. где встретилась команда Clipper в исходном коде. Затем следует терм, который означает, что за ним идет целое число. Затем следует терм (P-код) 2F, который означает, что следует локальная переменная, а затем номер этой локальной переменной в последорвательности объявлений переменных в функции. Это не машинный код. Он не может непосредственно быть выполнен ни на одной машине. Для его выполнения требуется некоторый интерпретатор, который уже этот код будет переводить в машинные команды. Вот Clipper и делает это, включая в каждый итоговый загрузочный модуль интерпретатор этого кода и сам интерпретируемый код. То есть какие могут быть стратегии работы интерпретатора? Можно иметь один интерпретатор на машине, который будет интерпретировать все исходные коды. А можно каждый исходный код, предварительно переведя его в некую промежуточную форму, скомпоновать вместе с интерпретатором. Вот это и делает Clipper. То есть когда вы запускаете на выполнение exe-модуль, вы запускаете на выполнение интерпретатор! И этот интерпретатор начинает интерпретировать тот промежуточный код, который компилятор Clipper создал и присоединил к загрузочному модулю интерпретатора.
|
|
|
Pasha
|
| Администратор
|
Пост N: 1946
Зарегистрирован: 23.05.05
|
|
Отправлено: 25.05.11 18:40. Заголовок: Григорьев Владимир п..
Григорьев Владимир пишет: цитата: | Вот Clipper и делает это, включая в каждый итоговый загрузочный модуль интерпретатор этого кода и сам интерпретируемый код. |
| И этот интерпретатор имеет даже собственное имя: __PLANKTON Познакомиться, как работает клиппер, достаточно просто, и это может сделать любой интересующийся в домашних условиях, используя подручные средства. Надо взять обыкновенный хирургический скальпель дизассемблер watcom, аккуратно сделать надрез дизассемблировать любой клипперовский obj, и внимательно изучить строение внутренних органов пациента получившийся текст на asm. Мы увидим, что компилятор клиппер для каждой клипперовской процедуры или функции создает в сегменте кода файла obj маленькую функцию, а в сегменте данных - пи-код функции клиппера. Маленькая функция состоит из вызова интерпретатора __PLANKTON, в качестве параметра которой передается ссылка на пи-код. Таким образом, при вызове функции она в свою очередь вызывает интерпретатор, который собственно и выполняет пи-код. Примерно так работает и харбор, только в качестве интерпретатора у него используется Harbour Virtual Machine (HVM). Правда, харбор поддерживает и создание исполняемого кода без интерпретатора. В этом режиме для выполнения каждой пи-команды вызывается соответствующая функция. Но и клиппер, как и харбор, являются также полноценными компиляторами. Выходом компилятора не обязательно должен быть машинный код. А построены они оба как классические компиляторы. По поводу харбора я встречал суждение людей, поверхностно с ним познакомившихся, что это "всего-лишь" препроцессор для С. Это не так, и внешнее сходство не должно скрывать сути его работы.
|
|
|
Григорьев Владимир
|
| постоянный участник
|
Пост N: 387
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.05.11 19:29. Заголовок: Pasha пишет: И этот..
Pasha пишет: цитата: | И этот интерпретатор имеет даже собственное имя: __PLANKTON |
| Я хотел это добавить, но не стал усложнять вопрос. Помимо __PLANKTON есть также модули, которые обрабатывают макросы. Я по памяти уже не помню, как эти модули называются.. Но не так давно я как раз восстановил лексический анализатор интерпретатора макросов. Следствием этого было мое сообщение на \этом форуме про причуды компилятора Clipper.
|
|
|
Haz
|
| |
Пост N: 45
Зарегистрирован: 20.02.11
|
|
Отправлено: 25.05.11 22:05. Заголовок: Во понаписали !!!
Во понаписали то ! Levon задал вопрос, получил ответ и счастлив на этом, помогли ему на форуме и отлично, на то он и форум. Мужики, но чего вы на vvv накинулись ? Человек перерыл кучу ссылок, и то что там писанина мягко говоря ни очем - не его вина. Да, vvv поднял тему которая лет 15 -20 назад и не могла возникнуть, потому что каждый програмист и системотехник знал что такое машинный код. Понабежали дядьки с кучей звезд разного цвета, запугали ... но все же разъяснили истину ( правда накидали новых непонятных слов типа дизасемблеров и лексических анализаторов ). vvv , ты не обижайся , народ на форуме в основном доброжелательный и пишет справедливые и грамотные ответы. Предлагаю подвести черту : 1. Levon получил помощь 2. Vvv понял, что в интернете не всему можно верить и обогатился знаниями 3. На форуме есть люди, готовые этими знаниями делиться ________________________________________________________________
|
|
|
Dima
|
| |
Пост N: 2079
Зарегистрирован: 17.05.05
|
|
Отправлено: 25.05.11 23:44. Заголовок: Haz пишет: Предлага..
Haz пишет: На том и порешим ;) Тема закрыта.
|
|
|
Ответов - 49
, стр:
1
2
3
All
[только новые]
|
|