@akore/javascript v1.0.3
@akore/javascript
@akore/javascript
is a library providing foundational components for building transpilers to JavaScript, based on the akore
framework. It offers a structured way to define and manipulate AST (Abstract Syntax Tree) nodes, facilitating the development of custom transpilers for JavaScript.
Installation
You can install @akore/javascript
using npm, pnpm, or bun, depending on your preference.
Using npm
npm install --save-exact @akore/javascript
Using pnpm
pnpm add --save-exact @akore/javascript
Using bun
bun add @akore/javascript
Usage
To use @akore/javascript
in your project, you first need to import the Transpiler
class along with the node types you intend to use. Here's a basic example demonstrating how to transpile a simple piece of code:
import { Transpiler } from "@akore/javascript";
// Initialize the transpiler
const transpiler = new Transpiler();
// Example code to transpile
const code = "print*(text(hello world))";
// Transpile the code
const result = transpiler.transpile(code);
console.log(result); // '"use strict";\n(0, print)("hello world");'
// This is an example based in ./test/transpiler.test.ts
// You must define the tokenizations
This example demonstrates the basic usage pattern: creating an instance of the Transpiler, and then calling the transpile method with a string of code to transpile. The result is a JavaScript-compliant string.
How It Works
@akore/javascript
leverages the akore
framework to define a series of node types (NodeType
) and schemas for constructing an AST representing the source code. The Transpiler
class extends akore.BaseTranspiler
, providing the logic to tokenize the input code, construct the AST, and then traverse it to generate the target JavaScript code.
The library defines several node types, such as LiteralNode
, ProgramNode
, CallNode
, etc., each representing different constructs in the source language. These nodes are used to build the AST in a structured manner, allowing for flexible manipulation and traversal.
During the transpilation process, the Transpiler
tokenizes the input code, iterates through the tokens to construct nodes based on the defined schemas, and then assembles these nodes into a ProgramNode
. This ProgramNode
represents the entire program and is used to generate the final JavaScript code.
For more advanced usage, including defining custom node types and extending the transpilation logic, refer to the source code and documentation of the akore
framework.
License
This project is licensed under the Kodeko Studios Proprietary License. For more information, see the LICENSE.md file in the repository.