Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/budgielang/budgie
A unified syntax that compiles into your favorite OOP languages. 🦜
https://github.com/budgielang/budgie
csharp gls java javascript metaprogramming oop-languages python ruby typescript
Last synced: 30 days ago
JSON representation
A unified syntax that compiles into your favorite OOP languages. 🦜
- Host: GitHub
- URL: https://github.com/budgielang/budgie
- Owner: budgielang
- License: mit
- Created: 2016-03-18T14:56:52.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2021-05-26T17:08:34.000Z (over 3 years ago)
- Last Synced: 2024-12-05T15:17:34.572Z (about 1 month ago)
- Topics: csharp, gls, java, javascript, metaprogramming, oop-languages, python, ruby, typescript
- Language: TypeScript
- Homepage: https://budgielang.org
- Size: 3.56 MB
- Stars: 60
- Watchers: 6
- Forks: 17
- Open Issues: 95
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Budgie 🦜
[![NPM version](https://badge.fury.io/js/budgie.svg)](http://badge.fury.io/js/budgie)
[![Greenkeeper badge](https://badges.greenkeeper.io/budgielang/budgie.svg)](https://greenkeeper.io/)
[![Circle CI](https://circleci.com/gh/budgielang/budgie.svg?style=svg)](https://circleci.com/gh/budgielang/budgie)A unified syntax that compiles into a number of OOP languages.
_Formerly known as General Language Syntax (GLS)._* 🎠Try it at **[budgielang.org](https://budgielang.org)** ðŸŽ
* 📚 Read the docs on **[docs.budgielang.org](https://docs.budgielang.org)** 📚> **Budgie is still under development. Don't expect everything to work!**
## Usage
Budgie can be used as a command-line app or via `import`/`require`.
### CLI
To convert `file.bg` to `file.py`:
```shell
npm install budgie-cli --globalbudgie --language Python file.bg
```See [budgie-cli](https://github.com/budgielang/budgie-cli).
### Code
`npm install budgie`
```javascript
import { Budgie } from "budgie";const budgie = new Budgie("C#");
// System.Console.WriteLine("Hello world!");
budgie.convert([`print : ("Hello world!")`]);
```## Why?
No reason in particular!
Budgie is not intended to be a useful language or targeted to any real purpose.
It's a proof-of-concept exploration for the fun of it.## Status
Budgie is just shy of **0.4**.
Deliverable
Version
Description
C++ Compiler
0.1
Command-line Budgie prototype, written in C++.
TypeScript Compiler draft
0.2
Budgie compiler as a website, written in TypeScript.
TypeScript Compiler + C# Output
0.3
Budgie 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. Switched to a better name.
Full Language Outputs
0.5
Working C#, Java, JavaScript, Ruby, Python, and TypeScript output.
Haxe, Powershell, 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.
## Development
If you'd like to contribute to Budgie, see [Development.md](https://github.com/budgielang/budgie/blob/master/docs/development.md).
> Requires Node >=12
💖 Many thanks to [@matthojo](https://github.com/matthojo) for allowing use of the `budgie` npm package name!