Skip to content

pbsds/dg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dg

A (technically) simple language that compiles to CPython bytecode. DISCLAIMER: this project is just for fun, please don't use it for anything serious, thanks.

Requirements

CPython 3.4 or any other Python VM with equivalent bytecode (like PyPy3).

Installation

pip3 install git+https://github.com/pyos/dg

Usage

python -m dg
python -m dg file.dg argument1 argument2
python -m dg <<< 'print "Hello, World!"'
echo 'print "Hello, World!"' > dg_module.dg; python -c 'import dg, dg_module'

Running tests

python -m pytest                # Compare against expected behaviour
python -m pytest --set-expected # Writes the new expected behaviour

More complex stuff

http://pyos.github.io/dg/

Text editor support

To-do

  • String interpolation: i"{expression #flags}" == "{:flags}".format expression
  • Tools for easy AST manipulation.
  • Compiler extension API.
  • Some of the more obscure Python features: exception causes, function annotations.

About

A programming language for the CPython VM.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%