Virgil 是一种编程语言,专为快速、无依赖的程序而设计。它的设计融合了功能性和面向对象的编程范式,以提高表现力和性能。Vir

Virgil 是一种编程语言,专为快速、无依赖的程序而设计。它的设计融合了功能性和面向对象的编程范式,以提高表现力和性能。Virgil 的编译器为 JVM 生成优化的独立本机可执行文件、WebAssembly 模块或 JAR。为了在测试和调试中快速周转,程序也可以直接在内置解释器上运行。它非常适合编写小而快的程序,这使得它非常适合构建某些类型的程序,如编译器和虚拟机。它目前被用于虚拟机和编程语言的研究,特别是下一代 WebAssembly 虚拟机Wizard的开发。 该存储库包括 Virgil 各种编译目标的整个编译器、运行时系统、一些库、测试、文档和支持代码。 Virgil 专注于平衡静态类型语言中的这些主要特性: 类 - 用于基本的面向对象编程 功能 - 用于功能的小规模重用 元组 - 用于多参数函数的有效聚合和统一处理 类型参数 - 用于对类型进行强大而清晰的抽象 代数数据类型便于数据结构的构建和匹配 ||

相关推荐

封面图片

为嵌入游戏引擎而设计的Python解释器。

为嵌入游戏引擎而设计的Python解释器。 这是一个C++实现的轻量级的Python解释器,包含一个编译器和基于字节码的虚拟机,以及交互式命令窗的实现。 所有功能均集成在单个头文件pocketpy.h中,不包含外部依赖项可以很方便地嵌入应用,立刻拥有执行Python代码的能力。

封面图片

Free Oberon 是一款跨平台的 Oberon 编程语言 IDE 工具,特点是其仿旧式的图形界面。

Free Oberon 是一款跨平台的 Oberon 编程语言 IDE 工具,特点是其仿旧式的图形界面。 此工具使用 Ofront+ Oberon 翻译器进行编译,生成的控制台程序可独立运行,也可在其内置的跨平台虚拟终端中运行。Free Oberon 使用的 Oberon 编程语言版本为最新的 Oberon-07。在该版本中,CHAR 类型的大小为 2 字节,而且支持 Unicode。众多基础模块如 In、Out、Files、Texts 等都已进行更新以适应这种变化。此外,该语言还新加了对数组指针的扩展。 Free Oberon IDG 亦包含一个名为 Graph 的模块,用于进行图形编程,该模块基于 Allegro5 库构建。 该工具的界面及编译器错误信息已被翻译成多种语言,且用户可通过编辑文本文件来添加新的语言。 Free Oberon 是开源的,并在符合 GNU General Public License version 3 协议下发布。它支持在 Windows、GNU/Linux 及其他操作系统上编译。Windows 版本中包含了预编译完成的 Ofront+ 编译器,以及用于运行该工具所必要的简化版 MinGW 套件。编译生成的程序为纯粹的 Windows 应用,不需要额外的 DLL 文件。 Free Oberon 是一个更大项目的一部分,该项目的目标是通过编写一系列编程教科书、开发教育材料及开发 Oberon 编译器等软件,以推广信息学科的发展并将其普及于程序员和学生之中。

封面图片

是一种开放源代码的C/C++ 编译器,它允许将几乎任何 C/C++ 代码编译为 WebAssembly 和 JavaScript

是一种开放源代码的C/C++ 编译器,它允许将几乎任何 C/C++ 代码编译为 WebAssembly 和 JavaScript。 与 Emscripten、Cheerp 等 Web 应用程序的替代 C/C++ 编译器相比,有以下优势: 1.生成更优化(更小)的 WebAssembly 代码,但也可以编译为具有动态内存(垃圾收集输出)、零开销 DOM 操作和对 ​​Web API 的访问以及卓越的 C++-JavaScript 互操作性的 JavaScript 输出。 2.[[cheerp::genericjs]]允许通过(可选地)用和标记部分代码,将单个代码库编译成 WebAssembly 和 JavaScript 的组合[[cheerp::wasm]]。 Cheerp 的主要组件,即Cheerp编译器,可以在Github上找到:,而其他存储库在,和最近该项目发布了3.0这个大版本。同时把许可证从gpl换成了Apache 2.0 / LLVM 许可,对商业使用更加友好。

封面图片

Cheep C++ 到 Webassembly 编译器现已开源。

Cheep C++ 到 Webassembly 编译器现已开源。 Cheerp 是一个用于 Web 应用程序的 C/C++ 编译器,可让你将几乎所有 C/C++ 代码编译为 WebAssembly 和 JavaScript。其最新的3.0版本已经开源。 ​​​ Cheerp 是一个用于 Web 应用程序的 C/C++ 编译器,可让您将几乎所有 C/C++ 代码编译为 WebAssembly 和 JavaScript。其最新的3.0版本已经开源。 Cheerp 主要用于将现有的 C/C++ 库和应用程序移植到 HTML5,但也可用于从头开始编写高性能 Web 应用程序和 WebAssembly 组件。使用 Cheerp,C/C++ 代码被编译成 JavaScript/WebAssembly,并通过公开正确的 JavaScript 接口进行优化,可以轻松集成到 Web 应用程序中。 Cheerp 是 Webassembly 编译工具系列的一部分,与 CheerpJ、CheerpX for Flash 和 WebVM 并列。可用于以下场景: 1.将遗留 Java 应用程序和 Java Applets 转换为 HTML5,只需很少的努力或无需任何努力,以延长它们的生命,直到弃用,或直到开发出替代的本机 HTML 应用程序。 2.将现有的 Java 客户端迁移到基于浏览器的 Web 应用程序,通常通过使用 CheerpJ 将业务逻辑从 Java 转换为 WebAssembly/JavaScript,并用原生 HTML 重写 UI。 3.使用(转换后的)Java 库作为本机 Web 应用程序的一部分。 在幕后,CheerpJ 需要 WebAssembly 中的完整 Java SE 运行时和存在于浏览器中的 JavaScript,以及支持从 Java 访问和操作 DOM 的 JavaScript/DOM 互操作性 API。 相比之下,C++ 的 Cheerp 不需要这样的运行时,而是直接使用 LLVM 字节码格式作为目标文件和库的中间表示。它的特性如下: 解析代码,发出最终的警告和错误,然后生成对输入程序进行编码的等效 IR(= 内部表示)。 IR 通过一系列转换优化为更紧凑和更高性能的 IR。 优化后的 IR 最终由代码生成为 JavaScript 和 WebAssembly 函数和变量的组合。 或者简单地说:C++ 代码库 ->Cheerp(使用 LLVM 的优化) ->JS + Wasm 一旦生成了 .js 和 .wasm 文件,接下来就是为这两个静态文件提供服务,将它们嵌入到相关的 HTML 页面中,在库的 API 之上构建功能,并测试是否一切正常。主文件到被调用的仍然是一个 .js 文件,但是一个 .wasm 文件也被加载并从 .js 文件运行。 虽然 CheerpJ 不是开源产品,但 Cheerp 现在是。 在这一点上,重要的是要注意,从 languageX 到 WebAssembly 的工具现在可以证明更有用,因为 WebAssembly 最近摆脱了浏览器的限制,现在可以用于运行微服务和无服务函数,甚至可以运行 Wasm 二进制 文件在命令行上,这样甚至可以开发跨平台的 CLI 应用程序。

封面图片

Meta发布LLM编译器 称将改变我们的编程方式

Meta发布LLM编译器 称将改变我们的编程方式 在将大型语言模型应用于代码和编译器优化方面,LLM 编译器背后的研究人员解决了一个尚未充分探索的重大空白。通过在包含 5460 亿条LLVM-IR和汇编代码的海量语料库上训练模型,他们使模型能够理解编译器中间表示、汇编语言和优化技术。研究人员在论文中解释说:"LLM 编译器增强了对编译器中间表征(IR)、汇编语言和优化技术的理解。这种增强的理解能力使该模型能够执行以前由人类专家或专用工具完成的任务。"LLM 编译器在代码大小优化方面取得了显著成果。在测试中,该模型的优化潜力达到了自动调整搜索的 77%,这一结果可以显著缩短编译时间,提高各种应用的代码效率。事实证明,该模型的反汇编能力更令人印象深刻。在将 x86_64 和 ARM 汇编转换回 LLVM-IR 时,LLM 编译器显示了 45% 的往返反汇编成功率(14% 精确匹配)。这种能力对于逆向工程任务和遗留代码维护来说非常宝贵。了解更多: Cummins)强调了这项技术的潜在影响:他说:"通过提供两种规模(70 亿个参数和 130 亿个参数)的预训练模型,并通过微调版本展示其有效性,LLM 编译器为探索 LLM 在代码和编译器优化领域尚未开发的潜力铺平了道路。"这项技术的影响深远而广泛。软件开发人员可以受益于更快的编译时间、更高效的代码以及用于理解和优化复杂系统的新工具。研究人员获得了探索人工智能驱动的编译器优化的新途径,有可能在软件开发方法上实现突破。特别值得一提的是,Meta 决定以许可商业授权的方式发布 LLM 编译器。此举使学术研究人员和行业从业人员都能利用和改造这项技术,从而有可能加速该领域的创新。然而,如此强大的人工智能模型的发布也引发了人们对软件开发不断变化的格局的质疑。随着人工智能处理复杂编程任务的能力越来越强,它可能会重塑未来软件工程师和编译器设计师所需的技能。LLM 编译器代表的不仅仅是一种渐进式改进,而是我们在处理编译器技术和代码优化方面的根本性转变。通过这一版本,Meta 向学术界和工业界提出了挑战,以推动人工智能辅助编程的发展。随着人工智能驱动的代码优化领域的不断发展,全球开发人员和研究人员如何采用、调整和改进这一开创性技术,将是一个引人入胜的话题。 ... PC版: 手机版:

封面图片

实验:在ChatGPT里创建一种新的编程语言

实验:在ChatGPT里创建一种新的编程语言 GPTLang 是一种通用的高级编程语言,旨在易于使用和可读性。它是一种解释型语言,这意味着代码由解释器直接执行,无需单独的编译步骤。 GPTLang 具有简单直观的语法,易于学习和理解,使其成为初学者和经验丰富的程序员的绝佳语言。它支持多种数据类型,包括数字、字符串、数组和用户定义的数据类型。 GPTLang 具有一组丰富的内置函数和特性,可以轻松编写强大而高效的程序。它还具有灵活且可扩展的体系结构,允许用户创建自己的函数和数据类型。 |

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人