1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! # Command Module
//!
//! This module provides FFI functions for creating and manipulating KoiLang commands.
//! It allows C and other foreign languages to work with parsed commands, access their
//! parameters, and handle composite data structures.
//!
//! ## Main Components
//!
//! - [`KoiCommand`]: Represents a parsed KoiLang command with name and parameters
//! - [`KoiCompositeList`]: Represents a list data structure in KoiLang
//! - [`KoiCompositeDict`]: Represents a dictionary data structure in KoiLang
//!
//! ## Command Structure
//!
//! A KoiLang command consists of:
//! - A name (prefixed with `#` in the source text)
//! - Zero or more parameters of various types (integers, floats, strings, composites)
//!
//! ## Parameter Types
//!
//! - Integer parameters: 32-bit signed integers
//! - Float parameters: 64-bit floating-point numbers
//! - String parameters: UTF-8 encoded text
//! - Composite parameters: Lists or dictionaries containing other parameters
//!
//! ## Memory Management
//!
//! All objects created by this module must be freed using the corresponding `_Del` function
//! to avoid memory leaks. Composite objects (lists, dictionaries) own their elements,
//! which are automatically freed when the parent is deleted.
pub
pub
pub
pub
pub
pub use KoiCommand;
pub use KoiCompositeDict;
pub use KoiCompositeList;
pub use KoiCompositeSingle;