[][src]Crate boa

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

Crate Features

  • serde - Enables serialization and deserialization of the AST (Abstract Syntax Tree).
  • console - Enables boas WHATWG console object implementation.
  • profiler - Enables profiling with measureme (this is mostly internal).

Modules

builtins

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

class

Traits and structs for implementing native classes.

context

Javascript context.

environment

Environment handling, lexical, object, function and declaritive records

exec

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

gc

This module represents the main way to interact with the garbacge collector.

object

This module implements the Rust representation of a JavaScript object.

profiler
property

This module implements the Property Descriptor.

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 Abstract Syntax Tree (AST), Parsing and Lexing

value

This module implements the JavaScript Value.

Structs

Context

Javascript context. It is the primary way to interact with the runtime.

Enums

Value

A Javascript value

Functions

parse

Parses the given source code.

Type Definitions

Result

The result of a Javascript expression is represented like this so it can succeed (Ok) or fail (Err)