Giter Club home page Giter Club logo

azk-parser's Introduction

azk-parser

  • azk-parser can read a json and generate an Azkfile.js
  • azk-parser can parse an Azkfile.js and generate json

Parser and Generator

It uses recast for parsing and generation of javascript.

AST toolbox

Because parsing javascript returns an AST (not an CST), is not always easy to generate the right syntax tree. We can use the project bellow to test new ast compositions.

Azkfile.js

systems with 2 system

import Generator from '../../../src/generator';
import Systems   from 'azk-parser/systems-list';
import System    from 'azk-parser/system';

var systems   = new Systems();
var system001 = new System({ name: 'system001' });
var system002 = new System({ name: 'system002' });

systems.add(system001);
systems.add(system002);

var generator = new Generator();
var code = generator.generate(systems.syntax);
  • generates this code:
/**
 * Documentation: http://docs.azk.io/Azkfile.js
 */

// Adds the systems that shape your system
systems({
 system001: {},
 system002: {}
});

system dependencies

system001.addDependency('system002');

var generator = new Generator();
var code = generator.generate(system001.syntax);
  • generates this code:
system001: {
  depends: ["system002"]
}

before start

$ npm install

test + lint (no watch)

$ gulp

test + lint + watch

$ gulp test

test + watch (no-lint)

$ gulp test-no-lint

publish a patch to npm

$ npm run-script patch

azk-parser's People

Contributors

heitortsergent avatar julio-saito-linx avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.