-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Lox Implementations
Rioni edited this page Nov 8, 2024
·
183 revisions
Some brave readers are implementing Lox (or variants thereof) and are making them open source. Particularly brave readers are porting it to other languages.
Are you porting jlox or clox to another language? Feel free to add it to this page!
- zlliang/clox
- CabooseLang/Caboose
- calebschoepp/nqq (article)
- ghost-language/cghost
- jalalmostafa/clox
- Jason2605/Dictu
- valkarias/Pa
- KOREAN139/clox
- nicdard/loxs
- moria-world/emo
- tinwe6/loxi
- tung/clox (bytecode VM with computed gotos + extra language features, article)
- victorgomes/loxvm
- wy3/lox
- ImTouchk/CLox
- baioc/clox (bytecode)
- chidiwilliams/clox (bytecode)
- Roderland/clox (bytecode)
- bayerf/Lox68k (bytecode, complete, extended) Port to a Motorola 68008 single board computer
- HallofFamer/CLox (bytecode, extended)
- ravener/clox
- FrederikTobner/cellox
- woupiestek/clox
- vincepr/c_compiler (bytecode, extended, wasm runs in browser)
- xiaohuangren1001/lox-efi (bytecode) Port to UEFI Firmware
-
txloc1909/lox (bytecode vm in
clox/
) - molee1354/simscript (bytecode, extended)
- Natniif/clox
- ubermenchh/clox
- AndreiMoraru123/clox (vanilla Lox on master + challenges solutions/attempts on feature branches)
- aakshintala/cpplox (Interpreter only in C++17 with Variants instead of visitor)
- aggsol/lox-simple
- ASMlover/loxcc (interpreter & bytecode)
- calebkoy/cplox (source-to-bytecode compiler and interpreter, without native functions)
- chanryu/cloxx (interpreter + mark-and-sweep garbage collector)
- codingpotato/Lox-modern-cpp (bytecode)
- DaanPosthuma/lox (interpreter (using dynamic dispatch instead of visitor))
- flyingalex/cpp_lox(interpreter)
- hashemi/cloxpp (bytecode)
- Jeff-Mott-OR/cpplox
- mspraggs/loxx
- pkusensei/clox (bytecode)
- rkirsling/cclox
- spraza/lox-cpp
- stheis2/ppclox
- the-lambda-way/CppLox (interpreter)
- ThorNielsen/loxint
- TobiPristupin/lox (Interpreter + some extra features)
- veera-sivarajan/lang0 (Interpreter with Lists and Lambdas)
- vilbedawg/jlox-cpp (Tree-walk interpreter with lists)
- asakidaisuke/levi
- chwwhc/Surpher (tree-walk interpreter in C++17)
- uvxwx/lox1
- ecyk/cpplox (tree-walk + bytecode)
- harishtpj/HPI (Tree walking interpreter with online playground)
- TA-800/Loxpp (Tree-walk interpreter, support for classes coming soon)
- mrjameshamilton/cpplox (A Lox interpreter and LLVM compiler)
- nrosa01/CSLox (interpreter)
- ByronMayne/LoxSharp
- Captain-Quack/Lox
- collenirwin/Loxish
- drewbanas/cloxcs (bytecode)
- drewbanas/jloxcs
- h2oboi89/lox
- JasperDre/CSLox
- jonnyboyC/cs-Lox
- LoxScript
- MadHed/lox.net
- mrahhal/CSharpLox
- Nyhilo/NovaLox
- perlang-org/perlang (Lox-based language with (inferred and explicit) static typing support. Web page is at https://perlang.org
- perlun/cslox (incomplete)
- richsoft/CsLox
- shasta9/nlox
- SirCxyrtyx/cslox
- stevehalliwell/ulox-work (Both Tree-Walking and ByteCode interpreter inside Unity Game Engine.)
- tslater2006/Gravlox
- NoahBPeterson/csLox (Interpreter with demo)
- Jay-Madden/SharpLox (Tree walking interpreter with minorly modified syntax)
- FrederikTobner/Kellox
- Monsoonexe/RazerLox
- jmj0502/LSharp (Tree-Walking interpreter for a Lox superset.)
- clrudolphi/dlrLox (Lox implemented on the .NET dynamic runtime)
- robinlant/loxsharp (Tree-Waliking interpreter without inheritance and with some challanges done in main branch )
- escobar-west/csLox (interpreter)
- raghavio/clojox
- ceronman/cloxure
- narimiran/cljox (interpreter)
- avrame/crylox
- dorianmariefr/crlox
- rebeccabuckingham/crystal-craftinginterpreters
- sauer2/crystalline-lox
- adeys/dlox
- rkirsling/dlox
- sma/lox
- BertrandBev/dlox bytecode VM with a neat little online playground
- definev/dlox
- jackdreilly/jlox
- ChessMax/dox
- roboli/lox_dart
- bru32/PLOX (scanner)
- MarcelloMello/clox (bytecode)
- MarcelloMello/jlox (interpreter)
- derekdogg/Lox_Scanner (bytecode)
- awvwgk/flox (interpreter)
- jmonasterio/flox_sharp_interpreter
- lust4life/lox-box/f# (interpreter)
- JulStrat/loxip (interpreter - work in progress)
- jdehaan2014/fplox (bytecode virtual machine)
- aliwalker/golox
- dabbertorres/golox
- goropikari/golox (interpreter)
- hutcho66/glox (interpreter with multiple additions)
- jfourkiotis/golox
- marcopacini/go-lox
- mohitranka/golox
- paulja/glox
- pravj/glox
- Roderland/glox (Interpreter)
- Shri333/golox (interpreter)
- nanmu42/bluelox (and an online playground in WASM)
- chidiwilliams/glox
- rami3l/golox (bytecode)
- michael-go/lox (interpreter, under golox/ folder)
- ccntrq/loxomotive
- Thomas-Neill/hlox
- sudo97/hlox (tree-walk, no classes)
- GitLab:Natrium729/infolox (bytecode)
- AmrDeveloper/Tank
- BlinkLang/BlinkLang
- caique/jlox
- Dandigit/pl-projects/jlox
- fsacer/FailLang
- Geert-Guldentops/jlox
- JasperDre/JLox
- jbduncan/jlox
- lucaspolo/jlox
- nicdard/loxs
- perlun/jlox (incomplete)
- protasm/jblox (Java bytecode Lox compiler/interpreter)
- SayedHajaj/DrawLang (article)
- vighneshq/jlox
- Roderland/lox (Interpreter)
- Leonardpepa/jlox
- Return5/R5Jlox
- microsoftjava/java_lox
- mrjameshamilton/jlox (An optimizing Lox compiler for the JVM using ProGuardCORE for Java bytecode generation)
- AndreiMoraru123/jlox (vanilla Lox on master + challenges solutions/attempts on feature branches)
- sravand123/TinkerScript (interpreter with tons of new features)
- buenvyron/ci-jlox (scanner done)
- GitLab:Natrium729/lox.jl (interpreter)
- nathanleiby/jlox (interpreter)
- lukemerrick/JuLox.jl (interpreter)
- anellie/klox,
- DichotoMe/klox
- felipesabino/lox-kotlin,
- GraydenH/klox,
- itskola/lox-kotlin
- mhashim6/klox,
- pin3da/CraftingInterpreters (interpreter)
- Sharparam/klox,
- HallofFamer/ktlox,
- mrjameshamilton/klox (A Kotlin implementation of lox with a JVM backend built using ProGuardCORE)
- cybergrouch/klox
- cabhishek/nimlox
- nc-x/crafty
- nocturn9x/japl (bytecode)
- rockcavera/nim-nlox
- rockcavera/nim-nloxvm (bytecode)
- unfode/ocaml_lox
- blu-bird/bagol (interpreter - work in progress)
- ludwigpacifici/saumon
- samarthkishor/ocamlox (interpreter)
- tjammer/olox
- ldmnt/mlox (interpreter)
- OrigamiDev-Pete/odinlox (bytecode)
- Syuparn/onylox (interpreter)
- ccntrq/plox (incomplete)
- dnmfarrell/Perl-Lox (interpreter)
- UnixY2k/PSLox (interpreter)
- ramtinJ95/rj-pylox (WIP)
- ubermenchh/pylox
- FallenDeity/LoxInterpreter (inbuilt callables, new keywords, and lox native libraries)
- 1Hibiki1/locks-py
- yashrathi-git/loxscript
- BolunThompson/pylox
- Esamanoaz/plox (interpreter)
- iechevarria/pylox
- JHonaker/pylox
- kathleenbanawa/pylox
- kinshukk/pyterpreter
- kris-gaudel/py-lox (interpreter)
- mjx/pylox
- moreati/pylox
- MtScience/PyLox (interpreter, plus two new operators and a set of native functions)
- nkawaller/pylox (interpreter)
- nocturn9x/japl
- RoelAdriaans/yaplox
- selectnull/pylox
- ronsh909/pylox (interpreter)
- justnat3/pox
- mulhod/pylox
- brkp/pox
- ZhaoChuyang/plox (interpreter)
- ImAKappa/pylox
- BaLiKfromUA/pylox (tree-walk interpreter)
-
txloc1909/lox (tree-walk interpreter in
pylox/
) - acinis/losos (WIP)
- HETHAT/LoxPy (interpreter)
- ArminKleinert/SlowLox,
- LevitatingBusinessMan/rulox (interpreter)
- perlun/cslox (Ruby conversion of the AstGenerator Java class from jlox),
-
Famished-tiger/loxxy (Passes
jlox
test suite and executeslox.lox
flawlessly) - radanskoric/ruby_lox (Imitates Java code style and layout from the book to make it easier to follow along)
- fampiyush/rlox (Tree-walk Interpreter)
- hln33/rlox (Tree-walk Interpreter)
- vortexofdoom/crafting-interpreters-rust
- YangchenYe323/lox
- aalhendi/loxiest (bytecode, clox parity)
- AaronStGeorge/cat-lox
- abesto/clox-rs (bytecode with a playground)
- abesto/jlox-rs (interpreter with a playground)
- adambiltcliffe/rlox (bytecode)
- ajeetdsouza/loxcraft (bytecode VM, REPL, language server, online playground)
- alisww/lax
- anellie/cloxrs (bytecode)
- brightly-salty/rox (interpreter)
- darksecond/lox (bytecode)
- Harmful-Alchemist/rilox (interpreter)
- HarveyHunt/loxr
- jaredh159/rlox (interpreter)
- jeschkies/lox-rs (interpreter)
- jonnyboyC/spacelox
- Lapz/rox
- LevitatingBusinessMan/Loxidation (bytecode)
- mariosangiorgio/rulox
- mayhewj/lox
- mchlrhw/loxide (interpreter)
- nt591/lox-rust (bytecode)
- radogost/rlox (interpreter)
- rafasumi/rustlox (interpreter)
- rctcwyvrn/rlox (bytecode)
- rodaine/rlox
-
rovjuvano/cloxrs (line-by-line port of clox to Rust with over 1500
unsafe
blocks, 90%unsafe
functions) - sasurau4/lox-rust (interpreter)
- silmeth/yarli
- smbl64/lox (interpreter)
- toyboot4e/loxrs (interpreter)
- tdp2110/crafting-interpreters-rs (interpreter/bytecode)
- trevarj/roxt (interpreter/bytecode)
- yanchith/relox
- glella/lako
- ceronman/loxido (bytecode)
- rami3l/dolores (interpreter)
- diegofreijo/rlox-vm (bytecode)
- pdogr/lox-rs (interpreter)
- veera-sivarajan/bessy (bytecode with a playground)
- gaxx/rox (bytecode with some implementation notes with simplified chinese translation)
- mideb/loxjit (a simple JIT compiler for x64 using inline caches)
- tseeker/rust-crafting-interpreters-part-1 (interpreter)
- michael-go/lox (bytecode, under rslox/ folder)
- zackradisic/rust-vs-zig (bytecode)
- zhouxs1023/rslox (bytecode)
- woupiestek/rlox
- boranseckin/rocks (interpreter)
- sagark4/rlox_ast_walk (interpreter)
- ryotsu/rox (bytecode, with a web playground)
- fabianbinna/lox-r (interpreter)
- WiHceeg/rilox (interpreter)
- bencwallace/slox
- grokking-vietnam/grox (A functional, cross compiling Scala, ScalaJS interpreter)
- fighur/sclox
- alexito4/slox
- eirikvaa/slox
- danielctull/slox
- hashemi/bslox (bytecode)
- hashemi/slox
- heckj/slox
- SwampThingTom/swift-lox
- woolsweater/slox
- zlliang/tslox (interpreter)
- berkio3x/ferrous (interpreter)
- langium/langium-lox (interpreter with vscode extension)
- jeroenptrs/tslox
- quantomistro/lox.ts
- mtso/lox (tree-walk interpreter)
- golergka/ts-lox (tree-walk interpreter)
- williamsk91/tslox (interpreter)
- aadonkeyz/jslox (web playground)
- DavidTimms/loxdown (interpreter with static type system and web playground)
- chidiwilliams/loxjs (interpreter with web playground at chidiwilliams/lox-playground)
- alexkowalenko/alox (interpreter)
- jhonnatangomes/tsrabbit (interpreter)
- defpis/tslox (interpreter)
- woupiestek/tslox (both)
- danvk/gravlax (interpreter with currency support)
- bpetermann/ts-lox (interpreter)
- roboli/lox-ts
- jmonasterio/zlox_zig_interpreter
- jwmerrill/zig-lox (bytecode)
- raulgrell/zox (bytecode)
- nathanleiby/zlox (bytecode)
- zackradisic/rust-vs-zig (bytecode)
- tusharhero/zlox