اهلا وسهلا بك في One!
إنها لغة برمجة أنظمة مفتوحة المصدر ، مستضافة ذاتيًا ، مما يجعل من السهل إنشاء برامج موثوقة وفعالة.
يتم تطويره من قبل ماكس, جون ومساهمين آخرين من المصادر المفتوحة.
- البساطة
- ترجمة
- القدرة على إنشاء ملف الإخراج (x86_64, i386)
- برمجة الأنظمة
- متوسطة المستوى
- برمجة الشبكات و API
- تدعم برمجة الويب (في المستقبل)
- الإنشاء التلقائي للرمز المقابل لكل من CSS و HTML. لذلك لن تضطر إلى تعلم أكثر من لغة واحدة لتطوير موقع ويب
- يستخدم المتغيرات في CSS ، حتى نتمكن من الحصول على الألوان أو الأحجام من قاعدة البيانات
- تصغير نتائج الصفحة تلقائيًا
- أداء وسرعة عالية
- تدعم رمز التجميع المضمن (في المستقبل)
- لا يتطلب منك مكتبات وأدوات محددة على نظام المستخدم في الوضع العادي (في المستقبل)
- لا يتطلب مكتبات وقت تشغيل خارجية في الوضع العادي (في المستقبل)
- لا يتطلب من المترجمين الخارجيين القيام بالتجميع (في المستقبل)
قواعد اللغة متوفرة . هنا.
- المعجم / المحلل اللغوي (في الغالب)
- شجرة AST
- VM
- مولد الشفرة (استلهم من LLVM-C)
- قم بتطوير مكتبة وقت التشغيل وإضافة ميزات
- تصميم إطار عمل للغة
- أعد كتابة المترجم بلغة 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!"
}
}
}
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
تم تصميم هذه البنية فقط لمواقع الويب والبرامج الأصلية. في المستقبل ، سيكون متاحًا أيضًا لتطبيقات الأجهزة المحمولة (الأصلية). (native).
الهياكل المتنقلة لم تكتمل بعد وتتطلب المزيد من التفكير والاهتمام.
مثال لإثبات عمل اللغة:
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 (Not complete)
- BSD
نرحب بجميع أنواع المساهمات ، بما في ذلك تصحيح الأخطاء وطلبات التعديل وتحسينات الوثائق وما إلى ذلك. لطرح سؤال أو فتح مناقشة أو إنشاء مشكلة , نرجو الإنضمام إلى سيرفر الدسكورد الخاص بنا . One Discord Server.
إذا لم تكن على دراية بكيفية تقديم طلب تعديل على GitHub ، فيرجى قراءة هذا . الدليل.
إذا كنت قد قررت المساهمة ، يرجى قراءة الإرشادات هنا أولاً. هنا.
يمكنك أيضًا المساعدة في تطوير One
من خلال تقديم بعض التبرعات على ❤️ Patreon.
شكرا لجميع المساهمين!!
إذا كنت ترغب في المساهمة في تطوير هذا المشروع, يمكنك مراسلتنا على: maxbasecode@gmail.com
تم إنشاؤه بواسطة Max Base @ 2019
One
تم إصدارها بموجب رخصة جنو العمومية العامة v3.0. يرجى الرجوع إلى الشروط والأحكام الموجودة في ملف الترخيص المتضمن في المشروع.