重磅:华为方舟编译器开源代码「正式发布」

loonggg

读完需要

2

分钟

速读仅需1分钟

就在今天,8 月份的最后一天,华为方舟编译器开源官网正式上线了。

640?wx_fmt=jpeg

本次方舟编译器开源的是编译器框架部分源码,包括编译器中间表示(IR,Intermediate Representation)和语言编译实现, 同时搭配编译器其它二进制组件,实现 Java 程序到 aarch64 汇编指令的编译过程。

开发者可基于开源代码+二进制,编译构建出编译器工具链,尝试对 Java 程序进行编译。社区参与者可以通过框架源码学习方舟编译器的编译器中间表示(IR) 及基本的中端编译框架,熟悉方舟编译器的架构思想,并参与诸如对编译器中端优化的贡献。

目前方舟编译器的代码托管在华为云与码云平台(gitee.com),在未来走向开放治理以后,将按照所挂靠机构的模式来托管。开发者可通过代码托管平台参与社区贡献,包括文档贡献和代码贡献,同时也可在此平台上反馈相关问题和需求。

方舟编译器开源打响了鸿蒙OS开源的第一枪。

640?wx_fmt=jpeg

在之前的华为开发者大会上,华为给出了鸿蒙 OS 及方舟编译器的开源时间表,但是由于发布会上代码并没有随着发布会开源公布,被大家戏称为:PPT 发布会。

这一次,华为终于兑现承诺,开始发布代码了,希望华为陆陆续续公布代码的过程也是一个技术与实力证明的过程。

官方网站:https://www.openarkcompiler.cn

华为云代码托管地址:https://code.opensource.huaweicloud.com/HarmonyOS/OpenArkCompiler

码云Gitee镜像仓库地址:https://gitee.com/harmonyos/OpenArkCompiler

公众号对话框,回复关键字 “1024”

免费领取程序员赚钱实操教程

- 长按识别关注 -

640?wx_fmt=jpeg

技术,职场,产品,思维

行业观察

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个编译器的源代码是我原先为了完成编译原理实验课作业而写的,所以只具有教学价值,现在发出来和大家共享 ;-)<br/><br/>和网上流传的版本不同,它从文法始,一直做到了符号表的实现. 想实现自己的编译器的话,只需在把Initializtion.h中的文法修改为自己的即可.<br/><br/>工程结构:<br/>Initializtion.h 初始化文法,便于进一步进行分析,它为构造GRAMMAR类提供了信息.其中默认非终极符用<>括上,修改时需要注意.<br/>Grammar.cpp Grammar.h 定义了文法GRAMMAR类,它通过initializtion.h的信息建立文法的内部表示。<br/>LL1_Analyser.cpp LL1_Analyser.h 定义了LL1分析器,即LL1_Analyser类.<br/>LL1_Recognizer.cpp LL1_Recognizer.h 为LL1语法分析驱动器,可以通过文法,TOKEN序列和LL1分析表,判定语法是否正确,同时驱动动作.<br/>Rec_Parse.cpp Rec_Pares.h 实现了递归下降分析器Rec_Parse类, 递归下降的思想和LL1驱动器一样,不过是把压栈改成调用自己,而把弹栈改成返回.<br/>Scanner.cpp Scanner.h 实现了词法分析器,可以将程序变为TOKEN序列. 扫描的源程序文件路径也在这里被定义(默认为.//demo.txt)<br/>Action.cpp Action.h 实现了语义栈的操作,_Action类定义了动作符号所对应的动作.<br/>SymTable.cpp SymTable.h 实现了符号表的建立和输出.<br/><br/>希望大家能通过该程序对STL和编译原理有更深刻的理解,Have Fun and Good Luck!<br/><br/> -- David.Morre

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值