Skip to main content

木兰编程语言重现

Project description

前言

没错,这就是那个木兰。

2020 年一月第一时间提出知乎问题「木兰」编程语言有什么特色?的正是本人,这是那段暴风骤雨的亲历记

目标

悬赏尚未完成时,将努力向重现「木兰」编程语言的目标迈进。过程中的技术文章集结在知乎专栏并在开源中国同步更新。

木兰源代码转换为 Python 的中间表示(AST)后执行,可实现各种语法设计与周边功能,并可方便地利用 Python 现有生态。

运行

!必需 Python 3.7 !

通过 pip install ulang 安装木兰。

命令行交互环境

$ 木兰
木兰向您问好
更多信息请说'你好'
> 和 = 0
> for 数 in 1..10 {
>> 和 += 数
>> }
> print(和)
55

IDE 辅助

VS Code 语法高亮插件

【原型】自带的编辑器

运行木兰源码文件

建议.ul后缀

$ 木兰 测试/运算/四则运算.ul
4

下面例程调用了草蟒的中文 API:

using * in 海龟

颜色("黄色", "红色")
开始填充()
for 转角 in 0..4 {
  前进(200); 右转(144)
}
结束填充()
主循环()
/* 需安装 Python 库“草蟒”: grasspy-modules */

参考例程在此

其中实用为较接近实用的部分。另外木兰代码编辑器也用木兰代码编写。

所有例程演示的语法可用原始的木兰可执行文件 ulang-0.2.2.exe 检验。如发现有异烦请告知,定将同样礼谢

新手入门

如果无编程经验,请入此门

功能说明

随着逐渐缩小与原版木兰的差距,将补充语言语法规则。用户手册尚待更新。为调试方便,报错等等反馈信息会逐渐中文化

交互环境功能说明在此

开发

使用 Python 3.7。 Mac 和 Linux 下全部测试通过;windows 下测试大多数通过。如使用 3.8,语法树测试将失败。

为提高开发维护效率,本项目中尽量使用中文标识符。包括语法规则、Python 代码等等。

依赖 Python 包:

本地运行

$ python -m 木兰

运行测试

$ python 测试/运行所有.py
$ python -m unittest 测试.unittest.交互 测试.unittest.语法树

为检验与原始木兰可执行文件功能一致,需先阅读“win32”部分注释并手动修改。

许可证

GNU GPLv3

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ulang-0.0.14.1.tar.gz (23.4 kB view hashes)

Uploaded Source

Built Distribution

ulang-0.0.14.1-py3-none-any.whl (41.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page