Skip to content

A compiler to IA32 and REPL for maru in maru under 7k s-expressions

Notifications You must be signed in to change notification settings

melvinzhang/maru

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Maru

Maru is a symbolic expression evaluator that can compile its own implementation language.

-- http://piumarta.com/software/maru/

This fork aims to eliminate the dependence on C as the implementation language by updating the maru-in-maru interpreter to include all the features of the maru-in-C interpreter.

Objective

  • src/eval.l to have the same features as csrc/eval.c
    • able to run test-pepsi example

Other improvements

  • write tests for eval
  • document the maru language
  • add LLVM support

Bootstrapping

eval.s is the interpreter compiled to IA32 assembly, it can be compiled to a binary with gcc via the Makefile

make bin/eval

The binary can regenerate eval.s from source via the Makefile

rm obj/eval.s
make obj/eval.s

The generate eval.s is identical to the version in the repository

About

A compiler to IA32 and REPL for maru in maru under 7k s-expressions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published