[][src]Crate boa

This is an experimental Javascript lexer, parser and compiler written in Rust. Currently, it has support for some of the language.

Re-exports

pub use crate::exec::Executable;
pub use crate::exec::Interpreter;
pub use crate::profiler::BoaProfiler;
pub use crate::realm::Realm;
pub use crate::syntax::lexer::Lexer;
pub use crate::syntax::parser::Parser;

Modules

builtins

Builtins live here, such as Object, String, Math, etc.

environment

Environment handling, lexical, object, function and declaritive records

exec

Execution of the AST, this is where the interpreter actually runs

profiler
realm

Conceptually, a realm consists of a set of intrinsic objects, an ECMAScript global environment, all of the ECMAScript code that is loaded within the scope of that global environment, and other associated state and resources.

syntax

Syntactical analysis, such as AST, Parsing and Lexing

Functions

exec

Create a clean Interpreter and execute the code

forward

Execute the code using an existing Interpreter The str is consumed and the state of the Interpreter is changed

forward_val

Execute the code using an existing Interpreter. The str is consumed and the state of the Interpreter is changed Similar to forward, except the current value is returned instad of the string If the interpreter fails parsing an error value is returned instead (error object)