Git Product home page Git Product logo

cnscript's Introduction

CNScript

CNScript is language (actually don't) that transpiles to JavaScript. This code is created with the help of your-script module.

The source files in CNScript have .cns extension.

Disclaimer

This module is created just for enormous incredible fun, nothing more. I can't even imagine someone really writing programms on this subset.

Usage

This module is distributed via npm, it requires global installation, run npm i -g cnscript just where you want this code. CNScript provides minimal console tool to translate source files to JavaScript and vice versa. After installed globally it availble in your wd as cnscript

Run cnscript yourFile.js or cnscript yourFile.cns to translate it to opposite subset.

Example

Lets imagine, your JS file, programm.js contains following code:

let x = 10;

function createFunction1() {
  const x = 20;
  return new Function("return x;");
}

function createFunction2() {
  const x = 20;
  function f() {
    return x;
  }
  return f;
}

const f1 = createFunction1();
console.log(f1());
const f2 = createFunction2();
console.log(f2());

After launching cnscript programm.js in directory with this file, parser will create transpiled source file, programm.cns, translated in CNScript and look as following:

变量 x = 10;

函数 createFunction1() {
  常量 x = 20;
  返回 实例化 Function("return x;");
}

函数 createFunction2() {
  常量 x = 20;
  函数 f() {
    返回 x;
  }
  返回 f;
}

常量 f1 = createFunction1();
console.log(f1());
常量 f2 = createFunction2();
console.log(f2());

What it is and what isn't

Since CNScript is based on your-scipt, this subset is limited by modifying the language keywords. So, any global object properties, like document.body or HTMLElement.prototype.nextElementSibling are untouched, though it's definetely possible :)

Under the hood

your-script esprima-custom-keywords keywords-provider

Cheers!

cnscript's People

Stargazers

 avatar

Watchers

 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.