博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将《 两周自制脚本语言 》测试中使用的接口中文化
阅读量:1888 次
发布时间:2019-04-26

本文共 1384 字,大约阅读时间需要 4 分钟。

在这里插入图片描述

续前文. 之前在时, 采用的顺序是从主程序入口开始. 这次从自己编写的测试代码开始, 一是较为熟悉代码, 二是测试驱动开发的思路.

在过程中, 基本依托Eclipse的"重命名"功能, 尚未发现功能上的问题.

在修改eval方法名时, 一开始只重命名了ASTreeEx中的, 后发觉需要将ASTree的所有子类中的eval一并重命名. 其他子类递归调用的API也如此. GluonJ的机制如下(摘自原书), 开发时需要注意.

eval 方法 看似 定义 于 ASTreeEx 类 中, 其实 该类 的 定义 将被 替换, eval 方法 实际上 将由 ASTree 类 定义。 其他 类 的 eval 方法 同样 如此。

翻译的中英对应在:

类名:

Lexer,词法分析器类Token,词类BasicParser,基本语法分析器类ASTree,语法树类BinaryExpr,二元表达式类ASTLeaf,语法树叶类WhileStmnt,While声明类ParseException,分析例外BasicInterpreter,基本解释器类BasicEnv,基本环境类BasicEvaluator,基本求值器类FuncInterpreter,函数解释器类FuncParser,函数语法分析器类NestedEnv,嵌套环境类FuncEvaluator,函数求值器类ClosureInterpreter,闭包解释器类ClosureParser,闭包语法分析器类ClosureEvaluator,闭包求值器类NativeInterpreter,原生解释器类NativeEvaluator,原生求值器类Natives,原生类ClassEvaluator,类求值器类ClassInterpreter,类解释器类ClassParser,类语法分析器类ArrayEvaluator,数组求值器类EnvOptimizer,环境优化器类InlineCache,内联缓存类ObjOptimizer,对象优化器类VmInterpreter,虚拟机解释器类StoneVMEnv,虚拟机环境类VmEvaluator,虚拟机求值器类TypedInterpreter,带类型解释器类TypeEnv,类型环境类TypedParser,带类型语法分析器类TypedNatives,带类型原生类ToJava,变Java类InferFuncTypes,推导函数类型类TypeException,类型例外TypeInfo,类型信息类Environment,环境类NullStmnt,空声明类ASTreeEx,语法树扩展类ASTreeOptEx,语法树优化扩展类EnvEx2,环境扩展类2TypeChecker,类型检查器类ASTreeTypeEx,语法树类型扩展类

方法名:

Lexer.read,读ASTree.numChildren,子个数ASTree.child,子ASTLeaf.token,词Lexer.peek,瞄ASTree.parse,分析Natives.environment,环境*.eval,求值*.lookup,查找*.symbols,所有符号*.typeCheck,类型检查Token.getText,取文本Token.isNumber,为数Token.isIdentifier,为标识符

转载地址:http://lqgbf.baihongyu.com/

你可能感兴趣的文章
【问题与方法】联想拯救者双系统重启卡死机解决方案
查看>>
【深度学习】训练集、测试集和验证集
查看>>
【雷达】如何将三维点云映射到二维平面
查看>>
TIPS_备忘
查看>>
iconv-lite TypeError: __webpack_require__(...) is not a function 问题解决
查看>>
网络建设 之 Cookies
查看>>
MD5加密 信息摘要技术
查看>>
mysql学习总结
查看>>
solidity编程
查看>>
markdown相关语法学习
查看>>
Dos基本命令
查看>>
solidity数据位置
查看>>
solidity实现投票智能合约
查看>>
mac下zsh找不到mvn,以及maven的相关配置
查看>>
配置阿里云服务器远程链接
查看>>
vim基本使用
查看>>
xshell上传本地文件
查看>>
搭建单组4节点联盟链
查看>>
查看linux操作系统文件夹结构
查看>>
谈谈对java平台的理解?java是解释执行吗?
查看>>