Skip to content
This repository has been archived by the owner on Mar 26, 2021. It is now read-only.

jmhobbs/go-arnoldc

Repository files navigation

Build Status codecov GoDoc

Go ArnoldC

This is an ArnoldC parser and interpreter written in Go using goyacc. It was inspired by the excellent GopherCon 2018 talk, How to Write a Parser in Go by Sugu Sougoumarane.

The choice to implement ArnoldC was informed by Matt Steele's fantastic GET TO THE CHOPVAR talk from 2015. Transpiling to JavaScript is great, but let's be honest, Go is the future ;)

I never took a compilers course because I switched from CS to MIS, so I apologize if this is horiffic. I'm brute forcing my way through lexing, parsing and interpreter by throwing things at the wall until it works.

Compiler

The "compiler" requires you to have a working Go install, as the source is transpiled to Go then compiled with go build

Demo

Interpreter

The interpreter will parse and execute your ArnoldC program on the fly. It works for most programs, but currently has a bug lurking somewhere that makes certain programs fail.

Releases

No releases published

Packages

No packages published