xanathar编程语言

xanathar的Python项目详细描述


夏纳塔尔

名字灵感来源于xanathar's guide to everything(《海岸奇才》)

管道

在draw.io中制作

Xanathar Pipeline

功能

  • 直接编译为二进制文件(通过llvm ir)
  • 快速(使用LarkLLVMLite)表示速度
  • 强类型(由llvm ir强制)
  • 易于学习的语法
  • 用python编写,因此不需要安装

规格

实施的操作

记住,xanathar是一个巨大的在制品。
  • 变量(静态分配)
    • 内部(Int/U)
      • 1位(bool)
      • 8位(字符)
      • 16位
      • 32位
      • 64位
      • 128位
      • 512位
      • 1024位
    • 浮动
    • 字符串(实现为静态分配的int8[])
  • 印刷
    • 可以使用libcprintf
    • print_sprint_iprint_xprint_cprintf格式字符串打印(%s表示print_s等)
      • 用相应的格式字符串实现对printf的libc调用
      • 赞成printf
      • 而反对
  • 铸造
    • 行了!
    • string >> int给出指向string中第int个字符的指针。
      • 用于(例如)printf
  • 循环
    • 暂时的
      • while循环:更像c风格的while
      • for循环:类似于do while样式循环
  • 模块
    • 斯特迪奥
      • i8* get[i8*, i32]
        • 在c中实现fgets(可以在stdlib/stdio.c中查看源代码)

它是两个世界中最好的:它保持了低级语言惊人的速度,但是有高级语言的能力和易用性。 在对collatz猜想的测试中,运行i=1到10,运行77031(整个程序运行100次),python 3运行1.9秒,而xanathar运行0.064秒。 在1000次程序运行中,python 3用了20.7秒,而xanathar用了0.531秒。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何从java中链接到数组的数组中删除值。jar文件?   性能记录屏幕Java磁盘速度   java Elastic APM Tomcat zip文件或JAR清单丢失   java无法在eclipse控制台上打印结果   java如何在Android中解析json对象?   java如何更改边缘根类型   java根据一些规则替换EditText中的字母   java项目反应器:是否有类似Nosideeffect finally的方法(不是sideeffect方法doFinally)   java连接Cassandra节点和spark   开源Java作业调度器:远程处理、负载平衡、故障切换、依赖DAG?   使用矢量汇编程序(Java)在Spark中设置输入和输出时出现问题   swing如何在Java中为文本字段创建右键单击菜单?   java查找最近的邻居/纬度和经度   java计算完成的数独板的行和列