1.0.3 • Published 12 months ago

@akore/javascript v1.0.3

Weekly downloads
-
License
Kodeko Studios Pr...
Repository
-
Last release
12 months ago

@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.

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago