编译器-构造 问答列表

实现糖语法

作者:sjaustirni 提问时间:4/7/2015

在编译的哪个阶段(扫描、解析、语义分析的某些部分,甚至可能 代码生成)通常处理语法糖,如何以及原因是什么?...

在词汇语法中标记 ECMAScript 时如何确定目标符号

作者:Lane Sun 提问时间:11/18/2021

我正在编写一个 JS 宏预处理器,并参考 ECMA-262 规范以获取解析 js 代码的一些指南。 我使用代码解析器来确定在哪里以标准/精确的方式进行宏替换,这将区分一些环境,例如: macro(...

球拍词法师贪婪的选择

作者:IDANG 提问时间:5/16/2023

我正在尝试用球拍编写词法分析器,我正在使用 parser-tools/lex 和 parser-tools/lex-sre。 我想为字符串创建令牌 - 但是因为词法分析器的选择并不贪婪,如果我有: ...

如何仅使用内置的Windows工具在.exe中打印“Hello world”

作者:GoogleCoder 提问时间:7/16/2023

我正在尝试制作一个简单的编译器,我想在C++中获取输入并将其转换为计算机可以读取的内容。我不想使用任何像 NASM 这样的中间编译器,而是想要一种将其直接转换为 exe 的方法,而无需任何 Windo...

解包/打包操作员

作者:David542 提问时间:8/9/2023

我正在寻找实现打包/拆包操作员的各种方法。举个例子: *[1,2,3] --> 1,2,3 (one array scalar value unpacked to three values) *1,...

LLVM 指针取消引用

作者:Kellan_B 提问时间:9/13/2023

在我的 main 函数中,我分配了一个 i8 指针: %a = alloca i8*, align 8 store i8* getelementptr inbounds ([3 x i8], [...

在 LLVM 中声明参数的字符串类型

作者:Kellan_B 提问时间:9/11/2023

如何在 LLVM C++ API 中声明字符串参数?例如,要声明一个参数,我会这样做:double argTypes.push_back(Type::getDoubleTy(*context)) ...

如何在PLY中正确实现抽象语法树?

作者:Ackeem Mclennon 提问时间:11/17/2023

嗨,大家好,我对编译器设计比较陌生,我正在寻求一些关于创建 AST 以及在树上执行语义检查和代码生成的帮助。请参阅下面我的解析器的源代码。还要注意。我的词法分析器的实现工作正常,所以我选择省略它。 ...


共8条 当前第1页