A unified syntax that compiles into a number of OOP languages.
- Read the docs at glslang.org.
- Try it at aka.ms/gls-demo.
GLS is still under development. Don't expect everything to work!
GLS can be used as a command-line app or via import/require.
To convert file.gls to file.py:
npm install general-language-syntax gls-cli --global
gls --language Python file.glsSee gls-cli.
npm install general-language-syntax
import { Gls } from "general-language-syntax";
const gls = new Gls("C#");
// System.Console.WriteLine("Hello world!");
gls.convert([`print : ("Hello world!")`]);GLS is within the 0.4 range, working towards 0.5.
| 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 | Features expected to required for roundtripping implemented. Working Java, C#, JavaScript, Python, Ruby, and TypeScript output. |
| Full Language Outputs | 0.5 | Roundtripping implemented. GLS is checked in as GLS but written in C#. |
| 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. |
If you'd like to contribute to GLS, see Development.md.
Requires Node >=8