c0dd463b82
修改readme installation
2026-02-04 21:04:03 +08:00
edabd0aa19
build.yml: 获取历史3次提交消息
2026-02-04 20:58:43 +08:00
f1b30c8837
Merge branch 'main' of https://git.fig-lang.cn/PuqiAR/Fig
2026-02-04 20:34:42 +08:00
50ca68b1a4
修复了parser解析initexpr模式判断错误的问题。修复标准库改名忘改的问题
2026-02-04 20:34:35 +08:00
zi2ven
ecc1bd1cc2
change build.yml 3
2026-02-04 20:28:41 +08:00
zi2ven
558ea194c7
change build.yml 2
2026-02-04 20:09:24 +08:00
zi2ven
b302cb2cc5
change build.yml
2026-02-04 19:53:26 +08:00
b4b6d409b5
显示指定构建target为 Fig
Release Build / build-windows-x64 (push) Successful in 1m26s
Release Build / build-linux-x64 (push) Successful in 1m46s
v0.4.3-alpha
2026-02-04 19:21:52 +08:00
da1a8e04de
v0.4.3-alpha
...
Release Build / build-windows-x64 (push) Failing after 1m16s
Release Build / build-linux-x64 (push) Failing after 1m20s
[Fix] 函数调用时参数类型求值使用错误作用域的问题
[Fix] 结构体定义中不可以使用自身类型的bug
[Fix] import导致的重定义bug
[Impl] Parser的precedence调整
[Feat] 支持运算符重载, impl Operator for xxx {} 具体见 lang.fig中解释
[Feat] 新增标准库 std.test
[Feat] 新增内置函数 type,接收一个参数,返回该参数的类型(value.type改名value._type)
推荐使用该函数替换 value._type
[Feat] 新增转换运算符 as,转换失败时抛出TypeError,支持任意类型到String、部分类型到Int, Double等等转换
TypeError实现了Error interface,可被用户catch
推荐使用该feat或与std.value标准库结合
[Feat] 抛出实现Error interface的错误现在会有不一样的log
[Feat] import增加cache(ast + source lines),但import一个module每次会得到不同对象而不是复用,请注意
2026-02-04 19:12:18 +08:00
e8aed221de
新增builtin函数 type,接收一个参数,获取类型字符串。(类似 js) 标准库 std.value.type函数更名 _type返回底层类型
2026-02-04 18:28:18 +08:00
b98c1b7dd8
挺大的改动。增加 as运算符,转换不了抛出 TypeError。import语法更新。修复try一点错误。现在表达式运算返回ExprResult。通过3个宏实现简便错误传播与解包 unwrap
2026-02-04 18:14:30 +08:00
27cf09cad0
消除UTF8_iterator编译警告
2026-02-03 19:41:24 +08:00
45e18cc773
规范 include
2026-02-03 19:20:51 +08:00
4535f75058
修复了函数调用时求值类型使用的作用域错误的问题。结构体中现在可以使用自己
2026-02-03 18:49:40 +08:00
01c16dee3f
[Feat] 支持运算符重载!详见文档或 Library/lang/lang.fig中的定义。通过 impl Operation for xxx实现重载
...
[Impl] 函数参数指定现在也接受一个 exp,逐渐改动其他中...
2026-02-02 16:11:08 +08:00
41bff72d44
这是一条 msg. ( 正文:error log修改。新增std.tester。parser precedence重写
2026-02-01 20:01:59 +08:00
aea716ced2
回档之后的重写。部分问题修复。添加了什么我也忘了
2026-02-01 15:52:28 +08:00
61bffdc743
文档与readme更新
2026-02-01 13:59:20 +08:00
ca4ae143b4
v0.4.2-alpha
...
Release Build / build-windows-x64 (push) Successful in 43s
Release Build / build-linux-x64 (push) Successful in 50s
[Fix][Impl] 为了消除类构造带来的语法歧义,同时保持实现简洁和括号省略的语法,自此版本,引入了 `new` 操作符
造成歧义的原方法:
if a == A{}
条件是 a == A,还是 a == A{} ?
因此,现在使用 new a_struct{}来构造类
[Opti] 相较于 Fig v0.4.1-alpha版本,release O3同编译条件下
Fib普通递归法性能提升 ~50%
具体方式:
增加了小整数优化,-128~127的整数现在会直接从IntPool获取而不是新构造
...忘了
[Fix] 类构造 shorthand模式忘写了,现在补上了
[Feat][Impl] 类型声明现在接受一个表达式,原为Identifier。实现 var start: time.Time = time.now() 的效果
这是符合语法和语言特性的支持,类型为一等公民。类似Python的 <class 'type'>
[Impl] 修改了部分错误输出的细节
v0.4.2-alpha
2026-01-22 08:24:14 +08:00
21641f888e
恢复原来的构建逻辑
Release Build / build-windows-x64 (push) Successful in 2m55s
Release Build / build-linux-x64 (push) Successful in 4m41s
v0.4.1-alpha
2026-01-19 17:33:52 +08:00
def69e031f
qswl x3
2026-01-19 17:26:46 +08:00
009a70fc64
气死我了x2
2026-01-19 17:24:29 +08:00
e01b4e9849
气死我了
2026-01-19 17:19:12 +08:00
da262a4cf1
尝试修复 build.yml 版本构建
2026-01-19 17:09:44 +08:00
f76e28ee8d
修改 build action
2026-01-19 16:57:57 +08:00
a324cf17f6
尝试修复windows构建版本获取问题,代码是ds写的。我不会actions
Release Build / build-windows-x64 (push) Failing after 32s
Release Build / build-linux-x64 (push) Has been cancelled
2026-01-19 16:27:14 +08:00
caf058dd55
[VER] v0.4.1-alpha
...
Release Build / build-windows-x64 (push) Failing after 3m2s
Release Build / build-linux-x64 (push) Has been cancelled
[Fix] 修复struct定义创建instanceCtx时拷贝类方法错误的Bug,表现在同一类的2个不同实例内置函数一样的问题
(即 addr A != addr B, addr A.method == addr B.method)
修复后为 (addr A != addr B, addr A.method != addr B.method)
方法的closureContext指向instance的Context
修复后 std.time可以正常使用
2026-01-19 16:10:12 +08:00
9e3f17711f
[VER] 0.4.0-alpha
...
Release Build / build-windows-x64 (push) Successful in 54s
Release Build / build-linux-x64 (push) Successful in 1m21s
[Fix] 修复恶性Bug: Parser: parseExpression没有正确解析二元表达式,没有用到 right binding power的问题,表现在生成类似 a * b * c时,结果为 a * (b * c) 的Bug
[Impl][Fix] 修复跨文件(如import)报错信息错误的问题,现在Ast跟踪保存文件信息,报错统一从Error父类获取
[...] 忘了,好困不管了
v0.4.0-alpha
2026-01-19 04:13:55 +08:00
d398d457b5
[VER] v0.3.9-alpha
...
Release Build / build-windows-x64 (push) Successful in 1m0s
Release Build / build-linux-x64 (push) Successful in 1m2s
[Feat] is 操作符现在可以直接判断内置数据类型, 如 10 is Int
[Fix] evalMemberExpr的lhs可以为右值,修复原来限制为左值的BUG,如调用一个函数返回结果为struct且访问member触发此bug
[Impl] 可更换的std::dynamic_pointer_cast更换为static版本,更快!
[Feat] 增加标准库 std.time,以及用到的builtin: __ftime_now_ns,但目前 Time类有点BUG
[...] 剩下的忘了
v0.3.9-alpha
2026-01-15 17:51:01 +08:00
ccf80536b3
[Fix] 蠢蛋clang!
Release Build / build-windows-x64 (push) Successful in 47s
Release Build / build-linux-x64 (push) Successful in 58s
v0.3.8-alpha
2026-01-14 21:35:48 +08:00
13fdbec0c4
[VER] v0.3.8-alpha
...
Release Build / build-linux-x64 (push) Failing after 18s
Release Build / build-windows-x64 (push) Successful in 46s
[Impl][Fix] 更改resolveModulePath实现,使用绝对路径查找内置库
2026-01-14 21:31:11 +08:00
99e00492f5
删除蠢蛋注释
Release Build / build-windows-x64 (push) Successful in 46s
Release Build / build-linux-x64 (push) Successful in 59s
v0.3.7-alpha
2026-01-14 17:37:27 +08:00
310d79acc5
我忘记改版本号了
Release Build / build-windows-x64 (push) Failing after 48s
Release Build / build-linux-x64 (push) Successful in 58s
2026-01-14 17:34:24 +08:00
e28921ae02
[VER] 0.3.7-alpha
...
[Fix] 修复科学表达式数字解析的问题(Lexer引起) 由 Satklomi发现,感谢
[Feat] 增加Compiler相关定义,将开发BytecodeVM
[Tip] Evaluator进入Bug fix阶段,新功能延缓开发。转向VM
2026-01-14 17:28:38 +08:00
1ccc63419d
[VER] v0.3.6-alpha 发布, 完整的Installer已准备!
...
Release Build / build-windows-x64 (push) Successful in 58s
Release Build / build-linux-x64 (push) Successful in 1m0s
[w] Change log 在之前的提交
v0.3.6-alpha
2026-01-04 14:51:32 +08:00
3b5e99242f
[Action] 尝试修复win打包计算问题
2026-01-04 14:22:33 +08:00
85bdab5db3
[Action] 重写win发布
Release Build / build-windows-x64 (push) Failing after 43s
Release Build / build-linux-x64 (push) Successful in 54s
2026-01-04 14:19:38 +08:00
cabe15c581
[CI] Docker镜像安装libpython
Release Build / build-windows-x64 (push) Successful in 54s
Release Build / build-linux-x64 (push) Has been cancelled
dev-build
2026-01-04 14:01:06 +08:00
57fd8ead4c
[CI] linux安装器构建使用兼容dash的方式
2026-01-04 13:59:25 +08:00
2d0651cc3e
[CI] Docker容器增加venv依赖
2026-01-04 01:31:00 +08:00
34b2bf0545
[CI] Linux构建使用venv杜绝冲突
2026-01-04 01:24:35 +08:00
8addd51cc7
[CI] Linux安装器尝试修复
2026-01-04 01:19:48 +08:00
903f621ca5
[CI] 让Python在linux镜像中提前安装
2026-01-04 01:08:09 +08:00
1cae0fb849
[CI] 让 Linux安装器构建先安装python
2026-01-04 01:05:27 +08:00
c93840af5f
[VER] v0.3.6-alpha
...
Release Build / build-linux-x64 (push) Failing after 26s
Release Build / build-windows-x64 (push) Failing after 34s
[Feat] 增加控制台在线安装器 !
[Impl] 修改ExampleCodes的一些实现,使用最新库 std.io
2026-01-04 00:51:11 +08:00
893eb1050f
[CI] 尝试修复win打包
2026-01-03 22:59:36 +08:00
64deaafb65
[CI] 尝试修复windows发布bug
2026-01-03 22:57:16 +08:00
af607ad26f
[CI] windows设置toolchain mingw
2026-01-03 22:51:56 +08:00
b75830f6b1
[CI] windows build 取消 toolchain设置
2026-01-03 22:49:41 +08:00
1679f50e54
[CI] windows修复
Release Build / build-windows-x64 (push) Failing after 4s
Release Build / build-linux-x64 (push) Successful in 26s
2026-01-03 22:43:06 +08:00