2022-01-07 04:43:47 +01:00
|
|
|
Source Structure
|
|
|
|
================
|
|
|
|
|
2022-01-07 05:19:01 +01:00
|
|
|
Root Sources
|
|
|
|
------------
|
2022-01-07 04:43:47 +01:00
|
|
|
|
|
|
|
| Source file | Description |
|
|
|
|
| -------------- | ------------------------------------------------------------------------------- |
|
|
|
|
| `lib.rs` | Crate root |
|
|
|
|
| `engine.rs` | The scripting engine, defines the `Engine` type |
|
|
|
|
| `tokenizer.rs` | Script tokenizer/lexer |
|
|
|
|
| `parser.rs` | Script parser |
|
|
|
|
| `optimizer.rs` | Script optimizer |
|
2023-04-12 06:09:14 +02:00
|
|
|
| `defer.rs` | Utilities for deferred clean-up of resources |
|
2022-02-06 01:29:05 +01:00
|
|
|
| `reify.rs` | Utilities for making generic types concrete |
|
2023-04-12 06:09:14 +02:00
|
|
|
| `tests.rs` | Unit tests (not integration tests, which are in the main `tests` sub-directory) |
|
2022-01-07 04:43:47 +01:00
|
|
|
|
|
|
|
|
2022-01-07 05:19:01 +01:00
|
|
|
Sub-Directories
|
|
|
|
---------------
|
|
|
|
|
2023-04-12 06:09:14 +02:00
|
|
|
| Sub-directory | Description |
|
|
|
|
| ------------- | ------------------------------------------------------------------ |
|
|
|
|
| `config` | Configuration |
|
|
|
|
| `types` | Common data types (e.g. `Dynamic`, errors) |
|
|
|
|
| `api` | Public API for the scripting engine |
|
|
|
|
| `ast` | AST definition |
|
|
|
|
| `module` | Support for modules |
|
|
|
|
| `packages` | Pre-defined packages |
|
|
|
|
| `func` | Registering and calling functions (native Rust and script-defined) |
|
|
|
|
| `eval` | AST evaluation |
|
|
|
|
| `serde` | Support for [`serde`](https://crates.io/crates/serde) and metadata |
|
|
|
|
| `bin` | Pre-built CLI binaries |
|