Skip to content

SebassCoates/Digon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Digon Logo


Documentation

Overview

A graph-based programming language for naturally concurrent and well-structured code.

Created by Sebastian Coates and John Tagliaferro at Tufts University.

Disclaimer: Digon is not affiliated with Google or the Go programming language.

Current Status

The stats example compiles successfully despite many complaints from the lexer. Simple Digon (code that forms a DAG) may also compile successfully.

Some Digon-specific syntax will compile, including the essential node-linking syntax. Otherwise, 'inline Go' code should compile properly as well. The line numbers in generated Go code do not correspond exactly to the Digon source; however, the Go compiler is helpful enough in catching syntax errors.

Compiling Digon

Prerequisites

  • Python or Python3
  • Go

Usage

python3 digon.py [.di files]

Current Objectives

Syntax / Lexer

  • Continue to develop and finalize Digon syntax and grammar.
  • Expand lexer to support full language.

Parser / CCFG

  • Support graph coloring, parsing, and node linking for general DAGs.
  • Catch unused variables and other issues before reaching Go compile.

Standard Library

  • Begin to support standard functions (starting with Go libraries)

Future Objectives

  • Support general graphs.
  • Incorporate full standard library.
  • Finish comprehensive documentation.

Contributing to Digon

Contributions are welcome!
For now, please contact us directly:
digon.contributions@gmail.com

About

A general-purpose, graph-based programming language for naturally concurrent and well-structured code. (Currently under early development)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published