Skip to content

SSjunLee/StoneCpp

Repository files navigation

StoneCpp

简介

一个简单的解释器,支持面向对象,函数,数组,闭包等语法。目前只是 个初级版本,之后会对它做性能优化,设计虚拟机来提高语言的性能。

目录划分

  • ast: 包含了语法树节点的实现
  • env: 实现了上下文,用来存储符号代表的对象
  • exception: 异常处理模块,实现自定义异常类,只要要反馈出错的位置
  • parser: 语法分析器,通过配置规则,解析文本符号,输出语法树
  • stype: 定义了Stone语言的基本类型
  • tests: 一些Stone语言编写的测试代码
  • Lexer.cpp: 词法分析器,通过正则表达式匹配源码字符串,分割单词输出符号
  • Naive.cpp: 提供了原生函数的支持,在env里注册naive函数
  • Parse.hpp: 主要为语法分析器提供支持,采用LL语法分析方式。

About

C++实现stone语言

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published