韩天峰
|
5fd9215509
|
refactor(Php): 重构类定义和编译器实现
- 修改 ClassDef 中 methods、properties 和 constants 的类型为关联数组
- 在 CompilerBase 中添加 TYPE_VOID 常量并修改函数名获取逻辑
- 将 escapeClass 方法改为小写转换
- 使用 climate 库替换日志输出方法
- 更新 MethodDef 构造函数以支持返回类型
- 重构 Translator 中的类包装器生成逻辑
- 实现原生方法包装器和类包装器功能
- 修改常量和属性存储方式为键值对形式
- 添加方法包装器以支持返回类型处理
|
8 months ago |
韩天峰
|
d21e7c13bf
|
refactor(Php): 优化Translator类中的方法以提高代码可读性
- 添加getRegisterClassFunction方法用于生成类注册函数名
- 添加getClassCe方法用于生成类条目名称
- 添加getParentClassCe方法用于获取父类条目名称
- 使用新方法替换原有的硬编码字符串拼接
- 简化类定义中的变量命名和逻辑结构
|
8 months ago |
韩天峰
|
29bd55ccd3
|
feat(php): 添加类定义文件映射功能
- 在 CompilerBase 中新增 classesDefineInFile 属性用于存储文件中的类定义
- 初始化时清空 classesDefineInFile 数组
- 在 Translator 中为每个类定义生成注册函数
- 将当前解析的类同时添加到 classes 和 classesDefineInFile 数组中
- 优化类定义创建逻辑,移除重复检查代码
|
8 months ago |
韩天峰
|
d24c8be049
|
feat(php): 添加命名空间支持和类继承功能
- 在 ClassDef 中添加 namespace、implements 和 extends 属性
- 实现 getNamespacedName 方法用于获取带命名空间的类名
- 在 CompilerBase 中添加 classes 属性存储类定义
- 修复函数名解析时的大小写转换问题
- 添加对 __CLASS__ 魔术常量的支持
- 移除废弃的 stub 文件常量初始化函数
- 更新命名空间定义的解析逻辑
- 在 Translator 中实现完整的命名空间解析功能
- 添加类继承关系的支持和注册机制
- 实现在全局变量生成中包含类定义入口
- 添加标识符列表解析辅助方法
- 更新示例文件以测试继承功能
|
8 months ago |
韩天峰
|
ca1ee88d5f
|
支持 class 处理,初步版本
|
8 months ago |
韩天峰
|
da9b944099
|
重构类结构,拆分成多个类,避免单个类的尺寸过大
|
8 months ago |
韩天峰
|
8327e198ed
|
重构类结构,拆分成多个类,避免单个类的尺寸过大
|
8 months ago |
韩天峰
|
07c7abffd7
|
类处理代码
|
8 months ago |
韩天峰
|
16787142d6
|
修复错误,增加单测
|
8 months ago |
韩天峰
|
0033a243d0
|
添加更多测试,php std 标准库测试,支持 list 语法
|
8 months ago |
韩天峰
|
a54b04118d
|
支持错误抑制操作符,但仅支持控制一个函数
|
8 months ago |
韩天峰
|
a085c33208
|
refactor(Php): 优化 MagicConst 和 Foreach 语句解析
- 修复 MagicConst 解析函数的类型声明
- 修复 Line 常量解析的返回值类型转换
- 修复 Foreach 语句解析函数的类型声明
- 更新 PhpParser 导入以支持 MagicConst 和 Foreach_ 节点类型
|
8 months ago |
韩天峰
|
185c5a75dc
|
添加 NAMESPACE_SEPARATOR 常量用于统一分隔符定义
|
8 months ago |
韩天峰
|
68c272355c
|
命名空间和 use 语法支持 [1] ,仅 function,TODO class
|
8 months ago |
韩天峰
|
c601729ddc
|
feat(translator): 更新编译器生成全局变量和常量功能
- 修改编译器将函数声明生成到构建目录的 include/php_func_decl.h 文件
- 添加全局变量源文件生成功能,输出到构建目录的 global_vars.cc 文件
- 添加 main.cc 文件到源文件列表中
- 将全局常量注册到 PHP 环境中
- 修改链接器合并二进制文件的方式,使用动态对象文件列表
- 添加文件写入安全检查和目录自动创建功能
- 移除独立的链接器脚本文件
- 添加常量示例文件用于测试
|
8 months ago |
韩天峰
|
ba3ffd885f
|
支持 C++ Native 函数注入,stub 存根文件
|
8 months ago |
韩天峰
|
04f265ae24
|
全局变量
|
8 months ago |
韩天峰
|
730e0e45f1
|
支持 empty 语法
|
8 months ago |
韩天峰
|
73f84217db
|
支持静态类属性读写语法
|
8 months ago |
韩天峰
|
5824e859e6
|
赋值操作作为右值,修复 try/catch 没有 finally 无法跳出循环的问题
|
8 months ago |
韩天峰
|
5f14139ace
|
Native 常量处理
|
8 months ago |
韩天峰
|
4f095c301d
|
添加更多單元測試
|
8 months ago |
韩天峰
|
c1d759de57
|
动态函数调用语法 [2]
|
8 months ago |
韩天峰
|
fb10132b6c
|
动态函数调用语法
|
8 months ago |
韩天峰
|
739152ba14
|
支持语法 **=
|
8 months ago |
韩天峰
|
4162b79113
|
try/catch 语法支持
|
8 months ago |
韩天峰
|
ec836bcb31
|
nbody-php-3 算法
|
8 months ago |
韩天峰
|
5f1fe2e2a4
|
禁止 for 循环中覆盖全局变量
|
8 months ago |
韩天峰
|
74a3778426
|
禁止 foreach 中添加全局变量的同名变量
|
8 months ago |
韩天峰
|
2ce0791299
|
优化代码
|
8 months ago |
韩天峰
|
1a1134d974
|
对象操作,方法调用、静态方法调用、属性读取
|
8 months ago |
韩天峰
|
3492a4ebe6
|
修复 AssignOpConcat
|
8 months ago |
韩天峰
|
7c5c716b36
|
支持目录处理
|
8 months ago |
韩天峰
|
c9c558103c
|
数组操作处理
|
8 months ago |
韩天峰
|
19e0dc48af
|
移除表达式中多余的括号
|
8 months ago |
韩天峰
|
bf69a539a1
|
字面量字符串优化,增加字面量表
|
8 months ago |
韩天峰
|
a25fe02e09
|
更新
|
8 months ago |
韩天峰
|
f072f944b2
|
函数定义处理
|
8 months ago |
韩天峰
|
72b7ebdfae
|
单测
|
8 months ago |
韩天峰
|
6ac8494173
|
update
|
8 months ago |
韩天峰
|
8df7d16efb
|
优化命令行参数
|
8 months ago |
韩天峰
|
e867d32e60
|
命令行参数
|
8 months ago |
韩天峰
|
9c72ef6ff4
|
bench.php
|
8 months ago |
韩天峰
|
0dbb12812d
|
数值系统 单元测试
|
8 months ago |
韩天峰
|
204908f6e9
|
数组 单元测试
|
8 months ago |
韩天峰
|
257cc2d796
|
单元测试
|
8 months ago |
韩天峰
|
765eb75869
|
运算操作符 单元测试
|
8 months ago |
韩天峰
|
2b9417d78f
|
update
|
8 months ago |
韩天峰
|
f3565a6439
|
回归赋值的语法
|
8 months ago |
韩天峰
|
668244ae64
|
修复 BUG,switch 结构解析失败时需要恢复作用域
|
8 months ago |