README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈
唯一编程语言 💚 💙 🧡 🤍 💖 🖤
English عربي Español فارسی Filipino Français Italiano 日本語 한국어 русский Türkçe Українська
欢迎使用 One!
它是一种开源、自托管、自举的 系统编程语言,使构建可靠且高效的软件变得轻而易举。
它由 Max、John 以及其他开源贡献者共同开发。
One 语言的编译器将在几个月内发布

目录

➤ One 的特性
- 简洁性
- 编译器
- 能够创建输出文件 (x86_64, i386)
- 系统编程语言
- 中级
- 网络和 API 编程
- 支持 Web 编程(未来)
- 自动为 CSS 和 HTML 生成相应的代码。因此,开发网站无需学习超过
One种语言 - 在 CSS 中使用变量,以便我们可以从数据库获取颜色或尺寸
- 自动压缩页面结果
- 自动为 CSS 和 HTML 生成相应的代码。因此,开发网站无需学习超过
- 高性能和高速度
- 支持内联 Assembly 代码(未来)
- 在正常模式下不需要用户系统上的特定库和工具(未来)
- 在正常模式下不需要外部运行时库(未来)
- 在正常模式下不需要外部编译器进行编译(未来)

➤ 路线图
One 语言的语法可在此处]获取。
- 词法分析器/语法分析器(大部分)
- AST 树
- 虚拟机
- 代码生成器(从 LLVM-C 获取灵感)
- 开发运行时库并添加功能
- 为该语言设计 Web 框架
- 使用
One语言重写编译器

➤ 代码示例
main {
ret 0
}
转换为 C:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
global_argc = argc;
global_argv = argv;
return (int) 0;
}
i32 main {
ret 10
}
转换为 C:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
global_argc = argc;
global_argv = argv;
return (int) 10;
}
main {
string in = "Hello, World!"
__ in
return in.length
}
转换为 C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
global_argc = argc;
global_argv = argv;
char *in = "Hello, World!";
printf("%s\n", in);
return (int) strlen(in);
}
另一份草稿:
import web
home {
_ "Hi, Welcome"
}
error {
headers.add('HTTP/1.0 404 Not Found')
headers.add('content-type: text/html;charset=utf-8')
_ "<h1>404></h1>"
}
main {
if system.args.length === 2 {
port = system.args[1]
} else {
port = 8080;
}
web.route.add("/", home)
web.route.add("*", error)
web.listen(port)
return 0
}
另一份草稿:
error {
headers.add('HTTP/1.0 404 Not Found')
headers.add('content-type: text/html;charset=utf-8')
_ `<!doctype html><html><head><title>Error 404</title><meta charset="utf-8"></head><body><h1>404></h1></body></html>`
}
vs
error {
headers.add('HTTP/1.0 404 Not Found')
headers.add('content-type: text/html;charset=utf-8')
page {
title: 'Error 404'
label {
type: 'h1'
_ "Not found!"
}
}
}
旧版 CLI 开发
main:
// __ "Hello, World!"
_ "Hello,"
io.write(' ')
io.write("World")
__ '!'
end
@start
customName:
_ "Hello, World!\n"
end
@start
void app:
__ "Hello, World!"
end
@start
int customName:
_ "Hello, World!\n"
return 0
end
旧版 GUI 开发:(Web,软件)
该架构目前仅针对网站和原生软件进行设计。未来,它也将适用于移动应用(原生)。
移动端的结构尚不完整,需要更多的关注和思考。
示例以展示该语言的工作方式:
title "Name - Main"
description "Descriptions"
/*
Keyword tag not used in the software, only on the web.
*/
keyword "keywords"
style {
* {
margin 0
padding 0
}
header {
width "100%"
height "auto"
}
list {
color "red"
}
list item {
display "inline"
padding "10px"
background "yellow"
}
}
header {
list {
item {
_ "Home"
}
item {
_ "About"
}
item {
_ "Contact Us"
}
}
}
转换为 CSS/HTML/JS 基础:
<html>
<head>
<title>Name - Main</title>
<meta name="description" content="Descriptions" />
<meta name="keyword" content="keywords" />
<style>
* {
margin: 0;
padding: 0;
}
header {
width 100%;
height: auto;
}
ul {
color: red;
}
ul li {
display: inline;
padding: 10px;
background: yellow;
}
</style>
</head>
<body>
<header>
<ul>
<li>Home</li>
<li>About</li>
<li>Contact Us</li>
</ul>
</header>
</body>
</html>

➤ 入门指南
请参阅此链接开始学习该语言。
支持的环境
- GNU / Linux
- Windows
- macOS(未完成)
- BSD

➤ 参与贡献
我们欢迎各种形式的贡献,包括错误报告、功能请求、文档改进等。 如需提问或发起讨论,请创建一个 issue 或加入 One Discord 服务器。
如果您不熟悉如何在 GitHub 上发起 pull request,请阅读此指南。
如果您决定参与贡献,请先阅读此处的指南。
您也可以通过在 :heart: Patreon 上进行捐赠来支持 One 的开发。
感谢所有贡献者!!
如果您希望参与本项目的开发,可以通过邮件联系我们:maxbasecode@gmail.com
由 Max Base 创建于 2019 年

➤ 许可证
One 依据 GNU 通用公共许可证 v3.0 发布。请参阅仓库中包含的 LICENSE 文件中的条款。
➤ 贡献者
由 contrib.rocks 制作。