编译器

openoj是一个可以对从一个输入流中包括文件,网络流,字符串所代表的源代码进行编译,运行,和测试的程序。现在支持对java、c和 c++的编译和运行以及测试。 openoj是一个用maven构...
320Java编译器
C2Rust工具能够将大多数C模块翻译成语义上等价的rust代码。这些模块将单独编译,以生成兼容的对象文件。支持C99标准。 在我们的工具翻译C源代码之前,使用clang对其进行分析和类型检查。...
310Rust编译器
sccache 是一个类似于 ccache 的编译器缓存工具。它用作编译器包装器并尽可能避免编译,将缓存结果存储在本地磁盘或多个云存储后端之一中。 sccache 包括对 C/C++ 代码、 R...
430Rust编译器
基于VSCode的调试适配器插件,该系统基于VSCode,遵循微软相关适配器协议,通过设计开发前端UI扩展和后端全平台通用调试适配器相结合 该插件由本人100%独立完成开发,可以灵活定制功能
530javascript编译器
链接与装载(HOOK 库) PLT hook 的流程: - 读取进程的 maps 信息,获取到 ELF 文件在进程的 maps 中的内存基地址 - 验证 ELF 文件的头信息 - 从 PHT(`program header table`) 中找到类型为 `PT_LOAD` 且 offset 为 `0` 的 segment。计算 ELF 基地址。 - 从 PHT 中找到类型为 `PT_DYNAMIC` 的 segment,从中获取到 `.dynamic` section,从 `.dynamic` section中获取其他各项 section 对应的内存地址。 - 在 `.dynstr` section 中找到需要 hook 的 symbol 对应的 index 值。 - 遍历所有的 `.relxxx` section(重定位 section),查找 symbol index 和 symbol type 都匹配的项,对于这项重定位项,执行 hook 操作。 - hook 的流程如下: - 读取 maps,确认当前 hook 地址的内存访问权限 - 如果权限不是可读可写,则使用
440C/C++c++
The Super Tiny Compiler 是一个仅有约 1000 行代码的迷你编译器,可用于把 LISP 语言编译成我们熟悉的 JavaScript 语言。 The Super Tiny ...
290JavaScript编译器
Go-pry,一个交互式的 Go REPL,Go-pry 是使用 meta programming 和大量反射相结合构建的。调用 go-pry 命令时,它会查看上述目录中的 go 文件(或者是当...
290Google Go编译器
优化 ASAN: 在 C/C++ 中,内存越界问题特别难排查,比如,线程 A 在写内存时,写越界了,操作了线程 B 的内存,线程 B 可能过了很久才去访问这块被写坏的内存,然后引起了问题,我们几乎无法从 core 文件中得到有用的信息。 ASAN 是业界所有的内存检测工具中性能最好的。与之对比的 valgrind、gperftools 会严重拖慢程序运行。 ASAN 是集成在 gcc、llvm 中的,由于我们使用的是 gcc 编译器,因此我优化了 gcc 源码中 ASAN 的运行时库实现。也就是优化了 ASAN 库中关于 malloc、free 的实现。
520C/C++编译器
开发一个C++科学计算器项目,你可以采用面向对象的编程思想,设计出合理的类结构,并使用相关的数学库来实现各种科学计算功能。以下是一些基本的技术要点和功能: 1. **技术栈**: - 核心语言:C++ - 可能用到的库:STL(用于字符串处理、容器等)、(提供标准数学函数) 2. **类结构设计**: - `Calculator` 类:作为主计算器类,包含主要的计算逻辑。 - `ExpressionParser` 类:负责解析用户输入的表达式。 - `Function` 类:抽象基类,包含各类数学函数如sin, cos, log等。 - `Number` 类:封装数值类型,支持复数运算(如果需要)。 3. **功能模块**: - 基本算术运算:加减乘除、取模、幂运算等。 - 科学计算功能:三角函数、对数函数、指数函数、阶乘、平方根、开方、常数π、e等。 - 复数运算(可选)。 - 历史记录保存与查询。 - 表达式求值。 - 错误处理机制,包括但不限于除数为零、无效输入等异常情况。 4. **用户界面**:
400C/C++数据处理
MovForth 将 Forth 源代码编译为可执行的二进制文件。使用 LLVM IR 作为中间目标,是将 Forth 适配到现代编译器库和现代架构的实验。 自下而上编译;没有字典或解释器保留在...
270C/C++编译器
Cheerp 是一个基于 LLVM monorepo 的 C++ 编译器,允许将 C/C++ 代码编译为 WebAssembly 和 JavaScript。 Cheerp 基于并集成到 LLVM...
300C/C++编译器
(1) 有限自动机原理 (2) 词法分析器原理 (3)形式语言基础及其文法运算 (4) 语法分析原理以及3种常用的语法分析方法 (5) 语义分析原理 步骤: 按理说设计一个扫描器首先应该先定义一套形式文法,然后根据文法设计自动机,这些过程实验指导书中已经为我们准备好了; 在此基础上,我自己定义了一套数据结构对字符串插入查找的效率加以优化,并对整个程序的结构进行了调整优化; 在经过自动机状态、状态转移与每个状态所执行的动作后,该Scanner会将源程序解析成相应的Token序列,以作为下一步Translator的输入; 在Translator中,我根据指导书中给出的算数表达式文法结合课上所学内容,自己设计了基于自顶向下推导的Recursive Subroutine过程,并在相应位置添加了语义动作,根据这些进行Recursive Subroutine的代码实现; 我分别为Scanner和Translator设计了测试用例,对程序进行测试,结果和期望相吻合;
510C/C++自然语言处理
AssemblyScript 是一个将 TypeScript 编译成 WebAssembly 的编译器,使用了 binaryen,binaryen 是一个用于 WebAssembly 的编译器基...
360JavaScript编译器
Dotty 是 Scala 的下一代编译器,也是 Scala 的新语言概念和编译器技术研究平台。 具有以下特性: Union, intersection and literal singleto...
330Scala编译器
'kan-java' is '砍-java', speak frankly & literally. 这是一个java代码动态编译工具,也就是能够把String形式的java代码实时地编译为字节...
300Java编译器
Zapcc 是基于 LLVM/Clang 的缓存型 C++ 编译器,旨在执行更快的编译。 Zapcc 在 client-server 架构中使用 in-memory 技术来编译缓存,它会记住运行...
300C/C++编译器
该项目包括以下核心模块: 1.数据预处理模块: 通过屏蔽底层数据库表结构的差异和业务数据来源,为上层程序提供统一有效的数据录入接口。 2.决策分析支持模块: 整合各种信息输入,提供图像化显示,并为用户提供决策和数据修改功能,以支持后续计划编制和决策输出。 3.计划智能编制模块: 在符合用户录入的规则前提下,以有效时间内返回用户较为满意的作业计划推荐结果为目标。 4.结果输出模块: 将计划结果录入数据库,并在客户端界面同步以图像化方式显示结果。 本人在项目中承担以下职责: a.提供原型设计。 b.搭建C++代码整体框架。 c.管理并掌控项目整体执行进度,确保项目顺利达成交付目标。
80C/C++编译器
Cannoli 是一个 Rust 编写的 Python(Python 3.6.5) 编译器,旨在评估对性能有负面影响的 Python 语言特性。 Cannoli 使用 Rust 编写,并将 Py...
310Python编译器
PythonTurtle 是什么? PythonTurtle 主要目的是为使用 Python 语言进行软件开发提供低门槛的学习方式。初学者可以在内置的 Python shell (类似于 IDL...
290Python编译器
color-compile 在 Linux 终端中使用 gcc/g++/make 编译软件时,可以显示带颜色的 error/note/warning。
240C/C++编译器
当前共89个项目
×
寻找源码
源码描述
联系方式
提交