Skip to content

BigNews/Scheme_Interpreter

Repository files navigation

#Scheme Interpreter

Introduction:

Scheme解释器(基础版)
实现了Scheme的基础功能。

程序特点:栈空间需求大,速度慢(每秒5000条指令)

How to build it?

已在Visual Studio 2010下成功编译并且通过测试。

编译环境:
	请保证至少128MB的堆空间和栈空间。		
		在Visual Studio中设置堆保留空间和栈保留空间为33554432
		或加入: /HEAP:"33554432" /STACK:"33554432"
	在VS2010下请使用Release模式,如使用其它方式编译,请尽可能的打开优化。

代码内部DEBUG部分:
	debugger\debugger.h:       启用#define __DEBUG_MODE_ON_  		可以在大部分函数中启用检查。但速度会有所下降。
	parser\parser.cpp			启用#define __PARSER_DEBUGGER_		可以在屏幕上输出解释器的执行步骤。但由于使用的是cout输出,会导致速度异常慢。

How to use it?

请确保library.scm与Scheme_Interpreter在同一个目录下。
文件的输出存放在SchemeInterpreter.log内部。

Usage: Scheme_Interpreter <filename>

Test performance

no_side_effect.scm		Accepted! 		19 min 30 s     启用DEBUG_MODE_ON时花费40min。
	
side_effect.scm			Accepted!		< 1 s
	
deep_tree.scm			Accepted!		2 min 20 s

Postscript.

<Invisible>