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.gls
See gls-cli.
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!")`]));
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. |
If you'd like to contribute to GLS, see Development.md.