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

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

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

Сообщение Губин Игорь » 01 Июль 2016, 19:32

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

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

Скачал несколько вариантов, но
Это я только кажусь дураком! На самом деле я полный идиот!

Аватара пользователя
Дед Пахом
Старичок
Сообщения: 2212
Зарегистрирован: 07 Июль 2005, 15:51
Откуда: Москва, Россия

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

Сообщение Дед Пахом » 01 Июль 2016, 20:44

Есть исходник Clarion на asm :-)
С уважением, ДП

Yufil
Ветеран движения
Сообщения: 1090
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 01 Июль 2016, 22:45

А в чём сучность задачи, которую надо на васике?

Аватара пользователя
Губин Игорь
Ветеран
Сообщения: 1239
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь » 02 Июль 2016, 13:48

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

Если есть другая идея, окромя дать клиенту в руки интерпретатор, буду рад выслушать.
Это я только кажусь дураком! На самом деле я полный идиот!

Аватара пользователя
Admin
Администратор
Сообщения: 3359
Зарегистрирован: 05 Июль 2005, 14:59
Откуда: Хабаровск
Контактная информация:

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

Сообщение Admin » 02 Июль 2016, 15:18

Прицепите VBScript, python или еще что то.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса

Yufil
Ветеран движения
Сообщения: 1090
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 02 Июль 2016, 20:28

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...

Аватара пользователя
Губин Игорь
Ветеран
Сообщения: 1239
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь » 03 Июль 2016, 17:30

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

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


Всем спасибо, буду думать.
Это я только кажусь дураком! На самом деле я полный идиот!

Аватара пользователя
Губин Игорь
Ветеран
Сообщения: 1239
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь » 05 Июль 2016, 10:52

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

4. Python кроссплатформен и реализован для всех разумных платформ, даже для Raspberry Pi. В том числе для Windows, Linux и Android, гуглить слово Kivy...
Увы... Алгоритмы, по просьбе клиента должны быть максимально защищены. А в варианте, когда обработчик алгоритма представляется из себя стандартную уже собранную библиотеку защита нереальна
Это я только кажусь дураком! На самом деле я полный идиот!

Yufil
Ветеран движения
Сообщения: 1090
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 05 Июль 2016, 13:24

Нет, оба языка являются интерпретаторами. Сам алгоритм может существовать в виде текстовой строки (видимо, лежит в БД и зашифрована) и исполняться на ходу. В Питоне это, например, функция eval - принимает строку, может вернуть выражение/объект/функцию/класс, а потом всё это дело можно исполнить.

Аватара пользователя
Губин Игорь
Ветеран
Сообщения: 1239
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь » 05 Июль 2016, 13:33

Yufil писал(а): Сам алгоритм может существовать в виде текстовой строки
Вопрос в том, что подменив библиотеку интерпретатора своей, можно без всяких проблем вытащить алгоритм, как его не защищай :idied:
Это я только кажусь дураком! На самом деле я полный идиот!

Yufil
Ветеран движения
Сообщения: 1090
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 05 Июль 2016, 17:15

И двоичный код можно дизассемблировать и разобрать.

Аватара пользователя
Губин Игорь
Ветеран
Сообщения: 1239
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь » 05 Июль 2016, 17:24

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

Yufil
Ветеран движения
Сообщения: 1090
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

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

Сообщение Yufil » 06 Июль 2016, 9:55

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

Аватара пользователя
Губин Игорь
Ветеран
Сообщения: 1239
Зарегистрирован: 16 Сентябрь 2005, 15:35
Откуда: Москва

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

Сообщение Губин Игорь » 06 Июль 2016, 11:11

Yufil писал(а): у, пока я ехал на работу, с ходу увидел несколько вариантов.
Увы. Варианты 1 и 2 полностью не удовлетворяют условию клиента "возможность самостоятельно модифицировать алгоритм"
Вариант 3 довольно интересен, как инструкция к размышлению.
Это я только кажусь дураком! На самом деле я полный идиот!

Ал
Ветеран
Сообщения: 782
Зарегистрирован: 08 Июль 2005, 5:48
Откуда: Россия

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

Сообщение Ал » 06 Июль 2016, 11:14

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

Ответить