Commit Graph

38 Commits

Author SHA1 Message Date
28e78be57a [VER] 0.3.5-alpha
[FEAT] 现在,我们的内置类型 Int, String等也有构造函数了!像是StructType一样调用,Int{10}
[FEAT] List,Map赋值默认为Alias, 现在,通过 List{other}/Map{other} 来创建新的container! 复制出新的容器
[IMPL] Object toString对于 String type 输出进行修改!
[IMPL] ... 还有一些忘记了!
[ALL] Happy new year! And hope Fig-lang become better! Let's build a new world!
2026-01-01 16:38:21 +08:00
95f74356a8 [Fix] 修复Implement没有向上级查找的BUG ! 非常抱歉 2025-12-30 18:14:48 +08:00
b76d1e6edf [Fix] 修复TypeInfo Hash不一致问题,以及InterfaceType toString格式化 2025-12-30 17:55:22 +08:00
ba0364fb51 [VER] 0.3.4-alpha 2025-12-30 17:43:44 +08:00
9f24392034 [VER] 0.3.4-alpha
[FEAT] 异常系统, try/catch/finally
2025-12-30 17:42:41 +08:00
6982f169aa [IMPL] 版本号改为 0.3.3-alpha 未经广泛测试 2025-12-30 12:02:42 +08:00
f58a60c8e3 [VER] 0.3.3-alpha
[FEAT] interface + impl 支持! Duck Typing + 严格的检查让语言健壮
[FEAT][IMPL] 增加辅助函数 isTypeMatch等
[IMPL] TypeInfo构造函数FString 现在 explicit
2025-12-30 12:02:27 +08:00
f19b14f45f [Impl] 增加 prettyType,返回TypeInfo的FString, StructInstance自动输出父类TypeInfo 2025-12-29 20:34:04 +08:00
31c2ae4d84 [Impl] StructInstance现在记录parent TypeInfo, StructType改用TypeInfo 2025-12-29 20:21:12 +08:00
92dcd19f39 [Impl] 增加版权信息,后续可能成为包要求 2025-12-29 19:45:54 +08:00
edea443801 [Fix][Impl] while 和 else if 括号现在主动探测,可支持无括号写法 2025-12-29 19:05:55 +08:00
393a64cac9 [Impl] 移除 math库无用import 2025-12-29 18:55:17 +08:00
2a455a0487 [Feat] 实现 std.formater库,增加 std.io.printf函数
[Fix] 修复 evaluator中处理else if condVal类型错误的低级问题
[Feat] 为 String类型增加 insert, replace, erase函数
2025-12-29 18:27:39 +08:00
cd106fc513 [Feat] 增加数学库 std.math
[Fix] 修复resolveModulePath解析二级模块的一些Bug
2025-12-29 17:25:06 +08:00
7565ab7f65 注释修正 2025-12-27 20:16:09 +08:00
25c971118a [Feat] 可变参数 variadic! 目前函数若使用可变参数,参数只能为1个
语法 func (arg...) 获取到的类型为 List
       若要判断类型,使用标准库 std.value.type
[Feat] 标准库 std.io std.value 实现,提供print,read等函数
       详见 Library/std 实现
[Impl] 分离 builtin value 和 function注册
2025-12-26 22:26:06 +08:00
20f39b7eba [Feat] 支持 += -=等运算符! 2025-12-26 21:59:52 +08:00
8a047de1c7 [Feat] 函数支持可变参数!! func (x...) 获取到的x类型为List
[Impl] Lexer现在贪心检测符号,拓展时可以直接添加到symbol_map
2025-12-26 21:43:29 +08:00
00240f1ed1 [Feat] 模块系统支持,使用 import x.x.x导入
[Fix] Context内部辅助函数修改, getStructName ....
[Feat] 增加字符串下标获取操作,和修改字符操作,实现使用了第四点的函数
[Impl] FString添加新方法 getRealChar, realReplace
[Fun] 在utf8_iterator中辱骂了C++
2025-12-26 20:47:57 +08:00
6e1df63507 [Fix] 修复For循环求值使用错误的Context问题 2025-12-25 17:30:56 +08:00
01efa0910d [Feat] 为List增加push函数 2025-12-25 17:20:04 +08:00
1d452fd8f0 [Impl] 间隔取消 2025-12-25 17:12:44 +08:00
f056b0ffbe [Feat] 增加容器 List, Map, 以及对应Hash
[Impl] Addressable/Unaddressable Error现在内部存储FString而非View
2025-12-25 17:10:12 +08:00
fc35368d85 [Feat] 详细区分左值(LvObject)与右值(RvObject -> ObjectPtr)
[Impl] 重构evaluator.cpp + hpp 全部
[Feat] 增加对于IndexExpr的解析
[Fix][Impl] 现在点运算符不由BinaryExpr负责,增加MemberExpr,单独实现解析
[Impl] 项目目录全部翻修, src/目录下单独文件夹放置每一个模块
2025-12-24 17:54:38 +08:00
3227230aa2 [Fix] 修复类成员可见性问题 2025-12-23 11:45:50 +08:00
660cca2579 [Fix] 修复struct内部函数无法访问内部成员的问题
[Feat] 拓展构建
2025-12-23 01:37:46 +08:00
6226059adc [Fix] 修复无法调用类函数的问题
[Feat] Context merge功能
[Feat] VSCode 拓展现已更为 fig-vscode.
2025-12-23 01:15:35 +08:00
8f4fb69653 [VER 0.3.2-Hotfix]
[Feat] 面对对象(struct)支持,完成对其初始化解析。
[Impl] Value更换为Object,且简单类型按值存储,复杂类型为shared_ptr。
[Impl] 全局使用 Object shared_ptr
2025-12-22 23:19:40 +08:00
271846143a 阶段性保存,全面修改Value为Object 2025-12-22 19:18:43 +08:00
34a56beb90 [feat]类初始化 2025-12-22 17:38:52 +08:00
26bc387032 fix 2025-12-22 13:39:17 +08:00
2e02960f03 directory organize and lexer now ignores comments 2025-12-22 00:01:24 +08:00
014803b705 feat: implement for-loops with proper scope management
- Add support for C-style for loops: for (init; condition; increment) { body }
- Implement three-level scoping: loop context + per-iteration contexts
- Add semicolon disabler for increment statements using RAII guards
- Support break/continue/return control flow with scope validation
- Fix semicolon handling in parser for flexible for-loop syntax
2025-12-21 22:55:46 +08:00
acc2d33dbc command -v(--version) support. ast typeName method now returns magic_enum::enum_name 2025-12-21 20:18:05 +08:00
17799ff939 value operator for numeric values now explicit 2025-12-20 22:34:30 +08:00
56459a5eeb support closure!!!!! 2025-12-20 20:38:59 +08:00
e7ca714a89 support function literal, set builtins to global context. great! 2025-12-20 20:27:36 +08:00
73c828d99b v0.3.1 2025-12-19 20:38:40 +08:00