gs-weblang-core

Gobstones parser and interpreter


Keywords
gobstones, interpreter
License
MIT
Install
npm install gs-weblang-core@2.0.1

Documentation

Gobstones language module for the web

Build Status Coverage Status Commitizen friendly semantic-release XO code style

Npm package

Npm package can be found on gs-weblang-core

CDN

Universal module files can be found on unpkg For instance, version 0.1.4 can be fetched from https://unpkg.com/gs-weblang-core@0.1.4/umd/

Bower

It can be installed with Bower too!

bower install --save gobstones/gs-weblang-core#bower

Developer Tools

Developer tools that include ascii board and AST viewer can be found on: http://gobstones.github.io/gs-weblang-core/tools/index.html?v=0.1.4

Replace the version v with the desire version you want to try.

hello-world example

function parseAndInterpret(sourceCode) {
    var Context = gsWeblangCore.Context;
    var parser = gsWebLangCore.getParser();

    var ast = parser.parse(sourceCode).program;
    return ast
        .interpret(new Context())
        .board();
}

// ---------

parse("program { Mover(Norte)\nPoner(Azul) }");

test in REPL

try { require("./lib/gbs").getParser().parse(code).interpret(new (require("./lib/gbs").Context)()) } catch(e) { console.log(e) }

deploy

git checkout master
git pull
git pull origin dev

npm run-script build
PACKAGE_VERSION=$(cat package.json \
  | grep version \
  | head -1 \
  | awk -F: '{ print $2 }' \
  | sed 's/[",]//g')
PACKAGE_VERSION=$(echo $PACKAGE_VERSION | xargs)
git add -A .
git commit -m "Bump $PACKAGE_VERSION"
git push

git tag $PACKAGE_VERSION
git push --tags

git checkout dev