Skip to content

A programming language brewed ๐Ÿบ with love โค and the finest emojis ๐Ÿ˜€

Notifications You must be signed in to change notification settings

arekpaterak/pint

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

60 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Pint ๐Ÿบ

A programming language brewed ๐Ÿบ with love โค and the finest emojis ๐Ÿ˜€

The language

Pint is a statically typed programming language using emojis as keywords with a syntax inspired by Python (with some twists).

Examples

๐Ÿ’ฌ An infinite loop

๐Ÿ” {
    ๐Ÿ–จ๏ธ("๐Ÿบ")
}

The transpiler

Pint's transpiler is called Debrewer. Its output is Python.

It is implemented in Python and uses PLY (Python Lex-Yacc) to tokenize and parse the input file.

File extensions

The transpiler supports files with the .pint or .๐Ÿบ extension.

How to use

To transpile a Pint file to python, run python debrewer.py <input> [-o <output>] [-t].

Without specifying flags the result will be saved in a file with the same name as the input file, but with the .py extension. The -o flag specifies the output file, and the -t flag specifies that the output file should be checked against typing consistency using mypy.

Testing

Simple tests compare translated files to model ones from the examples directory.

Use: python -m unittest

About

A programming language brewed ๐Ÿบ with love โค and the finest emojis ๐Ÿ˜€

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages