洛书·Losu(Language Of Systemed Units),单位系统化编程语言,是一款开源,轻量,跨平台,易拓展的中文编程语言。
针对现阶段国人编程需求与编程门槛的矛盾,致力于提供一种人人参与,快速构建的编程方式。
得益于完全由C++11编写的核心代码,洛书可以在多种平台上直接运行,且可以方便的移植到众多的支持POSIX/GNU标准的平台上,覆盖了从开发板到卡片机到个人计算机等多种设备,具有极大的应用弹性。
洛书开发 QQ交流群 805995065 讨论,咨询,技术分享欢迎加群
抖音 demo 分享帐号 洛书编程小哥
Demo源码下载见expand分支
初始设计文档见wiki
滚动技术文档见doc分支[链接]
- 开源开放
- C++实现,源码,架构及工作原理完全开放。
- 编译生成可阅读的输出文件,自由查看
- 简单高效
- 语法简捷,中文代码,简单易上手,让编程走进千家万户。
- "胶水语言",支持调用C/C++/Python等语言编写的支持库,可与现有编程语言进行交互。
- 跨平台,多用途
- 语法糖架构
- 所有的编译器与前端都是在 洛书指令语言 基础上进行加糖
- 通过加糖,可以构建不同语法的洛书语言,必要时还可构建图形化编程界面
如果您直接将中文编程视作笑话,那就没必要向下看了 阅读此文档以反馈常见质疑 [链接]
- 洛书是套壳吗?
- 不是,至于有人质疑洛书套壳C++,洛书和python一样,是通过调用C/C++库来拓展功能的。胶水语言与套壳语言是不一样的
- 洛书代码很丑吗?
- 最新版的洛书代码
#方法 控制红绿灯
红绿灯,红灯接在("1")号引脚,黄灯接在("2")号引脚,绿灯接在("3")号引脚
#循环("10")次
//"次"可以省略
红绿灯,红灯亮起("60")秒
红绿灯,绿灯亮起("60")秒
红绿灯,黄灯以("500")毫秒间隔闪烁("5")次
- 洛书原版的代码是C风格的,长这样
+方法 开始()
{
程序.输出("你好,洛书!")
}
- 有朋友开发了一个python风格的前端,长这样
#方法 开始()
程序.输出("你好,洛书!")
洛书采用类似镜像源的安装方式,通过一行命令,即从源码开始生成最新的版本
在一个空的文件夹内打开终端,复制以下命令(安装有wget与g++编译器),静待安装结束就OK了
- windows
以管理员身份运行
wget --no-check-certificate https://gitee.com/chen-chaochen/lpk/raw/release/update/install.bat&install.bat
- linux
sudo wget --no-check-certificate https://gitee.com/chen-chaochen/lpk/raw/release/update/install.sh&&sudo bash ./install.sh&&sudo rm ./install.sh
master分支下的源码仅作预览用途,各发行版源码见release分支
如果自动化安装出现问题,可以参考 此文档 或在讨论群咨询 以尝试解决。
- 加入仓库,参与洛书标准的制定及LPK组件的开发
- 在expand分支提交pr,参与洛书拓展库的开发
- fork本仓库
- 加入讨论群,共同进步
- 使用洛书开发项目/学生开发毕设也OK
关于 洛书1.0 LTS 与滚动发行版的区别
可以参照 [文档链接]
关于 洛书1.0 LTS 的介绍,安装。详见发行版 [洛书1.0 LTS]
关于 洛书1.0 LTS 的技术文档,可参照 [文档链接]
1. 河图编译器
- 简介 一个采用类型python语法(强制缩进)的洛书衍生版本
- 示例代码(你好世界.hetu)
#加载 开始
#导入 洛书/标准流
#标准流 标准流
#方法 开始()
标准流.输出("你好,河图!\n")
/*
这是河图的多行注释
也是通过缩进来控制
//这是单行注释
#加载 开始
#导入 海龟
#海龟 海龟
#方法 开始()
海龟.初始化("600","600")
步幅 = "2"
#循环("70")
海龟.画笔.颜色("红")
海龟.前进(步幅)
海龟.右转("85")
步幅 = 步幅 + "2"
海龟.画笔.颜色("蓝")
海龟.前进(步幅)
海龟.右转("85")
步幅 = 步幅 + "2"
海龟.停止()
#加载 开始
#导入 洛书/标准流
#引用 交通灯
/*
一个自动的交通灯控制程序
红灯 2s
绿灯 2s
黄灯 1s 闪烁5次
#标准流 程序
#交通灯 交通灯
#方法 开始()
交通灯.配置("16","20","21")
#循环("5")
交通灯.红灯.点亮()
程序.等待("2000")
交通灯.红灯.熄灭()
交通灯.黄灯.闪烁()
交通灯.绿灯.点亮()
程序.等待("2000")
交通灯.绿灯.熄灭()
demo 请见 [链接]
入门示例请见 [链接]