@x-langjs/ast
v0.0.5
Published
AST builder and visitor for x-langjs
Maintainers
Readme
@x-langjs/ast
AST building, traversal, and scope resolving utilities for x-langjs.
中文
包说明
@x-langjs/ast 负责将 parser 的 CST 构建为 AST,并做作用域解析与 AST 访问。
安装
npm install @x-langjs/ast主要导出
ASTBuilderScopeResolvervisitNodeASTVisitor类型
示例
import { parse as parseCST } from "@x-langjs/parser";
import { ASTBuilder, ScopeResolver } from "@x-langjs/ast";
const { tree, errors } = parseCST("a = 1\nb = a + 2");
if (errors.length === 0) {
const builder = new ASTBuilder();
const rawAst = builder.buildProgram(tree);
const ast = new ScopeResolver().resolve(rawAst);
console.log(ast.body.length);
}说明
此包不负责执行代码,执行请使用 @x-langjs/interpreter。
English
Package purpose
@x-langjs/ast converts CST to AST and provides scope resolving plus AST visiting helpers.
Install
npm install @x-langjs/astMain exports
ASTBuilderScopeResolvervisitNodeASTVisitortype
Example
import { parse as parseCST } from "@x-langjs/parser";
import { ASTBuilder, ScopeResolver } from "@x-langjs/ast";