Skip to content
/ VSL Public

使用llvm实现的类C语言(解释器构造实践课程设计)

License

Notifications You must be signed in to change notification settings

Whu-MT/VSL

Repository files navigation

VSL: Very Simple Language

(VSL语法见:VSL词法语法语义.doc)

编译:

   Linux: make (请确保已有llvm库,测试机版本:llvm-6.0.1)
   Windows: 使用cmake生成的examples/Kaleidoscope/Chapter8下的VS项目

运行:

   ./VSL [-obj] [-r] [-h] inputFile
   -obj: 将输入文件编译为obj文件
   -r:   将输入文件的IR代码输出到IRCode.ll文件
   -h:   显示帮助信息

示例程序:

FUNC f(n)
{
	IF n
	THEN
		RETURN n*f(n-1)
	ELSE
		RETURN 1
	FI
}

FUNC main()
{
	VAR i

	i := 0

	WHILE 11-i
	DO
	{
		PRINT "f(", i, ")=", f(i), "\n"
		i := i+1
	}
	DONE
}

输出:

About

使用llvm实现的类C语言(解释器构造实践课程设计)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •