[][src]Crate rune

Read the Book 📖

Build Status Book Status Chat on Discord

An embeddable dynamic programming language for Rust.

Contributing

If you want to help out, there's a number of optimization tasks available in Future Optimizations.

Create an issue about the optimization you want to work on and communicate that you are working on it.


Features of Rune


Rune Scripts

You can run Rune programs with the bundled CLI:

cargo run -- scripts/hello_world.rn

If you want to see detailed diagnostics of your program while it's running, you can use:

cargo run -- scripts/hello_world.rn --dump-unit --trace --dump-vm

See --help for more information.

Re-exports

pub use crate::runtime::termcolor;

Modules

ast

AST for the Rune language.

Structs

Lexer

Lexer for the rune language.

Options

Compiler options.

ParseAll

The result from parsing a string.

Parser

Parser for the rune language.

Runtime

A rune runtime, which simplifies embedding and using rune.

Source

A parsed input coupled with it's source.

Span

A span corresponding to a range in the source file being parsed.

Token

A single token used during parsing.

Warnings

Compilation warnings.

Enums

CompileError

Error when encoding AST.

Error

Error capable of collecting all error types emitted by this crate.

Kind

The kind of the token.

ParseError

Error when parsing.

Warning

Compilation warning.

Traits

Parse

The parse trait, implemented by items that can be parsed.

Resolve

A type that can be resolved to an internal value based on a source.

Functions

compile

Helper function to compile the given source.

parse_all

Parse the given input as the given type that implements Parse.

Type Definitions

Result

Result alias used by this frontend.