Crate boa

Source
Expand description

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§

bigint
This module implements the JavaScript bigint primitive rust type.
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 garbage collector.
object
This module implements the Rust representation of a JavaScript object.
prelude
A convenience module that re-exports the most commonly-used Boa APIs
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.
string
symbol
This module implements the global Symbol object.
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.
JsBigInt
JavaScript bigint primitive rust type.
JsString
This represents a JavaScript primitive string.
JsSymbol
This represents a JavaScript symbol primitive.

Enums§

JsValue
A Javascript value

Functions§

parse
Parses the given source code.

Type Aliases§

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