Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Вопрос носит скорее теоретический характер. У сложных программ/систем обычно идет встроенный свой некий язык инетпретатор, который оперирует объектами программы (например 1С, SAPr3) и логика работы приложения реализуется как код написанный на этом внутреннем языке. Я недавно работал над одним проектом в котором использовал некое собственноручное жалкое подобие такого приема. Но результат и возможности такого подхода мне очень понравились. Хочется углубится в эту технологию, но очень не хочется заниматься написанием собственных интепретаторов, - сложно, долго. Например в Lotus Notes одним из родных языком программирования явл. ЖАВА в которую дополнительно добавлены родные классы Лотуса (сделано как ЖАВА классы, которые являются обертками и вызовают ф-ии из системных DLL lotus notes). Т.к. с жавой я не знаком на практике, то возникают вопросы: насколько сложно, реально сваять нечто подобное на жаве? Какие подводные камни могут быть? Кто-то сталкивался с подобным? Есть какие либо рекомендации и пр. пр. Всем спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2003, 12:28 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Для начала смотри JavaCC... http://www.javaworld.com/javaworld/jw-12-2000/jw-1229-cooltools.html http://www.webgain.com/products/java_cc/ http://www.cobase.cs.ucla.edu/pub/javacc/ Первый шаг из области математика... ну а дальше - сама реализацияю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.04.2003, 14:41 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
В 1С и т.п. используется "модифицированный" Вижуал Бейсик. Необходимые COM-библиотеки для этих целей входят в Виндоус, а также устанавливаются вместе с Visual Studio 6 или 7. Дополнительная информация - в MSDN. Там все подробно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.04.2003, 16:35 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Причем при работе такого кода, ты САМ указываешь с какими объектами надо работаать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2005, 20:11 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
для Java однозначно надо смотреть в сторону Jython. Там как раз есть возможность встроить полноценный интерпретатор Python в программу и причем это будет стандартное решение. Услилий прикладывать не надо практически никаких. А разводить "самопальные" embedded-языки - это очень плохая практика! (IMHO) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 10:34 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Можно еще C++ интепретатор, в том числе встроенный использовать... тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 11:40 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
2 Ж, Уменьшиный Ж, Уменьшиный... А разводить "самопальные" embedded-языки - это очень плохая практика! Практика, наоборот хорошая. Вот тольки Flex для этого использовать надо... Некий опыт имеется по написанию клона SQL, однако... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 18:22 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
2andrushok: Почему плохо? Берусь объяснить! Не сомневаюсь, что писать язык весело и увлекательно. Но потом кто-то в этом зоопарке начинает разбираться - и финита. Например, недавно писал прогу под IVR Smartphone, там тоже не догадались встроить что-нить стандартное типа tcl или python, а зафигачили свой язык. Результат: любой цикл отладки (да и вообще любой запуск) - это надо было на плату по телефону прозваниваться. Этим, несомненно, достигается бешеный темп разработки :-) Пришлось забить на внутренний язык и сделать им только переходы к внешим сервисам, которые уже писались на нормальном языке (та же жаба или VB). Почему так? Потому что разработчикам обитателей встроенных зоопарков, как правило, влом написать еще и вариант внешнего интрепретатора, для отладки. Поэтому господа разработчики - используйте стандартные средства и лично я как потребитель - буду вам безмерно благодарен! :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 18:36 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
ЗЫ и вдогонку: в виндовых прогах еще можно встраивать Script Host языки, что тоже хорошо, по-моему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 18:39 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
В 1С и т.п. используется "модифицированный" Вижуал Бейсик. Необходимые COM-библиотеки для этих целей входят в Виндоус, а также устанавливаются вместе с Visual Studio 6 или 7. Дополнительная информация - в MSDN. Там все подробно ээ. здорово фирму опустил... "модифицированный"... насколько я понимаю там свой язык. с VBScript никак не связаный..(не говоря уже о VB!) в виндовых прогах еще можно встраивать Script Host языки что тоже хорошо, по-моему! это конечно хорошо. но! Интерфейс стандартно поставляемых в винде скрипт машин JavaScript и VBScript (IActiveScript) по моему явно недостаточен для серьезной интеграции в приложение, хотя для каких то задач может и хватит.. для прог типа 1с - явно не подходит.. Может есть еще какие-то ходы для доступа к этим же машинам но я знаю только этот.. есть еще интеграция с VBA но ето помоему тока за денюжку.. А вообще технология распространенная так что есть надежда что можно и за бесплатно найти хороший интерпретатор.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 20:10 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Можно ваще с этим не парится. Достаточно включить в прогу MS ScriptControl. Выбор языков там приличный. Есть самый интерпритируемый язык всех времён и народов - Perl. Да прибудет с вами дистрибутив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 20:26 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Может я чего-то не понимаю, конечно, но все таки... А какой смысл вообще связываться со встроенными языками. Почему просто не определить в своем приложении нормальные КОМ-интерфейсы и пусть программисты-кустомизаторы используют объекты вашего приложения хоть из Дельфей, хоть из ВБ, хоть и ЖСкрипта. Я могу еще понять некий язык определения неких формул для расчетов. Но полноценный язык встроенный в программу? :/ Вы надеетесь нажить состояние на авторизированных учебных центрах СуперПуперЯзыка? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 20:35 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Почему просто не определить в своем приложении нормальные КОМ-интерфейсы и пусть программисты-кустомизаторы используют объекты вашего приложения хоть из Дельфей, хоть из ВБ, хоть и ЖСкрипта. COM это не то.. по идее script служит для настройки работы приложения.. а "настройка" может включать в себя все что угодно - вплоть до самого приложения.. поэтому и требуется полноценный язык. преимущество скрипта в простоте написания (скажем по сравнению с C++)=> квалификация кодера может быть ниже (или его предметный уровень может превалировать над программерским).. и то что скрипт может меняться(дописываться) практически runtime. Вы надеетесь нажить состояние на авторизированных учебных центрах СуперПуперЯзыка почему нет? если б вместо языка 1с - был только набор com интерфейсов для доступа к 1с(кстати и щас есть) - те же курсы по обучению работы с ними были бы нужны.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 20:57 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Палестинец преимущество скрипта в простоте написания (скажем по сравнению с C++)=> квалификация кодера может быть ниже (или его предметный уровень может превалировать над программерским).. и то что скрипт может меняться(дописываться) практически runtime. ВБСкрипт\ЖСкрипт под Windows Scripting Host может меняться\дописываться практически runtime А научить человека ВБСкрипт'у не сложнее, чем 1с-овскому языку. И обучающих ресурсов по нему несравненно больше. Палестинец если б вместо языка 1с - был только набор com интерфейсов для доступа к 1с(кстати и щас есть) - те же курсы по обучению работы с ними были бы нужны.. До курсов надо еще дожить :) А геморрой начнется сразу же. Придется самому копаться в достаточно экзотической области знаний. Придется учить людей работать с новым языком. Придется объяснять заказчикам, почему им придется учить своих людей новому языку. Итд итп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 21:11 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
ВБСкрипт\ЖСкрипт под Windows Scripting Host может меняться\дописываться практически runtime А научить человека ВБСкрипт'у не сложнее, чем 1с-овскому языку. И обучающих ресурсов по нему несравненно больше. Ну я отметил выше что c ВБСкрипт - то как раз все хорошо - только функциональности может вдруг не хватить.. И что делать тогда? а проект сдавать надо.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2005, 22:52 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Палестинец Ну я отметил выше что c ВБСкрипт - то как раз все хорошо - только функциональности может вдруг не хватить.. ВБ Скрипт может делать вызовы методов, перехватывать события и устанавливать свойства практически любых КОМ объектов. Система через КОМ может делать вызовы компонентов, написанных на ВБ Скрипте. Какая еще функциональность нужна от языка для расширения возможностей системы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 12:19 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Нельзя расширять типы переменных. (например для какой-нить 3D проги наверняка понадобится понятие вектор, матрица или цвет с соответств. операциями - использование объекта с методами неудобно..) Нельзя использовать расширенное управление модулями(выгрузку скажем). ограничение на именование переменных(латиница) - вспомнив туже пресловутую 1с. Да и черт его знает. вдруг гденить в vbscript стоит ограничение на количество классов или строк кода в виде скажем 65535?? - кто сможет поручиться что это не так? поэтому для больших систем а ля сапр - я уверен , необходим более серьезный запас "прочности" в виде интерпретатора с исходниками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 13:06 |
|
||
|
Встроенный интерпретатор
|
|||
|---|---|---|---|
|
#18+
Ну, если так широко смотреть на вещи, то трудно с вами не согласится... :) Как вариант, можно написать свой язык работающий с WSH, а не встроенный в ваше приложение. Например Active Perl так сделан. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.02.2005, 13:45 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=32904871&tid=1347906]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 342ms |

| 0 / 0 |
