/GLS

A unified syntax that compiles into your favorite OOP languages.

Primary LanguageTypeScriptMIT LicenseMIT

GLS - General Language Syntax

Build Status NPM version

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

const Gls = require("general-language-syntax").Gls;

const gls = new Gls();
gls.setLanguage("CSharp");

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

Status

GLS is halfway between 0.3 and 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, with correct TypeScript and C# output.
Dogfood Feature Complete 0.4 All features expected to be required for dogfooding implemented. Java, JavaScript, Python, and Ruby support.
Dogfood 0.5 Compiler written in GLS code, working in C#, Java, JavaScript, Ruby, Python, and TypeScript.
Powershell, PHP, Objective-C, Misc. 0.6 Dogfood 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.

Development

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