Skip to content

chen-chaochen/losulang

Repository files navigation

中文编程 star fork OSCHINA Fork me on Gitee

输入图片说明

洛书编程语言

输入图片说明

简介

洛书·Losu(Language Of Systemed Units),单位系统化编程语言,是一款开源,轻量,跨平台,易拓展的中文编程语言。

针对现阶段国人编程需求与编程门槛的矛盾,致力于提供一种人人参与,快速构建的编程方式。

得益于完全由C++11编写的核心代码,洛书可以在多种平台上直接运行,且可以方便的移植到众多的支持POSIX/GNU标准的平台上,覆盖了从开发板到卡片机到个人计算机等多种设备,具有极大的应用弹性。

洛书支持的 CPU OS 开发板 概览

洛书开发 QQ交流群 805995065 讨论,咨询,技术分享欢迎加群
抖音 demo 分享帐号 洛书编程小哥
Demo源码下载见expand分支
初始设计文档见wiki
滚动技术文档见doc分支[链接]

特点

  • 开源开放
    • C++实现,源码,架构及工作原理完全开放。
    • 编译生成可阅读的输出文件,自由查看
  • 简单高效
    • 语法简捷,中文代码,简单易上手,让编程走进千家万户。
    • "胶水语言",支持调用C/C++/Python等语言编写的支持库,可与现有编程语言进行交互。
  • 跨平台,多用途
    • 从桌面系统到嵌入式设备,物联网控制平台,洛书都可以实现运行并发作用。
    • 洛书支持的 CPU OS 开发板 概览
  • 语法糖架构
    • 所有的编译器与前端都是在 洛书指令语言 基础上进行加糖
    • 通过加糖,可以构建不同语法的洛书语言,必要时还可构建图形化编程界面

常见质疑

如果您直接将中文编程视作笑话,那就没必要向下看了 阅读此文档以反馈常见质疑 [链接]

  1. 洛书是套壳吗?
  • 不是,至于有人质疑洛书套壳C++,洛书和python一样,是通过调用C/C++库来拓展功能的。胶水语言与套壳语言是不一样的
  1. 洛书代码很丑吗?
  • 最新版的洛书代码
#方法 控制红绿灯
    红绿灯,红灯接在("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分支
如果自动化安装出现问题,可以参考 此文档 或在讨论群咨询 以尝试解决。

加入洛书

  1. 加入仓库,参与洛书标准的制定及LPK组件的开发
  2. 在expand分支提交pr,参与洛书拓展库的开发
  3. fork本仓库
  4. 加入讨论群,共同进步
  5. 使用洛书开发项目/学生开发毕设也OK

最新的LTS版本

洛书1.0 LTS

关于 洛书1.0 LTS 与滚动发行版的区别 可以参照 [文档链接]
关于 洛书1.0 LTS 的介绍,安装。详见发行版 [洛书1.0 LTS]
关于 洛书1.0 LTS 的技术文档,可参照 [文档链接]

第三方贡献

  • 简介 一个采用类型python语法(强制缩进)的洛书衍生版本
  • 示例代码(你好世界.hetu)
#加载 开始
#导入 洛书/标准流
#标准流 标准流
#方法 开始()
    标准流.输出("你好,河图!\n")
    /*
        这是河图的多行注释
        也是通过缩进来控制
//这是单行注释

Demo(单击标题前往链接)

输入图片说明

#加载 开始
#导入 海龟
#海龟 海龟
#方法 开始()
    海龟.初始化("600","600")
    步幅 = "2"
    #循环("70")
        海龟.画笔.颜色("红")
        海龟.前进(步幅)
        海龟.右转("85")
        步幅 = 步幅 + "2"
        海龟.画笔.颜色("蓝")
        海龟.前进(步幅)
        海龟.右转("85")
        步幅 = 步幅 + "2"
    海龟.停止()    

输入图片说明

[洛书物联网架构]

[联网报警器]
[网控小灯]
[交通灯]

#加载 开始
#导入 洛书/标准流
#引用 交通灯
/*
    一个自动的交通灯控制程序
    红灯 2s
    绿灯 2s
    黄灯 1s 闪烁5次
#标准流 程序
#交通灯 交通灯
#方法 开始()
    交通灯.配置("16","20","21")
    #循环("5")
        交通灯.红灯.点亮()
        程序.等待("2000")
        交通灯.红灯.熄灭()
        交通灯.黄灯.闪烁()
        交通灯.绿灯.点亮()
        程序.等待("2000")
        交通灯.绿灯.熄灭()

    

模拟器 终端

输入图片说明 输入图片说明 输入图片说明

输入图片说明

服务器服务端 服务器客户端

示例代码

demo 请见 [链接]

入门示例请见 [链接] 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明 输入图片说明

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages