{"id":19074251,"url":"https://github.com/archo5/sgscript","last_synced_at":"2025-04-28T19:23:09.152Z","repository":{"id":6094636,"uuid":"7321661","full_name":"archo5/sgscript","owner":"archo5","description":"SGScript Scripting Engine","archived":false,"fork":false,"pushed_at":"2018-06-29T06:33:47.000Z","size":6217,"stargazers_count":65,"open_issues_count":0,"forks_count":6,"subscribers_count":16,"default_branch":"apidev","last_synced_at":"2025-04-18T19:40:58.329Z","etag":null,"topics":["android","c","coroutines","cpp","game-development","game-library","language","library","linux","low-level","macos","memory-efficient","script","scripting","scripting-engine","scripting-games","scripting-language","sgscript","windows"],"latest_commit_sha":null,"homepage":"http://www.sgscript.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/archo5.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-26T00:28:00.000Z","updated_at":"2025-03-24T15:38:48.000Z","dependencies_parsed_at":"2022-09-24T02:12:27.846Z","dependency_job_id":null,"html_url":"https://github.com/archo5/sgscript","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archo5%2Fsgscript","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archo5%2Fsgscript/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archo5%2Fsgscript/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/archo5%2Fsgscript/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/archo5","download_url":"https://codeload.github.com/archo5/sgscript/tar.gz/refs/heads/apidev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251373128,"owners_count":21579069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","c","coroutines","cpp","game-development","game-library","language","library","linux","low-level","macos","memory-efficient","script","scripting","scripting-engine","scripting-games","scripting-language","sgscript","windows"],"created_at":"2024-11-09T01:50:08.248Z","updated_at":"2025-04-28T19:23:09.130Z","avatar_url":"https://github.com/archo5.png","language":"C","readme":"# SGScript v1.4.1\r\n\r\n## Usage\r\n\r\n- MinGW/GNU Make/GCC/Clang users:\r\n    * compile the makefile (add ```mode=release``` to get the release build)\r\n    * include ```src/sgscript.h``` and link with -lsgscript from the bin/ directory (-Lbin)\r\n    * to get a static library, use ```static=1``` and link to ```lib/libsgscript.a``` (-Llib -lsgscript)\r\n- VC10+ users: project file is in build/vc10/SGScript\r\n- XCode users: project file is in build/xcode\r\n- Android NDK users: include jni/Android.mk into your makefile\r\n\r\n## Sample Code and Documentation\r\n\r\nLook in ```examples/```, ```tests/``` and ```docs/``` directories.\r\n\r\nTo build local HTML5 documentation, use \"make docs\".\r\n\r\nMore sample code can be found in documentation: http://www.sgscript.org/docs/sgscript.docs/code-samples-sgscript\r\n\r\n## Features\r\n\r\n- A C-like syntax\r\n- The usual stuff (while/do-while/for/foreach, expressions, variables etc.)\r\n- Highly optimized, register-based virtual machine\r\n- Mixed memory management (ref.counting + GC)\r\n- Extensive native debugging features\r\n- **Coroutines, threads, advanced sync features**\r\n- **Interactive debug inspector add-on**\r\n- **Function/instruction execution time and memory usage profiler add-on**\r\n- 10 data types (with lots of space for extensions):\r\n    * null, bool, int, real, string, function, C function, object, pointer, thread\r\n- Tests:\r\n    * testing framework is in ext/sgstest.c =\u003e bin/sgstest (\"make test\" to run)\r\n    * API testing framework is in ext/sgsapitest.c =\u003e bin/sgsapitest (\"make apitest\" to run)\r\n    * C++/BC testing framework is in ext/sgscppbctest.cpp/h =\u003e bin/sgscppbctest (\"make cppbctest\" or \"make cppbctest11\" to run)\r\n- Object-oriented constructs (dict, class, closure, \"compatible call\", overloadable operators)\r\n\r\n## Bindings\r\n\r\n- .NET 2.0+ bindings are at ```dotnet/SGS.NET``` (currently only tested on Windows - standalone VM and Unity)\r\n\r\n## Bugs\r\n\r\n- Development branch status:\r\n [![Travis CI Build Status](https://travis-ci.org/snake5/sgscript.svg?branch=apidev)](https://travis-ci.org/snake5/sgscript)\r\n [![AppVeyor Build Status](https://ci.appveyor.com/api/projects/status/github/snake5/sgscript?svg=true\u0026branch=apidev)](https://ci.appveyor.com/project/snake5/sgscript)\r\n\r\nIf you think you've found a bug, please create a new issue on GitHub.\r\n\r\nDon't forget to include a test sample, as small as possible!\r\n\r\n## Future plans\r\n\r\n- full state serialization\r\n- got a suggestion? write some sample code (in the form of a test) and send it here\r\n\r\n## Community\r\n\r\n- [SGScript on Discord](https://discord.gg/QysXUNq)\r\n\r\n## Credits\r\n\r\n- developer: Arvīds Kokins (snake5)\r\n    * I can be reached at https://twitter.com/snake5creator and snake5creator [at] GMail\r\n\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcho5%2Fsgscript","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farcho5%2Fsgscript","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farcho5%2Fsgscript/lists"}