LINUX.ORG.RU

Ищется нежырный встраиваемый интерпретатор какого-нибудь basic-like языка

 , встраиваемый,


0

2

Собственно, для программы на Си нужна возможность писать небольшие скрипты, соотвественно нужен и интепретатор их и тоже на Си.

Основные требования : массивы, работа со строками, ну и адекватное апи для создания новых команд и/или несложные исходники для написания своего апи.

inb4 lua, tcl, python.

Сейчас подумываю о какой-нибудь из реализаций scheme, но вдруг вы подскажете что-то новое.

если мы подскажем что-то новое — то оно с высокой вероятностью окажется новым и для твоих пользователей.

так что не выпендривайся и прикручивай lua, tcl, python, javascript (v8) etc.

(а если говорить про новое, то я бы засунул io — просто интересно посмотреть, насколько это будет жить)

anonymous
()
Ответ на: комментарий от anonymous

io, конечно посмотрю. Я же не требую чего-нибудь совершенно нового, главное чтобы у пользователя шаблоны не трещали.

rikardoac
() автор топика
Ответ на: комментарий от anonymous

придумал, что сказать поконструктивнее.

в случае с tcl имеет смысл взять какую-нибудь левую реализацию, например jim или tinytcl. они маленькие, поэтому их можно таскать за собой, что удобно.

anonymous
()
Ответ на: комментарий от nanoolinux

Да не, если писать в императивном стиле, то все относительно просто на мой взгляд. В крайнем случае можно всегда написать трансятор, если ужж совсем не пойдет.

rikardoac
() автор топика
Ответ на: комментарий от anonymous

А вот за это спасибо, я как-то совсем забыл о возможных адекватных левых реализациях.

rikardoac
() автор топика
Ответ на: комментарий от malices_gossips

Без понятия, когда-то была на первой странице гуглежа по «cat cartoon»

rikardoac
() автор топика
Ответ на: комментарий от unC0Rr

Ну, как известно, на вкус и цвет товарищей нет. постфиксная запись еще более необычна, мне наоборот префиксная легче воспринимается. Впрочем это дело привычки.

rikardoac
() автор топика
Ответ на: комментарий от Deleted

Я так и не понял статус его готовности.

O02eg ★★★★★
()
Ответ на: комментарий от O02eg

Руби как язык довольно интересен, но ИМХО, ООП для моих нужд уж очень чересчур. А как с остальными реализациями? Я слышал как минимум о двух, для jvm и вроде как «стандартная» вм.

rikardoac
() автор топика
Ответ на: комментарий от ABW

Попробую, раньше смотрел, но из-за заглавной S причислял язык к лиспу и ему подобным.

rikardoac
() автор топика
Ответ на: комментарий от GAMer

Подтверждаю, картинка называлась в духе «leaf_<что-то еще>.png»

rikardoac
() автор топика

если «нежырный», то Lua, но там документация не очень и совместимость ломают между релизами.

Если выбирать scheme, то Guile

Harald ★★★★★
()

Зачем что-то выдумывать, когда есть lua?

derlafff ★★★★★
()
Ответ на: комментарий от PolarFox

Не люблю ни луа, ни яваскрипт, такие дела ;-)

rikardoac
() автор топика
Ответ на: комментарий от rikardoac

Стандартный руби, который MRI, встраивать можно, я так даже делал, но у него глобальное состояние и плохо с потоками.

O02eg ★★★★★
()
Ответ на: комментарий от dismal_faun

Можно попробовать, но опять же этот ООП, чем меньше у пользователя возможности сделать что-то не так, тем лучше я сплю.

rikardoac
() автор топика
Ответ на: комментарий от rikardoac

Можно попробовать, но опять же этот ООП, чем меньше у пользователя возможности сделать что-то не так, тем лучше я сплю.

А как ООП мешает ограничить пользователя? Наоборот, инкапсуляция и все дела.

O02eg ★★★★★
()

tinyJS у нас юзали для функ. тестов. Ничо так в плане впиливания своих свистелок, хотя местами вымораживали некоторые особенности :)

slackwarrior ★★★★★
()
Ответ на: комментарий от PolarFox

Кстати, а как у луа с юникодом? Судя по всему, не очень.

> a = "тест"
> _, strlen = string.gsub(a, "[^\128-\193]", "")
> print(strlen)
4

Очевидно же!

anonymous
()
Ответ на: комментарий от O02eg

Я имел в виду, чтобы пользователи много не думали ;-)

rikardoac
() автор топика
Ответ на: комментарий от MKuznetsov

DMDScript is implemented in the D Programming Language. (A C++ implementation is also available.)

Ну же.

rikardoac
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.