在x86汇编中编写代码是否有很好的参考.我正在编写编译器,目前我处于代码生成阶段.我正在实现的语言是面向对象的.例如,现在我在为类声明,对象布局等编写程序集时遇到问题……是否有任何书籍或参考资料涵盖此主题? 最佳答案 a…
标签:compiler-construction
宏问题,有多个语句
#define RUN_SOME_STUFF(...) { \ int x = 0; \ printf("[INFO] Do some stuff here ... %d\n", ++x); \ {__VA_ARGS__…
(XCode)编译某些文件时关闭警告?
我在iOS项目中使用了几个第三方库来生成一些警告.有没有办法可以关闭那些特定文件的警告,类似于你可以通过在“编译源”区域添加“-fno-objc-arc”标志来基于每个文件关闭ARC的方式.建立阶段? 最佳答案 在 Xc…
编译器构造 – F#中的属性语法系统
在搜索网络后,我找不到F#的属性语法系统.好吧有fsyacc与继承属性,但我正在寻找像Ox( Ox manual)更具表现力的东西.实际上我更喜欢嵌入式方法(可能与fparsec结合).好吧,我可以使用haskell和优…
解析 – 用户定义的中缀运算符的解析器
我正在为一种语言编写一个解释器,其中函数可以用作运算符.但是,函数内容只能在运行时知道. 为此,我考虑了两个解决方案: >使用函数的运行时信息在运行时完成解析>所有用户定义的运算符都使用默认值来表示优先级和关…
haskell – Hoopl中重写函数内部的monadic效果示例?
Hoopl中的(前向)重写功能类型由 mkFRewrite函数给出: mkFRewrite :: (FuelMonad m) => (forall e x. n e x -> f -> m (Maybe…
compiler-construction – LLVM中的实时值
假设我在我的CFG(以及其他)中有两个基本块A和B,边缘从A到B.我需要执行以下操作: >获取实时值的集合S.那边(它可以是一个过度逼近,即可能包含不活动的值了)>将每个人映射到另一个值(S-> S’)…
编译器构造 – 编写编译器,词法分析?
我是编写编译器的新手.所以我目前正在开始这个项目(用 Java编码),在编码之前,我想更多地了解词法分析部分.我在网上研究过,我发现大多数都使用了标记器. 该项目要求我不使用它们(标记器),而是使用有限状态自动机.我很困…
解析 – 构建LR(1)配置前瞻
在构建LR(1)项目集时,我确实有一些麻烦来预测前瞻,我曾尝试过不同网站的一些讲义,但仍然…… 我的例子是 S -> E + S | E E -> num | ( S ) 项目集是 I0: S’ -> …
编译器构造 – MinGW – 交叉编译工具 – 最新版本?
在 MinGW download page,您可以下载“Cross-Hosted MinGW Build Tool”,它是一个shell脚本,用于构建“MinGW交叉编译器”,以便您可以将“Linux”上的程序编译为“W…
选择要构建的.Net Framework的Service Pack
我在这里阅读了许多问题(和答案),这些问题在这些问题中有类似的声音,但所有这些问题最终都是针对不同主要版本的.Net构建的.不幸的是,我陷入了更深的麻烦. 这是故事.我们的客户使用.Net框架的2.0版本.只有2.0,根…
compiler-construction – wee_alloc(malloc替代)如何知道在WebAssembly中启动堆的位置?
我正在尝试在自定义语言中使用 wee_alloc,在WebAssembly中运行.但是,我需要完全了解它如何知道在哪里启动堆,以便我的堆栈和静态分配不会破坏它,反之亦然. 这是我的理解,如malloc,等.知道从哪里开始…