# general-language-syntax

> A unified syntax that compiles into your favorite OOP languages.

Latest version **0.3.25** (published 2018-11-09) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install general-language-syntax
pnpm add general-language-syntax
yarn add general-language-syntax
bun add general-language-syntax
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.3.25 |
| Published | 2018-11-09 |
| First published | 2016-09-13 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 7.8 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 60 |
| Author | Josh Goldberg |
| Maintainers | joshuakgoldberg |

## Links

- npm: https://www.npmjs.com/package/general-language-syntax
- Repository: https://github.com/general-language-syntax/GLS
- Homepage: https://github.com/general-language-syntax/GLS#readme
- Issues: https://github.com/general-language-syntax/GLS/issues
- npm.io page: https://npm.io/package/general-language-syntax

## Recent versions

- 0.3.25 (latest) — 2018-11-09
- 0.3.24 — 2018-09-01
- 0.3.23 — 2018-08-16
- 0.3.22 — 2017-11-08
- 0.3.21 — 2017-10-13
- 0.3.20 — 2017-10-02
- 0.3.19 — 2017-10-02
- 0.3.18 — 2017-09-29
- 0.3.17 — 2017-09-28
- 0.3.16 — 2017-07-25
- 0.3.15 — 2017-05-15
- 0.3.14 — 2017-05-15
- 0.3.13 — 2017-05-15
- 0.3.12 — 2016-12-18
- 0.3.11 — 2016-10-25
- … 3 more at https://npm.io/package/general-language-syntax/versions

## README

# GLS - General Language Syntax

[![Build Status](https://travis-ci.org/general-language-syntax/GLS.svg?)](https://travis-ci.org/general-language-syntax/GLS)
[![NPM version](https://badge.fury.io/js/general-language-syntax.svg)](http://badge.fury.io/js/general-language-syntax)
[![Greenkeeper badge](https://badges.greenkeeper.io/general-language-syntax/GLS.svg)](https://greenkeeper.io/)

A unified syntax that compiles into a number of OOP languages.

* Read the docs at **[glslang.org](https://glslang.org)**.
* Try it at **[aka.ms/gls-demo](https://aka.ms/gls-demo)**.

> **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`:

```shell
npm install general-language-syntax gls-cli --global

gls --language Python file.gls
```

See [gls-cli](https://github.com/HighSchoolHacking/gls-cli).

### Code

`npm install general-language-syntax`

```javascript
import { Gls } from "general-language-syntax";

const gls = new Gls("C#");

// System.Console.WriteLine("Hello world!");
gls.convert([`print : ("Hello world!")`]);
```

## Status

GLS is just shy of **0.4**.

<table>
    <thead>
        <th>Deliverable</th>
        <th>Version</th>
        <th>Description</th>
    </thead>
    <tbody>
        <tr>
            <th>C++ Compiler</th>
            <td>0.1</td>
            <td>Command-line GLS prototype, written in C++.</td>
        </tr>
        <tr>
            <th>TypeScript Compiler draft</th>
            <td>0.2</td>
            <td>GLS compiler as a website, written in TypeScript.</td>
        </tr>
        <tr>
            <th>TypeScript Compiler + C# Output</th>
            <td>0.3</td>
            <td>GLS compiler re-written in TypeScript. Near-working C#, Java, JavaScript, Python, Ruby, and TypeScript output.</td>
        </tr>
        <tr>
            <th>Roundtripping Feature Complete</th>
            <td>0.4</td>
            <td>All features required for roundtripping implemented. Working C# and TypeScript output. Near-working Java, JavaScript, Python, and Ruby output.</td>
        </tr>
        <tr>
            <th>Full Language Outputs</th>
            <td>0.5</td>
            <td>Working C#, Java, JavaScript, Ruby, Python, and TypeScript output.</td>
        </tr>
        <tr>
            <th>Powershell, PHP, Misc.</th>
            <td>0.6</td>
            <td>Onboard or reject those languages and other possibilities.</td>
        </tr>
        <tr>
            <th>Language Specification Finalized</th>
            <td>0.7</td>
            <td>Finalized language spec &amp; cleaned internals of code.</td>
        </tr>
        <tr>
            <th>General Release</th>
            <td>1.0</td>
            <td>Public announcement, glory to everyone. Switched to a better name.</td>
        </tr>
    </tbody>
</table>

## Development

If you'd like to contribute to GLS, see [Development.md](https://github.com/general-language-syntax/GLS/blob/master/docs/development.md).

> Requires Node >=8

---
_Source: https://npm.io/package/general-language-syntax · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
