#编译

Julia 1.6 Highlights(julialang.org)
2021-3-26 20:3
朱莉娅版本1.6已发布。大多数朱莉娅发布都是定时的,因此没有计划在特定的特征上计划,但此版本是一个例外,因为它可能成为朱莉娅的下一个长期支持(LTS)释放。因此,我们需要额外的时间开发释放,以确保生态系统未来健康所需的功能使其成为释放。此外,对所有注册开源包的回归测试了释放,并跟踪了问题并修复了问题。关于Julia ......
2021-3-20 23:35
我得到了GDC,GNU D编译器,在OpenBSD上工作。支持D已经很长时间了。在这里,我们在这里到达的故事以及我们需要走的故事。 回到2017年的方式是我第一次学习D.似乎有趣,我们没有港口。我喜欢挑战所以我想我会试一试。我最终设法获得LDC,LLVM D编译器,在OpenBSD上构建。或者,至少,它的LTS版......
2021-3-20 15:38
Makina是一个分层状态机源到源代码转换器。它将状态机描述作为输入,并生成这些状态机的C语言实现。 作为Makina Compiler的输入给出的每个文件都代表了单个状态机。在文件的顶部,使用机器语句指定计算机的名称: 当然,状态机通常具有多个状态。尽可能多的状态可以添加到单个机器中: ......
2021-3-18 19:8
CLIO是一种功能的分布式编程语言,可以编译到JavaScript。 它在浏览器中运行并在服务器上运行,并成为一种合适的科学编程语言。 CLIO利用多个CPU和多个CPU核心(并行性)默认情况下,能够使用网络资源,很容易在群集中运行云。 安装您' ll需要node.js(最新版本)和npm。 CLIO托管在......
2021-3-16 14:56
根据Kotlin编译器,PSI或Program Struction界面,树是基于AST的顶部构建的,为操纵特定语言构造添加语义和方法。 AST节点具有直接映射到底层文档中的文本范围。 AST的最底部节点匹配Lexer返回的单个令牌,更高级别的节点匹配多个令牌片段。 对AST树的节点执行的操作,例如插入,删除,重新排......
2021-3-11 16:22
第二,不太明显,但令人惊讶的特殊性是空间分配:分配临时存储,故意覆盖程序的初始,粉碎其初始化代码以节省空间。两个编译器在他们如何应对这方面的差异。在早些时候,通过命名一个函数来找到开始;在后来,开始时才被认为是0.这表明第一个编译器是在我们有一个内存映射的机器之前写的,所以图中的起源不是位置0,而截至第二个,我们有一......
2021-3-11 12:0
最早版本的最早版本,已知在野外的野外,由晚传说本人DMR。 这些目前无法使用像GCC这样的现代C编译器编制。 我只是在这里发布这些享受和回忆火花,即点燃亿元产业。 享受。 :) 你们可以通过aiju' s pdp-11 / Unix仿真器来围绕建造这个编译。 我还没有尝试过这个,所以我不能确认它的工作原理......
2021-3-1 4:39
进行中的替代rust编译器。能够构建完整的rustc副本,但尚不适合日常使用。 这个项目试图用C ++创建一个简单的rust编译器,最终目的是成为一个单独的重新实现。 mrustc的工作方式是:将假定有效的锈代码(即不进行借位检查)编译为高级程序集(当前使用C,但是LLVM / cretonne甚至直接的机器......
2021-2-25 18:41
这是tl的存储库,tl是Teal(一种Lua的方言)的编译器。 核心编译器没有依赖关系,并实现为单个tl.lua文件,您可以将其加载到项目中。运行tl.loader()将为您的程序包加载器添加Teal支持,这意味着require()将能够运行.tl文件。 以下是在FOSDEM 2019、2020和2021上发表......
2021-2-24 21:56
MyPyC是一个编译器,它将MyPy-Annotated,静态键入的键项模块编译为CPython C扩展。目前,我们的主要侧重于通过编译更快地制作痣 - 默认用MyPyc编制的默认Mypy Wheelsare。编译的mypy大约4x速度速度速度较快。 MyPyc编译基本上是使用&#34的Python语言变体;严格&......
2021-2-21 7:59
这篇文章是有关Cranelift的三部分系列文章中的第二篇。在第一篇文章中,我描述了Cranelift及其替代后台代码生成基础结构的项目的上下文,并详细说明了指令选择问题以及如何解决它。剩下的两篇文章将深入探讨一些有趣的工程问题。 在本文中,我想更深入地探讨我们工作中的编译器性能方面。 (在下一篇文章中,我们将探讨......
2021-2-21 7:57
基于Web的涡轮增压帕斯卡编译器。 。 通过在GitHub上创建账户,为Lkesteloot / TurboPascal开发做出贡献。
2021-2-19 10:36
Phel是一种可编译为PHP的功能性编程语言。 它是受Clojure和Janet启发的Lisp方言。 Phel是我尝试用PHP进行函数式编程失败的结果。 基本上我想要: #定义名称空间(ns my \ example)#定义名称为" my-name"的变量 并珍视" world" ......
2021-2-18 19:58
这就是StoneKnifeForth,这是一种受Forth启发的非常简单的语言。预计它不会有用;相反,其目的是显示编译器的简单程度。删除注释时,编译器在两页代码下有点不足。 该软件包包括一个用“ StoneKnifeForth”编写的“元圆环编译器”,并将StoneKnifeForth编译为x86 Linux EL......
2021-2-18 0:46
Nx是Elixir的多维张量库,具有对CPU / GPU的多阶段编译。它的高级功能是: 类型化的多维张量,其中的张量可以是无符号整数(8、16、32、64的大小),有符号整数(8、16、32、64的大小),浮点数(32、64的大小)和脑浮点数(16的大小) ); 命名张量,使开发人员可以为每个维度命名,从而使代码......
2021-2-17 18:23
\\\ begingroup \ $您可能熟悉zip炸弹,XML炸弹等。简单来说,它们是(相对)较小的文件,当由朴素的软件解释时,它们会产生巨大的输出。这里的挑战是以同样的方式滥用编译器。 编写一些占用512个字节或更少字节的源代码,并将其编译成一个占用最大可能空间的文件。最大的输出文件胜出! 编译的输出必......
2021-2-17 18:11
迷惑的微型C编译器(OTCC)是为赢得2002年国际迷惑的C代码竞赛(IOCCC)而编写的非常小的C编译器。我的目标是写出能够自行编译的最小的C编译器。我选择C的子集,该子集足以编写一个小的C编译器。然后,我扩展了C子集,直到达到比赛授权的最大大小:2048字节的C源,不包括&#39 ;;',' {&......
Compiler Class(norswap.com)
2021-2-9 20:38
所有课程材料都可以在线获取,以供有兴趣的人阅读。 我也很乐意回答您的问题。 该课程的项目是创建自己的编程语言。 提供了一些库来协助完成此任务:
2021-1-24 3:33
给LWN订户的好处订阅LWN的主要好处是有助于我们继续发布,但除此之外,订户还可以立即访问所有网站内容,并可以访问许多其他网站功能。 请立即注册! 内核项目竭尽全力促进使用较旧的工具链进行构建。 在新系统上构建内核就已经是一个挑战。 首先被迫安装自定义工具链不会改善这种情况。 因此,内核开发人员试图通过大多数发行商......
2021-1-23 13:50
美国加利福尼亚州圣地亚哥,网络和分布式系统研讨会(NDSS 2021)的议事录符号执行是一种用于软件分析和错误检测的强大技术。基于编译的符号执行是最近提出的一种形式,它已经显示出可以在源代码可用时显着提高符号执行的性能。我们展示了一种新颖的技术,可实现基于编译的二进制符号执行(即无需源代码)。我们的系统SymQEMU......
2021-1-23 13:48
shecc是针对32位Arm和RISC-V体系结构从头开始构建的,它是针对C语言子集的自编译器。 两遍编译:在第一遍,它检查语句的语法并构建符号表,而在第二遍,它实际上将程序语句转换为Arm / RISC-V机器代码。 stage0:shecc源代码最初是使用生成本机可执行文件的普通编译器进行编译的......
Compilers Are Hard(blog.shipreq.com)
2021-1-21 12:43
我经常听说编写编译器很困难,并且与编写其他类型的软件有所不同。一些近期的经验使我对为什么会这样有深刻的认识,并证明了这很有趣! 我最近完成了ShipReq的新功能的工作。我花了大约2个月的时间进行开发,最终成为我一生中编写过的最困难的代码。我已经进行了数十年的编码,从事过许多不同的项目,并且从事的工作非常庞大组织;......
2021-1-20 20:1
美国加利福尼亚州圣地亚哥,网络和分布式系统研讨会(NDSS 2021)的议事录符号执行是一种用于软件分析和错误检测的强大技术。基于编译的符号执行是最近提出的一种形式,它已经显示出可以在源代码可用时显着提高符号执行的性能。我们展示了一种新颖的技术,可实现基于编译的二进制符号执行(即无需源代码)。我们的系统SymQEMU......
2021-1-2 8:26
朝鲜蓟是用Rust和Ruby编写的Ruby实现。朝鲜蓟打算与MRI兼容,并且针对Ruby 2.6.3。朝鲜蓟提供了一个用Rust和Ruby实现的Ruby运行时。 您可以在浏览器中尝试朝鲜蓟。 ArtichokePlayground运行Artichoke的WebAssembly构建。 要通过货......
2021-1-1 9:1
我曾考虑过如何将指令一个接一个地转换为C ++代码,然后尝试运行该代码。我知道我想将RISC-V转换为一些简单的低级代码,进行编译,然后将其作为共享对象加载。希望它可以提供显着的加速,消除一些仿真开销。 libriscv已经是相当快的仿真器,可以将每个指令解码为单个执行段的函数指针,但是自然要远远落后于本机性能。使用......
2020-12-31 2:49
GHC团队非常高兴地宣布推出GHC 9.0.1系列的第一个候选版本。 源代码和二进制发行版可在通常的位置获得。 在难以找到针对关键健全性错误#17760的性能中立修复程序后,此候选发布比预期晚很多。 有关解决方案的详细信息,请参见迁移页面,尤其是如果您是当前使用touch#primop或Foreign.Foreign......
2020-12-26 0:13
Vacietis是Common Lisp系统的C编译器.Vacietis的工作原理是将C代码加载到Common Lisp运行时中,就像Lisp代码一样,然后可以在其中进行编译或回避。重载的C代码具有与常规CL代码相同的函数调用约定,并使用相同的数字表示形式。 C内存由regularCommon Lisp数组支持。Va......
2020-12-24 21:29
这是Screenly.io首席执行官Viktor Petersson的特邀帖子。 Screenly是Raspberry Pi最受欢迎的数字标牌产品。在Twitter @vpetersson上找到Viktor。 对于不熟悉Qt的人来说,它是一个跨平台开发框架,可用于多种产品,包括汽车(Tesla),数字标牌(Scre......
2020-12-21 15:55
要生成书籍(build / book.pdf),请运行make命令(假设您已完整安装TeX Live)。 如果您是一名讲师,则还可以请求访问编译器的参考实现和完整的测试套件。
2020-12-20 20:17
很抱歉背景CPU风扇的噪音,它是一台旧笔记本电脑。支持V的开发:https://github.com/sponsors/medvednikov