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
boa
s WHATWGconsole
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.
- JsBig
Int - 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
)