lykiadb

所属分类:其他
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2023-12-05 17:10:34
上 传 者sh-1993
说明:  具有脚本语言的玩具数据库,主要为自我教育和娱乐而创建
(A toy DB with a scripting language mainly created for self-education and fun)

文件列表:
Cargo.toml (619, 2023-12-06)
LICENSE (11316, 2023-12-06)
benches/ (0, 2023-12-06)
benches/interpreter.rs (1271, 2023-12-06)
benches/scripts/ (0, 2023-12-06)
benches/scripts/fib.ly (125, 2023-12-06)
benches/scripts/for.ly (99, 2023-12-06)
benches/scripts/while.ly (580, 2023-12-06)
benches/scripts/while.short.ly (272, 2023-12-06)
examples/ (0, 2023-12-06)
examples/fib.ly (330, 2023-12-06)
examples/first_sql.ly (259, 2023-12-06)
examples/fn.ly (443, 2023-12-06)
examples/scan_err.ly (122, 2023-12-06)
src/ (0, 2023-12-06)
src/cli/ (0, 2023-12-06)
src/cli/mod.rs (1407, 2023-12-06)
src/lang/ (0, 2023-12-06)
src/lang/ast/ (0, 2023-12-06)
src/lang/ast/expr.rs (859, 2023-12-06)
src/lang/ast/mod.rs (979, 2023-12-06)
src/lang/ast/sql.rs (1775, 2023-12-06)
src/lang/ast/stmt.rs (635, 2023-12-06)
src/lang/mod.rs (91, 2023-12-06)
src/lang/parser.rs (19131, 2023-12-06)
src/lang/scanner.rs (33635, 2023-12-06)
src/lang/tests/ (0, 2023-12-06)
src/lang/tests/helpers.rs (99, 2023-12-06)
src/lang/tests/mod.rs (17, 2023-12-06)
src/lang/token.rs (5683, 2023-12-06)
src/lang/visualization.rs (7259, 2023-12-06)
src/lib.rs (58, 2023-12-06)
src/main.rs (106, 2023-12-06)
src/runtime/ (0, 2023-12-06)
src/runtime/environment.rs (3007, 2023-12-06)
... ...

# λykiaDB [![CI](https://github.com/lykia-rs/lykiadb/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/lykia-rs/lykiadb/actions/workflows/ci.yml)

LykiaDB logo

Lykia is a toy document database basically written for educational purposes. It is planned to be a modest mixture of popular kids in town (e.g. SurrealDB). ## Overview - Written in Rust - A weird scripting and query language, combination of PHP and SQL. Built based on the language "Lox" which is explained in the famous book, Crafting Interpreters. - A subset of JSON data types in both scripting language itself and storage - In-disk and in-memory storage - ACID compliance - Replication ## Roadmap - [x] Core scripting language - [ ] A minimal standard library (in progress) - [ ] SQL parsing (in progress) - [ ] Query planning - [ ] Async runtime/event loop - [ ] In-memory storage engine - [ ] Persistent storage engine (Bitcask) - [ ] Transaction management with MVCC - [ ] B-Tree implementation for indexes - [ ] Basic replication with Raft ## Getting Started To use Lykia, you can download the latest release from the GitHub releases page. REPL: ```shell $ cargo run ``` Alternatively, you can run a Lykia script by passing its name as the first argument. ```shell $ cargo run examples/fib.ly ``` ## License Lykia is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

近期下载者

相关文件


收藏者