Skip to content

Aiyane/scheme-compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Scheme 语言子集编译器,生成 x86-64 汇编代码。

Program   ----> Expr
Expr      ----> constant
            |   var
            |   (quote datum)
            |   (if Expr Expr)
            |   (if Expr Expr Expr)
            |   (and Expr*)
            |   (or Expr*)
            |   (not Expr)
            |   (begin Expr* Expr)
            |   (lambda (var*) Expr+)
            |   (let ([var Expr]*) Expr+)
            |   (letrec ([var Expr]*) Expr+)
            |   (set! var Expr)
            |   (primitive Expr*)
            |   (Expr Expr*)
  • constant is #t, #f, (), or a fixnum;
  • fixnum is an exact integer;
  • datum is a constant, pair of datums, or vector of datums; and
  • var is an arbitrary symbol.

About

scheme compiler

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages