C++实现解释器(5): 功能扩展
参照《Writing An Interpreter/Compiler In Go》,改用C++实现。
引言
本篇对应的源码位于目录: src/04/
04
|token
| |token.hpp
|evaluator
| |evaluator.hpp
| |builtins.hpp
|CMakeLists.txt
|test
| |lexer_test.hpp
| |parser_test.hpp
| |evaluator_test.hpp
| |objects_test.hpp
| |ast_test.hpp
| |main.cpp
|lexer
| |lexer.hpp
|repl
| |repl.hpp
|objects
| |objects.hpp
| |environment.hpp
|parser
| |parser.hpp
| |parser_tracing.hpp
|ast
| |ast.hpp
|main
| |monkey.cpp
这篇主要在现有框架上扩展一些功能:
- 字符串
- 内置函数:
len
,first
,rest
,push
,puts
- 数组
- 字典或哈希表
- 索引表达式