本帖最后由 llvk 于 2026-2-25 17:03 编辑
过年这几天没事做,就花了3天的私人时间,用AI 开发了一个中文编程语言,现在已经开源到github和gitee。
gitee:https://gitee.com/jing-lei1/yima.git
打包成品:https://gitee.com/jing-lei1/yima/releases/download/%E6%98%93%E7%A0%81%E7%BC%96%E8%BE%91%E5%99%A8/%E6%98%93%E7%A0%81%E7%BC%96%E8%BE%91%E5%99%A8.exe
已实现语法(核心)- 输出与输入:显示、输入
- 功能:功能、返回
- 条件:如果 ... 就、否则如果、不然
- 循环:当 ... 的时候、重复 ... 次、遍历 ... 里的每一个 叫做 ...
- 循环控制:停下、略过
- 异常:尝试、如果出错、叫做
- 模块:引入 "模块" 叫做 别名(统一写法)
- 面向对象:定义图纸、造一个、它的
运算符(真实可用)- 算术:+ - * / % ** //
- 比较:> < >= <= == !=
- 逻辑:并且、而且、或者、取反、!
说明:中文算术/比较词(例如“加上”“大于”)目前不是官方语法入口,请使用符号运算。
v1.0 冻结策略- 核心语法:如果/否则如果/不然、功能、定义图纸、引入 ... 叫做 ... 不做破坏性变更。
- 内置能力:现有名称不重命名、不删除(按兼容策略新增)。
- 历史同义词不再新增,文档默认只展示官方写法。
详细规则见:文档/v1.0冻结与回归策略.md
最小示例姓名 = 输入 "请输入姓名:"如果 姓名 == 空 就 姓名 = "匿名用户"显示 "你好,【姓名】"
模板字符串中如果要字面量显示 【】,可用以下任一写法: 显示 "按钮:【【继续探索】】"显示 "按钮:\【继续探索\】"
功能 求和(a, b) 返回 a + b显示 求和(3, 4)
水果 = ["苹果", "香蕉", "橘子"]遍历 水果 里的每一个 叫做 当前 显示 当前
模块导入(当前行为)- 官方写法:引入 "模块名" 叫做 名称
- 如果模块里存在同名导出(或 Python 模块同名属性),会直接绑定该名称。
- 如果不存在同名导出,则该名称绑定整个模块对象。
示例: - 引入 "math" 叫做 数学库,然后 数学库.sqrt(16)
- 引入 "math" 叫做 pi,可直接 显示 pi
- 引入 "数据层.ym" 叫做 数据,然后 数据.cha询()
.ym 模块默认搜索路径:当前工作目录、示例/ 目录。 性能说明:同一运行会话中,.ym 模块按“绝对路径 + 文件修改时间”缓存,重复引入不会重复执行模块顶层代码。
常用内置功能(节选)- 类型转换:转数字、转文字
- 列表:新列表、加入、插入、删除、长度、排序、倒序、去重
- 字典:所有键、所有值、存在
- 文本:截取、查找、替换、分割、去空格、包含、合并
- 文件/系统:读文件、写文件、追加文件、复制文件、移动文件、重命名、遍历文件、复制目录、压缩目录、解压缩、哈希文本、哈希文件、下载文件、匹配文件、文件信息、目录大小、格式时间、解析时间、写日志、读日志、睡眠、读环境变量、写环境变量、执行命令
- 数据:解析JSON、生成JSON、读JSON、写JSON、读CSV、写CSV、读INI、写INI
- 图形界面:建窗口、加卡片、加双列、加登录模板、加列表模板、设位置、加文字、加输入框、加按钮、弹窗、打开界面、加表格、表格加行、表格清空、表格选中行
- 工具:取随机数、类型、现在时间、时间戳
|