Skip to content
This repository has been archived by the owner on May 22, 2021. It is now read-only.
/ sync-execution Public archive

The program that can run an algorithmic language sync

Notifications You must be signed in to change notification settings

octo-gone/sync-execution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sync

version badge
made-with-python

Project Closed! :(

About

sync-execution is a python program that can run an algorithmic language sync (code name).
The language itself is a kind of notation that allows you to visualize algorithms and logical schemes.

Now available Github Pages with tutorials! (RU only)

Project requirements

Project available for pure Python 3.8, but it is possible to run it on older versions.
To draw diagrams you can use any diagram editor (based on jgraph's Drawio https://github.com/jgraph/drawio).

Сontent

  • resources contains versions of programming language
    • generated - contains generated svg and png images
    • libraries - contains generated and previously used libraries
    • base.drawio - library for Drawio with basic nodes
    • structure.drawio - library with additional nodes
  • examples contains examples of language construction and typical exercises' solution
  • scripts contains base of program
    • drawer contains generator for svg images and drawio libs
    • nodes contains python modules, each of them include several classes (nodes)
    • utils contains module with exceptions, list of nodes in python dictionary and useful functions
    • parser.py - specific xml parser based on regular expressions
    • run.py - base of program and contains functions that define relationships between nodes

Try it now!

To create a diagram click the link to draw.io (all libraries included)

To execute program perform the following algorithm:

  1. Inside drawio.io menu press "File" > "Export as" > "XML" (without flags or with "Compressed").
  2. Press "Open in New Window".
  3. Copy all (ctrl-a then ctrl-c).
  4. Go to sync-execution in repl.it (if file is not script.drawio then choose it in project). You must be logged in. After creating repl use it for future working. Don't create new repls using link above, use created one. It is possible, that repl wants command from you, then enter command python3 main.py.
  5. Paste with replacement (ctrl-a then ctrl-v).

Just click the Run button at the top and the program will start.

Personal Node

If you want to create your own node, use scripts in drawer. Run new_node.py with changed node specification. Script will return style for Drawio, that add/removes connectors and add some special information. To add node drag svg-image on Drawio's workspace and append style in this diagram block (select block and press ctrl-e).

Another variant is to use Drawio library, which the script can generate.

If you want to create PNG description, then you need to install PIL

$ pip install pillow

About

The program that can run an algorithmic language sync

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages