TypeScript C# Java JavaScript Python Ruby
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode Separated parsing into three phases (#427) Feb 22, 2018
docs Corrected test/unit path in development.md Aug 16, 2018
src Separated parsing into three phases (#427) Feb 22, 2018
test Replaced Gulp tasks with npm scripts (#440) Aug 16, 2018
util Replaced Gulp tasks with npm scripts (#440) Aug 16, 2018
.gitignore Replaced Gulp tasks with npm scripts (#440) Aug 16, 2018
.npmignore Again mentioned aka.ms/gls-demo in README.md May 15, 2017
.travis.yml
CONTRIBUTING.md Corrected links in contributing.md. Fixes #397 (#398) Oct 14, 2017
LICENSE.md
README.md Noted minimum Node as 8 Aug 16, 2018
SUMMARY.md
package-lock.json Replaced Gulp tasks with npm scripts (#440) Aug 16, 2018
package.json Replaced Gulp tasks with npm scripts (#440) Aug 16, 2018
tsconfig.json Bumped packages to latest (#426) Feb 20, 2018
tslint.json Replaced Gulp tasks with npm scripts (#440) Aug 16, 2018

README.md

GLS - General Language Syntax

Build Status NPM version Greenkeeper badge

A unified syntax that compiles into a number of OOP languages.

GLS is still under development. Don't expect everything to work!

Usage

GLS can be used as a command-line app or via import/require.

CLI

To convert file.gls to file.py:

npm install general-language-syntax gls-cli --global

gls --language Python file.gls

See gls-cli.

Code

npm install general-language-syntax

import { Gls } from "general-language-syntax";

const gls = new Gls("CSharp");

// System.Console.WriteLine("Hello world!");
gls.convert([`print : ("Hello world!")`]);

Status

GLS is just shy of 0.4.

Deliverable Version Description
C++ Compiler 0.1 Command-line GLS prototype, written in C++.
TypeScript Compiler draft 0.2 GLS compiler as a website, written in TypeScript.
TypeScript Compiler + C# Output 0.3 GLS compiler re-written in TypeScript. Near-working C#, Java, JavaScript, Python, Ruby, and TypeScript output.
Roundtripping Feature Complete 0.4 All features required for roundtripping implemented. Working C# and TypeScript output. Near-working Java, JavaScript, Python, and Ruby output.
Full Language Outputs 0.5 Working C#, Java, JavaScript, Ruby, Python, and TypeScript output.
Powershell, PHP, Misc. 0.6 Onboard or reject those languages and other possibilities.
Language Specification Finalized 0.7 Finalized language spec & cleaned internals of code.
General Release 1.0 Public announcement, glory to everyone. Switched to a better name.

Development

If you'd like to contribute to GLS, see Development.md.

Requires Node >=8