Интерпретатор бейсик

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Интерпретатор бейсик

Сообщение Губин Игорь »

Нет ли у кого простого и проверенного интерпретатора бейсика, в крайнем случае клариона в исходных кодах на С?

Ситуация следующая: надо чтобы одинаково работало как в моей задаче на кларионе, так и в чужом приложении на линукс.

Скачал несколько вариантов, но
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Интерпретатор бейсик

Сообщение Дед Пахом »

Есть исходник Clarion на asm :-)
С уважением, ДП
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Интерпретатор бейсик

Сообщение Yufil »

А в чём сучность задачи, которую надо на васике?
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Интерпретатор бейсик

Сообщение Губин Игорь »

Клиент хочет самостоятельно программировать кусок логики с возможностью постоянного изменения.
Причём программировать и проверять на персоналке, а вот исполняться будет уже на эмбедед устройстве с армом и линуксом.

Если есть другая идея, окромя дать клиенту в руки интерпретатор, буду рад выслушать.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Интерпретатор бейсик

Сообщение Admin »

Прицепите VBScript, python или еще что то.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Интерпретатор бейсик

Сообщение Yufil »

0. Собственно, клиенту надо давать проблемно-ориентированный язык, а не вариант Basic. Типа как в 1С.
Мож, разработать? О какой области идёт речь?

1. Интересный вопрос - как интерпретатор должен взаимодействовать с программой, в т.ч. на Кларион
Надо как-то передавать данные на входе и принимать на выходе ...

2. У меня скрипты сейчас отлаживаются ( и исполняются) в Кларион, для web-приложения транслируются (программой на Python) в javascript
и там используются. В принципе, исходники готов подарить, и того и другого, хотя там ногу сломишь. А ещё есть Qt WebKit, можно Web-приложения и из Windows юзать (невостребовано, но тестовое приложение есть).

3. Javascript, конечно, vbscript сейчас не популярен. Ещё jQuery и jQuery UI - и таки да, можно в принципе. Но см. пункт 0, о приёме данных и возврате результатов). Собственно, приём не проблема, просто добавить данные в JSON в начало программы

3. Язык Lua не имеет GUI, но может интерпретировать скрипты и встраиваться в другие приложения. Может, оно ?

4. Python кроссплатформен и реализован для всех разумных платформ, даже для Raspberry Pi. В том числе для Windows, Linux и Android, гуглить слово Kivy...
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Интерпретатор бейсик

Сообщение Губин Игорь »

Yufil писал(а): 0. Собственно, клиенту надо давать проблемно-ориентированный язык, а не вариант Basic. Типа как в 1С.
Мож, разработать? О какой области идёт речь?
Клиент привык работать с экселем и хочет что-то похожее или с минимальным переучиванием. Это критичное условие.
Ближе бейсика ничего не вижу

Да и не стоит оно того, разработки отдельного языка, да ещё с интерпретатором под две платформы сразу. Это очень маленький кусок большого проекта.
Yufil писал(а): Интересный вопрос - как интерпретатор должен взаимодействовать с программой, в т.ч. на Кларион
Надо как-то передавать данные на входе и принимать на выходе ...
Элементарно. Делов-то, через специальные функции возвращающие значения переменных. Я давным давно писал интерпретатор клариона, ещё под CDD. Но он в столь дальних архивах, что проще написать заново. Да и портировать его на C...
Yufil писал(а): Python кроссплатформен и реализован для всех разумных платформ, даже для Raspberry Pi. В том числе для Windows, Linux и Android, гуглить слово Kivy...
Если уж ничего другого не останется...


Всем спасибо, буду думать.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Интерпретатор бейсик

Сообщение Губин Игорь »

Yufil писал(а): Язык Lua не имеет GUI, но может интерпретировать скрипты и встраиваться в другие приложения. Может, оно ?

4. Python кроссплатформен и реализован для всех разумных платформ, даже для Raspberry Pi. В том числе для Windows, Linux и Android, гуглить слово Kivy...
Увы... Алгоритмы, по просьбе клиента должны быть максимально защищены. А в варианте, когда обработчик алгоритма представляется из себя стандартную уже собранную библиотеку защита нереальна
Это я только кажусь дураком! На самом деле я полный идиот!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Интерпретатор бейсик

Сообщение Yufil »

Нет, оба языка являются интерпретаторами. Сам алгоритм может существовать в виде текстовой строки (видимо, лежит в БД и зашифрована) и исполняться на ходу. В Питоне это, например, функция eval - принимает строку, может вернуть выражение/объект/функцию/класс, а потом всё это дело можно исполнить.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Интерпретатор бейсик

Сообщение Губин Игорь »

Yufil писал(а): Сам алгоритм может существовать в виде текстовой строки
Вопрос в том, что подменив библиотеку интерпретатора своей, можно без всяких проблем вытащить алгоритм, как его не защищай :idied:
Это я только кажусь дураком! На самом деле я полный идиот!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Интерпретатор бейсик

Сообщение Yufil »

И двоичный код можно дизассемблировать и разобрать.
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Интерпретатор бейсик

Сообщение Губин Игорь »

Yufil писал(а): И двоичный код можно дизассемблировать и разобрать.
Можно. Но на то существуют методы защиты. Цель не сделать невскрываемый вариант, цель сделать так, чтобы это было не очень просто. А подменить стандартную длл своей с протоколированием не догадается только идиот.
Это я только кажусь дураком! На самом деле я полный идиот!
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Интерпретатор бейсик

Сообщение Yufil »

Ну, пока я ехал на работу, с ходу увидел несколько вариантов.
1. оформить алгоритм в виде модуля, оттранслировать его в байткод (на автомате при первом вызове) и приложить к программе именно байткод.
2. оформить алгоритм в виде модуля, оттранслировать его в C и (см. выше)
3. сделать модифицированный интерпретатор, чтобы генерировал и исполнял модифицированный байт-код, тогда наши программы будут исполнять, а чужие - фигу.
Но боюсь, что коллегам-Кларионистам это не интересно... :)
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

Интерпретатор бейсик

Сообщение Губин Игорь »

Yufil писал(а): у, пока я ехал на работу, с ходу увидел несколько вариантов.
Увы. Варианты 1 и 2 полностью не удовлетворяют условию клиента "возможность самостоятельно модифицировать алгоритм"
Вариант 3 довольно интересен, как инструкция к размышлению.
Это я только кажусь дураком! На самом деле я полный идиот!
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Интерпретатор бейсик

Сообщение Ал »

Yufil писал(а): 3. сделать модифицированный интерпретатор, чтобы генерировал и исполнял модифицированный байт-код, тогда наши программы будут исполнять, а чужие - фигу.
Но боюсь, что коллегам-Кларионистам это не интересно... :)
Ну, если это будет интерпретатор с Клариона.... :lol:
Ответить