自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

转载 2023 Maple社区杭州Meetup

2023 Maple社区杭州Meetup

2023-09-14 02:31:29 303 1

原创 编译器Parser(MapleFE)简明手册

MapleFE是一个可适配的灵活使用的parser。它最大的特点是能够采用LL parsing算法解析左递归语法生成式。本文是一个简要说明,包括代码结构和使用方法。MapleFE的组织结构在以往已经有过介绍(见过往知乎文章),此处再重复一下以便于说明。其结构如图一所示,parser是核心算法,通过遍历规则表格实现对左递归语法的解析。此外还包括了几个重要的辅助算法,autogen, recursion detector, lookahead detector,以及两个衍生工具ast2mpl和ast2cpp

2021-11-09 13:15:52 1477

原创 Maple多语言前端-MapleFE

【前言】2008年Boston CGO上Open64 workshop,当时有个讨论很激烈的议题是前端选用gcc的哪个版本。当时Open64利用gcc的前端,引起的问题就是要不要跟随gcc演进以及如何演进。采用三方软件构建自研系统的时候这是一个永远无法回避的问题。在开启编译器项目的时,做一个自研前端的念头异常强烈,特别是随着经验的积累,对新的编程语言的理解以及实际产品业务的理解,促使我下了决心。但是,现实是一直到最近才有了真正的时间,特别是最近的Typescript转c++项目,它背后隐含的价值和长远意义引

2021-07-16 02:54:57 2623

转载 转文:华为鸿蒙操作系统全景解构

转自:智能计算芯世界原文:https://mp.weixin.qq.com/s/NtMHKKL_ShAeoRbrC_De5w从技术、生态两角度看,操作系统对于 ICT 厂商而言具有重要意义,鸿蒙操作系统的推出,对华为、对我国自主可控进程的意义不言而喻。微内核、方舟编译器是鸿蒙生态的两大核心要素。微内核更适应复杂的程序功能,且能够更灵活地移植至不同硬件平台;方舟编译器通过将编译过程提前至开发者环节提升应用执行效率,这一点对于多终端尤其是物联网边缘计算而言尤为重要。结合以...

2021-06-23 14:45:11 396

转载 鸿蒙比AOSP 多了什么

前几天拆了个鸿蒙的 OTA 升级包,解包后发现那目录结构我太熟悉了,再随便看几个文件就明白了其实这鸿蒙就是安卓套壳。不过啊,我还是想知道除去 UI 上的修改,鸿蒙是否在 AOSP 的基础上改了部分内容,如果有,改了多少。今天晚上正好无事可做,就稍微看看解包的文件,找了找华为改了哪些内容。结论0. 鸿蒙手机版内核就是 Linux,没有什么乱七八糟的微内核鸿蒙改了安卓的启动流程,多设置了个环境变量MAPLE_RUNTIME,同时预先加载了一些自己的 Java 类 鸿蒙自己的ohos包大多通过...

2021-05-14 06:23:22 1838 2

原创 方舟JavaScript 引擎

自开源以来,方舟编程体系已经逐步开始成熟,编译器、引擎和调试器等陆续开放。这次开源的是JavaScript引擎。和Java引擎一样,都是基于统一的编译器生成的MapleIR。图一显示了引擎(红色部分)在整个方舟体系中的位置。图一、方舟体系示意图由于依托统一的MapleIR来执行,所以引擎在很大程度上是跟高级语言无关的,当然,不同语言的特性要分别支持。引擎可以在多语言运行环境下执行JavaScript程序,实现C/C++/Java/JavaScript等多语言程序混合执行。基于此实现的调试器.

2021-04-01 12:56:29 12520 2

原创 方舟社区新发布对RISC-V后端的支持

自方舟编程体系开源以来,已经发布了编译器、引擎和调试器,在语言上支持Java和C语言的编译(JavaScript编译及执行也计划近期开源),在体系结构上已经开源的部分支持ARM体系。本次发布的主要特性是对RISC-V后端的支持。RISC-V是现在最活跃的开源体系结构,在国内拥有非常多的厂商及开发者支持。代码链接地址:https://gitee.com/openarkcompiler-incubator/mapleall目前,方舟编译器可以在RISC-V的QEMU模拟器以及真实硬件设备上成功运行C

2020-11-21 14:16:30 3593

转载 转叶寒栋分享:方舟支持C语言编译新功能开源啦!

自2019年8月开源以来,方舟编程体系已经陆续实现了编译器、引擎和调试器的开源,编译器的重点功能主要集中在Java应用程序静态编译上。在《方舟编程体系》一文中,提到了方舟项目目标是要构建一个基于MapleIR的跨语言的编程环境,实现跨语言的全局分析及优化。举个例子,在现有的Java编程环境下面,开发者经常需要同时编写Java和C语言程序,通过JNI相互调用,这两种语言之间目前是不直接互通的。方舟编程体系的终极目标之一就是要通过一致的IR来表述不同语言,并跨越语言进行全局优化。本次开源发布的是对C语言程序

2020-10-14 15:57:36 2797

原创 方舟编译器使用教程

A Tutorial for Building Maple for ARM and Compiling C Codeslast updated: 2020-10-13A General Guidance of Building Maple for ARM and Running C ExamplesHere is a step by step example of building Maple for ARM relase and running a real example which wiil p

2020-10-14 14:59:03 9159

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除