/escodegen-rb

Ruby wrapper around the escodegen JavaScript generator that generates ECMA script from an abstract syntax tree.

Primary LanguageRubyApache License 2.0Apache-2.0

escodegen-rb Build Status

escodegen (https://github.com/Constellation/escodegen) is an ECMAScript code generator that converts an abstract syntax tree (such as one created by Esprima) into ECMAScript. This library wraps the escodegen JavaScript library for easy use within Ruby.

Installation

Install the gem as you would any other:

gem install escodegen

Then, require it in your project:

require 'escodegen'

Generating JavaScript from an AST

Let's say you have an AST for the expression 7 + 8;:

ast = {
  :type => "Program",
  :body => [{
    :type => "ExpressionStatement",
    :expression => {
      :left => {
        :type => "Literal",
        :value => 7
      },
      :type => "BinaryExpression",
      :right => {
        :type => "Literal",
        :value => 8
      },
      :operator => "+"
    }
  }]
}

Here's how to use escodegen to generate the JavaScript from the AST:

generator = Escodegen::Generator.new
generator.generate(ast)

This should output 7 + 8;.

Requirements

No external requirements.

Running Tests

Run bundle exec rake or bundle exec rspec.

Authors

Links

License

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0