使用多个预编译头文件有潜在的好处.假设存在一个项目,其中有几个标题不经常更改并在许多源代码文件中使用.这些标题倾向于两个簇A和B.当A中的一个标题改变时,A中的其他标题也可能改变,但B中标题改变的概率不受影响,反之亦然.…
标签:compiler-construction
compiler-construction – 将许多打字稿文件转换为1个js文件,同时使用commonJS模块
我一直在使用“–out”编译器标志来创建1个 javascript输出文件. 我有很多.ts文件,并通过将它放在每个文件的顶部来管理它: /// <reference path="../references.ts"…
compiler-construction – 为8051实现函数调用
假设您有一个没有外部RAM的8051微控制器.内部RAM是128个字节,您有大约80个字节可用.你想为堆栈语言编写一个编译器. 假设您要编译RPN表达式2 3. 8051具有原生的推送和弹出指令,因此您可以编写 push…
以BNF语法递归
好吧,我不确定如何使用递归下降解析来编写一个函数来解析下面的语法.实际上,我不确定我是否做得对… BNF: A : B | A '!' B : '[' ']' 伪代码: f() { if(tok is B) parse_…
haskell – 为什么GHC使用图形缩减而不是超级组合器?
图形缩减在任何方面都比超级组合者更快或更好吗? 最佳答案 图缩减是一种用于执行超级组合器的技术.
编译器构造 – Web Essentials导入文件保存较少不会编译主文件
我有最新版本的Web Essentials 2013(1.4.1).在 Web Essentials的官方页面上,他们说在2013年版本修复了这个问题: 1.4 – December 1, 2013 LESS/Coffe…
使Scala解释器在解释调用之间无视
是否可以配置 Scala解释器(tools.nsc.IMain),以便在我运行下一个interpret()调用时“忘记”以前执行的代码? 通常,当它编译源时,它会将它们包装在嵌套对象中,因此所有先前定义的变量,函数和绑定…
使用gcc链接到使用Homebrew安装的动态库?
我正在尝试使用GCC 4.2.1编译一个程序,该程序需要在Mac OS X(10.8.3)上安装Homebrew的库.这是一个使用gvc.h的简单C程序,它是一个随graphviz一起提供的库.文件夹/usr/local…
gcc – 我想要__builtin_popcountll的两个实现
我有一些代码,我想运行快速内置的CPU指令popcnt(当__builtin_popcountll使用适当的标志编译时,例如使用g -mpopcnt或clang -march = corei7,这会发生),但也能够掉线当…
compiler-construction – 图形着色寄存器分配器
对于我的编译器课程,我正在构建一个基于MIPS架构的图着色的寄存器分配器.我正在遵循Muchnick对我的实施的同样的待遇. 关于如何在这些分配器中处理函数的参数,Muchnick有点模糊. 我做了一些假设,并认为我会澄…
可可 – 合成属性和ivar错误
我一直在“Debug X86-64”模式( Xcode 3.6)中构建我的程序,一切都运行完美.但是,我只是尝试切换到“Release X86-64”模式,并在编译时收到了我的每个属性的以下错误: Synthesized…
compiler-construction – LLVM中机器代码生成的状态?
最近我一直在研究LLVM作为编译器项目的后端,看起来非常有前途. 但是,似乎LLVM可以JIT代码(这非常酷!)或者它可以导出本机平台的程序集,但它实际上不能创建本机可执行文件.这似乎是LLVM声称的编译器后端基础结构的…