Sgscript
SGScript Scripting Engine
Install / Use
/learn @archo5/SgscriptREADME
SGScript v1.4.1
Usage
- MinGW/GNU Make/GCC/Clang users:
- compile the makefile (add
mode=releaseto get the release build) - include
src/sgscript.hand link with -lsgscript from the bin/ directory (-Lbin) - to get a static library, use
static=1and link tolib/libsgscript.a(-Llib -lsgscript)
- compile the makefile (add
- VC10+ users: project file is in build/vc10/SGScript
- XCode users: project file is in build/xcode
- Android NDK users: include jni/Android.mk into your makefile
Sample Code and Documentation
Look in examples/, tests/ and docs/ directories.
To build local HTML5 documentation, use "make docs".
More sample code can be found in documentation: http://www.sgscript.org/docs/sgscript.docs/code-samples-sgscript
Features
- A C-like syntax
- The usual stuff (while/do-while/for/foreach, expressions, variables etc.)
- Highly optimized, register-based virtual machine
- Mixed memory management (ref.counting + GC)
- Extensive native debugging features
- Coroutines, threads, advanced sync features
- Interactive debug inspector add-on
- Function/instruction execution time and memory usage profiler add-on
- 10 data types (with lots of space for extensions):
- null, bool, int, real, string, function, C function, object, pointer, thread
- Tests:
- testing framework is in ext/sgstest.c => bin/sgstest ("make test" to run)
- API testing framework is in ext/sgsapitest.c => bin/sgsapitest ("make apitest" to run)
- C++/BC testing framework is in ext/sgscppbctest.cpp/h => bin/sgscppbctest ("make cppbctest" or "make cppbctest11" to run)
- Object-oriented constructs (dict, class, closure, "compatible call", overloadable operators)
Bindings
- .NET 2.0+ bindings are at
dotnet/SGS.NET(currently only tested on Windows - standalone VM and Unity)
Bugs
If you think you've found a bug, please create a new issue on GitHub.
Don't forget to include a test sample, as small as possible!
Future plans
- full state serialization
- got a suggestion? write some sample code (in the form of a test) and send it here
Community
Credits
- developer: Arvīds Kokins (snake5)
- I can be reached at https://twitter.com/snake5creator and snake5creator [at] GMail
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
