![]() |
|
Модераторы: Се ля ви |
![]()
|
|
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
Давать цитату из двух слов на две страницы назад без указания автора… Для менее терпеливых:
В исполняемый файл попросту зашивается компилятор со всеми потрохами. При этом код, не использующий eval, компилируется в нормальный машинный код. Так делают некоторые компиляторы Лиспа. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| maggot |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 15.1.2007 Репутация: нет Всего: нет |
А что мешает делать таблицу идиентификаторов? Или под eval() имеется ввиду не получение переменной по имени, а выполнение любого кода? |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| nerezus |
|
||||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Но если результаты этого кода будут использованы в последующих рассчетах? например:
Я вот не догнал, как скомпилить print с, если самого c еще нету? |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
Никак. Опять динамика, т.е. вшитый транслятор языка. Всё-таки даже в самых «отъявленных» динамических языках такой код составляет лишь небольшую долю. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
Однако это делать можно. Однако если это будет динамикой, то при чем тогда компилер в натив? Ведь использование утилит, сшивающих скрипт и среду выполнения - это ведь не компиляция? P.S. Если это все-таки компиляция, то мы создали компилятор PHP |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 9 Всего: 173 |
При том, что не весь код будет интерпретироваться. Во многих случаях можно осуществить статический анализ, вывод типов и скомпилировать какой-то локальный участок кода или функцию, как если бы она была написана на статически типизированном языке.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
![]()
|
| Правила раздела "Философия программирования": | |
|
|
Форум "Философия программирования" предназначен для обсуждения вопросов, так или иначе связанных с философскими аспектами разработки ПО: • вопросы перспективного развития методов написания ПО; • изменяющиеся языки и методологии программирования; Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Се ля ви. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Философия программирования | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |