nanmu42 / bluelox

A tree-walking interpreter implemented in Golang for Lox, with a browser playground supported by WASM | 一个基于语法树的Lox解释器,附带WASM版本的playground

Home Page:https://lox.nanmu.me

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BlueLox

English | 中文

GoDoc

BlueLox is a tree-walking interpreter implemented in Golang for Lox.

Lox is a programing language by Robert Nystrom, introduced in his wonderful book Crafting Interpreters, where he constructs a Java version interpreter(jlox) line by line, with detailed tutorial, brilliant illustrations and a full pack of jokes about breakfast.

Lox Playground

https://lox.nanmu.me/

A web browser based Lox playground powered by WASM version of BlueLox.

You may find the Lox Playground helpful during your learning and coding as it may be your stage for trial-and-error and implementation reference.

CLI

go install github.com/nanmu42/bluelox/cmd/bluelox@latest

To use as a prompt:

bluelox

To run a script file:

bluelox script.lox

Acknowledgement

Lox programing language and Crafting Interpreters are works by Robert Nystrom.

The Lox Playground borrows lots of ideas, code and styles from Go Playground.

Logo generated at Gopherize.me.

License

Copyright © 2022 LI Zhennan

Released under Apache License 2.0.

About

A tree-walking interpreter implemented in Golang for Lox, with a browser playground supported by WASM | 一个基于语法树的Lox解释器,附带WASM版本的playground

https://lox.nanmu.me

License:Apache License 2.0


Languages

Language:Go 64.1%Language:JavaScript 19.7%Language:HTML 10.2%Language:CSS 5.3%Language:Makefile 0.6%