Skip to content

Latest commit

 

History

History
37 lines (30 loc) · 569 Bytes

File metadata and controls

37 lines (30 loc) · 569 Bytes

Krust

A simple interpreted programming language based on Lox in the book Crafting Interpreters

CLI Usage

  • Run from file: krust ./path/to/file.krust
  • REPL: krust

Language grammar

fn fib(n) {
  if (n <= 1) return n;
  return fib(n - 2) + fib(n - 1);
}

for (var i = 0; i < 20; i = i + 1) {
  print fib(i);
}

class A {
  a() {
    print "super a";
  }
  b() {
    print "super b";
  }
}

class B < A {
  a() { super.a(); print "sub a"; }
  b() { super.b(); print "sub b"; }
}
var b = B();
b.a();
b.b();