| 类 | 说明 |
|---|---|
| CharTable |
CharTable 空间换时间优化字符判断性能
负值参数强转 char 会自动变正值,无需判断负值数组下标
isLetter(EOF) 不会下标越界
|
| Ctrl |
Ctrl
封装 AST 执行过程中的控制状态,避免使用 Scope.data 保存控制状态
从而污染用户空间数据,目前仅用于 nullSafe、break、continue、return 控制
未来可根据需求引入更多控制状态
|
| Location |
Location
生成异常发生的位置消息
|
| OutputDirectiveFactory |
OutputDirectiveFactory
用于定制自定义输出指令,替换系统默认输出指令,满足个性化需求
用法:
1:定义 MyOutput
public class MyOutput extends Output {
public MyOutput(ExprList exprList) {
super(exprList);
}
public void exec(Env env, Scope scope, Writer writer) {
Object value = exprList.eval(scope);
if (value !
|
| ParaToken |
ParaToken
|
| Parser |
DLRD (Double Layer Recursive Descent) Parser
|
| Scope |
Scope
1:顶层 scope.parent 为 null
2:scope.set(...)
|
| 异常错误 | 说明 |
|---|---|
| ParseException |
ParseException
词法、语法错误
|
Copyright © 2019. All rights reserved.