韩天峰
|
8b0c3d2b72
|
refactor(php): 重构PHP编译器基础功能并优化代码结构
- 移除不支持函数列表的硬编码定义
- 添加对不支持函数调用的运行时检查和错误报告
- 简化静态属性和类常量解析中的self关键字处理逻辑
- 修复类方法调用中self关键字的替换逻辑
- 将扩展模块入口声明从static改为全局作用域
- 重写gen_stub.php脚本的主函数结构和命令行参数处理
- 添加类信息和函数信息的独立生成选项
- 优化桩文件生成时的跳过提示输出
- 重构翻译器中的类解析方法实现
- 更新不支持函数列表包含更多动态函数
|
7 months ago |
韩天峰
|
f3944a5259
|
refactor(compiler): 重构PHP到C++编译器实现
- 修改编译流程,添加对象文件路径管理功能
- 实现缓存检查机制,跳过已存在的编译文件
- 重命名MethodDef中的def属性为functionDef
- 提取表达式类型转换逻辑到独立方法convertExprFromType
- 添加扩展模板文件extension.cc.php,使用模板渲染替代手动代码生成
- 修改main.cc文件结构,使用模块注册方式替代函数注册
- 更新编译参数,添加-Wall编译选项
- 实现方法调用参数传递的动态构建机制
- 优化全局变量初始化和清理函数的实现
|
8 months ago |
韩天峰
|
d24c8be049
|
feat(php): 添加命名空间支持和类继承功能
- 在 ClassDef 中添加 namespace、implements 和 extends 属性
- 实现 getNamespacedName 方法用于获取带命名空间的类名
- 在 CompilerBase 中添加 classes 属性存储类定义
- 修复函数名解析时的大小写转换问题
- 添加对 __CLASS__ 魔术常量的支持
- 移除废弃的 stub 文件常量初始化函数
- 更新命名空间定义的解析逻辑
- 在 Translator 中实现完整的命名空间解析功能
- 添加类继承关系的支持和注册机制
- 实现在全局变量生成中包含类定义入口
- 添加标识符列表解析辅助方法
- 更新示例文件以测试继承功能
|
8 months ago |
韩天峰
|
a7d3cb323a
|
更新 main.cc
|
8 months ago |
韩天峰
|
0033a243d0
|
添加更多测试,php std 标准库测试,支持 list 语法
|
8 months ago |
韩天峰
|
c601729ddc
|
feat(translator): 更新编译器生成全局变量和常量功能
- 修改编译器将函数声明生成到构建目录的 include/php_func_decl.h 文件
- 添加全局变量源文件生成功能,输出到构建目录的 global_vars.cc 文件
- 添加 main.cc 文件到源文件列表中
- 将全局常量注册到 PHP 环境中
- 修改链接器合并二进制文件的方式,使用动态对象文件列表
- 添加文件写入安全检查和目录自动创建功能
- 移除独立的链接器脚本文件
- 添加常量示例文件用于测试
|
8 months ago |