Skip to content

budgielang/budgie

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Budgie 🦜

NPM version Greenkeeper badge Circle CI

A unified syntax that compiles into a number of OOP languages. Formerly known as General Language Syntax (GLS).

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:

npm install budgie-cli --global

budgie --language Python file.bg

See budgie-cli.

Code

npm install budgie

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.

Requires Node >=12

πŸ’– Many thanks to @matthojo for allowing use of the budgie npm package name!