| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
daslang (formerly daScript) is a high-performance statically strongly typed programming language. It can be used standalone or embedded into a C++ host application, and is designed for games and real-time applications.
| Directory | Contents |
|---|---|
| bin/ | Compiler and tool binaries (daslang, daslang-live, das-fmt) |
| lib/ | Static and shared libraries for embedding |
| include/ | C++ headers for integration |
| daslib/ | Standard library modules (.das files) |
| modules/ | Optional plugin modules |
| examples/ | Example scripts |
| tutorials/ | Language, integration, and module tutorials |
| dastest/ | Test framework (usable for testing your own code) |
| utils/ | Tooling: MCP server for AI assistants (mcp/), LSP server for Claude Code (lsp/), package manager (daspkg/), lint (lint/), code formatter (das-fmt/), duplicate detector (detect-dupe/), coverage (dascov/), AOT/JIT helpers |
| skills/ | AI-assistant task instructions (paired with the root CLAUDE.md) |
| tree-sitter-daslang/ | Tree-sitter grammar, shared library, and highlighting queries |
New to daslang? GETTING_STARTED.md (next to this file) walks through running a first program and wiring up editor + AI-assistant tooling.
Run a script:
bin/daslang examples/hello_world.dasAOT-compile a script:
bin/daslang -aot examples/hello_world.das hello_world_aot.cppfind_package(DAS REQUIRED)
target_link_libraries(your_app PRIVATE DAS::libDaScript)See tutorials/integration/ for complete C and C++ embedding examples.
A full tree-sitter grammar for daslang is included in tree-sitter-daslang/. Use it for:
sg run -p "symbol_name" -l daslangutils/mcp/ contains an MCP server exposing 40+ compiler-backed tools to AI coding assistants: compilation diagnostics, type inspection, go-to-definition, find-references, AST dump, AOT generation, expression evaluation, parse-aware grep for both .das and C++, duplicate detection, live-reload control, and more. Uses stdio transport — no extra build dependencies.
Configure in .mcp.json:
{
"mcpServers": {
"daslang": {
"command": "bin/daslang",
"args": ["utils/mcp/main.das"]
}
}
}See utils/mcp/README.md for the full tool list and permissions setup.
utils/lsp/ contains a language server for .das: push diagnostics — the compiler and lint report after every edit with no explicit tool call — plus definition / references / hover / document & workspace symbols / call hierarchy / go-to-implementation. Requires python3 on PATH.
Claude Code sessions started at the SDK root load it automatically (the shipped .claude/skills/daslang-lsp/ plugin manifest). From anywhere else, register it explicitly:
claude --plugin-dir <sdk-root>/utils/lsp/pluginSee utils/lsp/README.md for configuration (initializationOptions: compiler override, project_root for native modules, .das_project).
git clone --recurse-submodules https://github.com/GaijinEntertainment/daScript.git daslang
cd daslang
cmake -Bbuild -DCMAKE_BUILD_TYPE=Release
cmake --build build --target daslang --config ReleaseIf macOS blocks the downloaded SDK with errors like "cannot be opened because the developer cannot be verified" or "is damaged and can't be opened", remove the quarantine attribute:
xattr -cr /path/to/daslang-sdkBinaries produced by cmake --install are ad-hoc code signed automatically, which prevents this issue in most cases.
BSD 3-Clause License — Copyright (c) 2019-2026, Gaijin Entertainment. See LICENSE for the full text.
| Back | FazBrowse Home | New Git URL |