An interpreter for a human-readable CSP language. Syntax closely mirrors mathematical notation. Written in Go, which already uses a CSP-like model for concurrency, ideally reducing the complexity in creating this 'pure' implementation.
A component towards my final year project at the University of Bath, studying the divergence between computational concurrency theory and practical paradigms found in modern code.
Assuming a valid Go installation, simply run go get -u golang.org/x/tools/cmd/goyacc
, go generate
, go install
, then csphome -f simple.csp
.