Языки программирования, трансляторы и компиляторы - ChaiScript

0
Ваша оценка: Нет

ChaiScript — это первый и единственный встраиваемый скриптовый язык, изначально спроектированный для полной совместимости с C++.

Проект ChaiScript появился в 2009 г. как любительская разработка программиста Джейсона Тёрнера (Jason Turner). Название языка выбрано с долей юмора — в нем обыгрывается чай (в отличие от Java и JavaScript, которые ассоциируются с кофе).

Синтаксис ChaiScript своеобразен и больше всего напоминает JavaScript. Он не вызывает никаких затруднений у людей, имеющих опыт программирования на каком-либо С-подобном языке. Язык намеренно сделан минималистским и очень простым. В ChaiScript нет ни самостоятельной библиотеки модулей, ни даже встроенных средств файлового ввода-вывода.

Все, что может понадобиться пользователю в скрипте, должно быть реализовано на С++ и зарегистрировано в интерпретаторе. Важно понимать, что ChaiScript нельзя использовать без «материнской» программы на С++ (в отличие от Python, Ruby или Lua). Сила ChaiScript кроется именно в необычайно легком встраивании и прозрачном взаимодействии с С++. ChaiScript распространяется по лицензии BSD, что позволяет использовать его как в свободных, так и в коммерческих проектах. Он является заголовочной (header-only) библиотекой для С++, поэтому работает на всех платформах, где есть современный компилятор С++.

ChaiScript не добавляет к проекту никаких внешних зависимостей кроме динамического компоновщика dl и опционально библиотеки Boost.threads. Встроенный интерпретатор компактен, не раздувает размер исполняемого файла и потребляет очень немного памяти — идеальное сочетание для легкого встраиваемого языка. ChaiScript очень далек от «мэйнстрима». ChaiScript чрезвычайно интересен в идейном плане и является одним из тех прекрасных открытых проектов, которые совершенно незаслуженно остаются незамеченными.

Документация к проекту не настолько подробна, как хотелось бы. На странице http://www. chaiscript.com/doxygen/index.html сосредоточена вся имеющаяся информация по внедрению ChaiScript в программы на С++. Там же есть ссылки на встроенные функции самого языка, его формальный синтаксис (разобраться в «академической» EBNF-грамматике не так-то просто) и объектную модель. Документация в целом слишком лаконична и не описывает всех нюансов. Полноценного руководства по языку нет. Много полезного можно почерпнуть из форума на официальном сайте и примеров кода, которые идут в составе библиотеки.

Сайт разработчика: http://chaiscript.com/
Что почитать?


Разместил: vikos 11 Октябрь 2016 в 10:20