GithubHelp home page GithubHelp logo

liutscm's Introduction

毕业设计

简介

Scheme方言子集的解释器。开发流程和一些实现思路参考了Scheme From Scratchchibi-scheme-0.2。编译器的实现(compile.c)和虚拟机的实现(vm.c)参考了Peter Norvig写的《Paradigms of Artificial Intelligence Programming: Case Study in Common Lisp》的第23章。

特性

数据类型

  1. 定长数
  2. 布尔类型
  3. 字符类型
  4. 字符串类型
  5. 空表
  6. 点对类型
  7. 符号类型
  8. 原语和用户自定义的函数
  9. 输入与输出文件流
  10. 一维向量
  11. 编译过的函数
  12. 单精度浮点数

函数库

参见src/proc.c文件中的init_environment函数和.liut.scm文件

安装与使用

编译得到可执行的REPL,产生文件./liutscm:

make liutscm

编译得到可执行的REPL测试程序,产生文件./run-repl-test:

make run-repl-test

编译得到可执行的编译器测试程序,产生文件./run-compiler-test:

make run-compiler-test

编译得到可执行的虚拟机测试程序,产生文件./run-vm-test:

make run-vm-test

编译得到可执行的汇编函数测试程序,产生文件./run-asm-test:

make run-asm-test

作者

Liutos([email protected])

License

Copyright (C) 2013 Liutos, MIT License

liutscm's People

Contributors

liutos avatar

Watchers

nchen avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.