Skip to content
/ Minsky Public

Emulator for Minsky's register machines in Haskell

Notifications You must be signed in to change notification settings

bnt0/Minsky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Minsky

Simple emulator for Minsky's register machines.

Features

  • Emulate register machines with supplied configuration conf and program prog
\*Executor> execute conf prog
  • Translate binary code to Haskell data structures using codeToProgram
  • Translate data structures to program code
\*Translator> codeToProgram 1234
[ (L0,R0+ -> L0)
, (L1,R0- -> L0, L0)
, (L2,R0+ -> L0)
, (L3,HALT)
, (L4,R0- -> L0, L0) ]
  • Parse code from source file
$ ./bin/main examples/exampleProg.mnsk
fromList [(L0,R1- -> L1, L7),(L1,R0+ -> L2),(L2,R2- -> L3, L5),(L3,R3+ -> L4),(L4,R0+ -> L1),(L5,R2+ -> L6),(L6,R3- -> L5, L0),(L7,HALT)]

TODO

  • Read configuration from stdin, execute program accordingly
  • Parse gadgets
  • Graphical representation of programs (LaTex)
  • Implement universal register machine as an example
  • Execute program step by step

About

Emulator for Minsky's register machines in Haskell

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published