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 |
|
|
|
|
| `unsafe.rs` | `unsafe` functions |
|
|
|
|
| `tests.rs` | Unit tests (not integration tests, which are in the `rhai/tests` sub-directory) |
|
|
|
|
|
|
|
|
|
2022-01-07 05:19:01 +01:00
|
|
|
Sub-Directories
|
|
|
|
---------------
|
|
|
|
|
2022-01-07 04:43:47 +01:00
|
|
|
| Sub-directory | Description |
|
|
|
|
| ------------- | ----------------------------------------------------- |
|
|
|
|
| `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` | Support for function calls |
|
|
|
|
| `eval` | Evaluation engine |
|
|
|
|
| `serde` | Support for [`serde`](https://crates.io/crates/serde) |
|
|
|
|
| `bin` | Pre-built CLI binaries (e.g. `rhai-run`, `rhai-repl`) |
|