마스터 상태:
개발 상태:
체이스크립트
http://www.chaiscript.com
(c) 2009-2012 조나단 터너 (c) 2009-2017 제이슨 터너
BSD 라이선스에 따라 릴리스합니다. 자세한 내용은 "license.txt"를 참조하세요.
ChaiScript는 처음부터 C++를 직접 대상으로 하고 최신 C++ 개발 기술을 활용하여 개발자가 기대하는 작동 방식으로 작업하도록 설계된 유일한 임베디드 스크립팅 언어 중 하나입니다. 기본 C++ 애플리케이션이므로 기존 임베디드 스크립팅 언어에 비해 몇 가지 장점이 있습니다.
ChaiScript에는 가변 템플릿 지원을 사용하여 빌드하려면 C++17 컴파일러가 필요합니다. gcc 7 및 clang 6(libcxx 사용)으로 테스트되었습니다.
vcpkg 종속성 관리자를 사용하여 ChaiScript를 다운로드하고 설치할 수 있습니다.
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
vcpkg install chaiscript
vcpkg의 ChaiScript 포트는 Microsoft 팀 구성원과 커뮤니티 참가자에 의해 최신 상태로 유지됩니다. 버전이 오래된 경우 vcpkg 저장소에서 이슈 또는 풀 요청을 생성하세요.
#include <chaiscript/chaiscript.hpp>
추가chai
라는 이름의 새 엔진을 만듭니다. chaiscript::ChaiScript chai
인스턴스화되면 엔진은 ChaiScript 소스 실행을 시작할 준비가 됩니다. ChaiScript 소스를 처리하는 데는 두 가지 주요 옵션이 있습니다. chai.eval(string)
사용하여 한 번에 한 줄씩, chai.eval_file(fname)
사용하여 한 번에 파일을 사용하는 것입니다.
C++ 코드의 함수를 스크립트에 표시하려면 해당 함수를 스크립팅 엔진에 등록해야 합니다. 이렇게 하려면 add를 호출하세요.
chai.add(chaiscript::fun(&my_function), "my_function_name");
일단 등록되면 함수는 "my_function_name"으로 스크립트에 표시됩니다.
ChaiScript는 ECMAScript(JavaScript(tm)라고도 함)와 유사하지만 사용하기 쉽도록 일부 수정되었습니다. 사용 예는 "samples" 디렉터리를 참조하고, 언어에 대한 더 자세한 내용은 "unittests" 디렉터리의 단위 테스트에서 대부분을 다룹니다.
C++ 애플리케이션의 일부를 등록하는 방법에 대한 예는 "samples" 디렉터리의 "example.cpp"를 참조하세요. example.cpp는 장황하며 라이브러리를 사용하여 작업하는 가능한 모든 방법을 보여줍니다. 추가 문서를 보려면 빌드 폴더에 doxygen 문서를 생성하거나 웹사이트 http://www.chaiscript.com을 참조하세요.
가능한 가장 짧은 전체 예는 다음과 같습니다.
// / main.cpp
# include < chaiscript/chaiscript.hpp >
double function ( int i, double j)
{
return i * j;
}
int main ()
{
chaiscript::ChaiScript chai;
chai. add ( chaiscript::fun (&function), " function " );
double d = chai. eval < double >( " function(3, 4.75); " );
}