Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
ANTLR 中的布尔和算术表达式语法
我正在尝试编写算术和布尔表达式的语法 我不明白我做错了什么 对于我的语法 ANTLR 说 致命 规则logic atom 由于可从 alts 1 2 到达的递归规则调用而具有非 LL 决策 通过左分解或使用语法谓词或使用 backtrack
compilerconstruction
ANTLR
grammar
antlr3
为什么 NASM 在使用有效的指令助记符作为操作数中的符号名称方面没有问题?
我编写了以下简单程序 但 nasm 拒绝编译它 section text global start start mov rax 0x01 mov rdi 0x01 mov rsi str mov rdx 0x03 syscall mov r
Parsing
Assembly
compilerconstruction
x86
nasm
我需要一个树转储选项,该选项在当前的 gcc 版本中不再存在
旧版本的 GCC 例如 4 0 2 或 4 1 2 有该选项 df see 用于调试程序或 GCC 的选项对于4 1 2 http gcc gnu org onlinedocs gcc 4 1 2 gcc Debugging Options
c
gcc
compilerconstruction
如何从 Java 生产代码中删除调试语句
编译器是否可以从生产代码中删除用于调试目的 例如日志记录 的语句 调试语句需要以某种方式进行标记 可能使用注释 设置属性 debug true 并在每个调试语句中检查它很容易 但这会降低性能 如果编译器能够简单地使调试语句消失 那就太好了
Java
debugging
compilerconstruction
Haskell GHC:具有 N 个构造函数的模式匹配的时间复杂度是多少?
假设我们有以下 Haskell data T T0 T1 T2 TN toInt T gt Int toInt t case t of T0 gt 0 T1 gt 1 T2 gt 2 TN gt N 这里使用什么算法来执行模式匹配 我看到两
Haskell
compilerconstruction
patternmatching
complexitytheory
编译器什么时候内联函数?
在 C 中 函数仅在显式声明时才内联inline 或在头文件中定义 或者编译器是否允许内联函数 因为他们认为合适 The inline关键字实际上只是告诉链接器 或告诉编译器告诉链接器 同一函数的多个相同定义不是错误 如果您想在标头中定义函
c
Optimization
compilerconstruction
inline
inlining
使 C# 编译器相信执行将在成员返回后停止
我认为目前这是不可能的 或者这是否是一个好主意 但这是我刚才正在考虑的事情 我使用 MSTest 对我的 C 项目进行单元测试 在我的一项测试中 我执行以下操作 MyClass instance try instance getValue
c
compilerconstruction
Runtime
Execution
compiletime
Android Studio错误的含义:未注释的参数覆盖@NonNull参数
我正在尝试 Android Studio 创建新项目并添加默认值后onSaveInstanceState方法创建 MyActivity 类 当我尝试将代码提交到 Git 时 我收到一个我不明白的奇怪错误 代码是这样的 我得到的错误是这样的
Java
Android
AndroidStudio
compilerconstruction
annotations
反斜杠“\”的真正含义是什么?
我想知道 Java 的反斜杠 计算机或编译器如何看到这个反斜杠以及它如何存储在计算机中 我读到反斜杠删除了以下字符的特殊含义 但是计算机如何处理这个问题以及在什么情况下以其他方式处理它呢 例如空字符 0在C编程中 是字符串的结尾 但它是单个
compilerconstruction
为什么 VC++ 编译器 MOV+PUSH args 而不是仅仅 PUSH 它们? x86
在 VC 的反汇编中 正在进行函数调用 编译器在压入本地指针之前将其 MOV 到寄存器 memcpy nodeNewLocation pNode sizeCurrentNode 0041A5DA 8B 45 F8 mov eax dword
visualc
Assembly
compilerconstruction
x86
C# 编译器不会优化不必要的强制转换
前几天 在写答案的时候这个问题 https stackoverflow com questions 2208315 why is any slower than contains在这里 关于溢出 我对 C 编译器感到有点惊讶 它没有按照我的
c
performance
compilerconstruction
CIL
寻找有效的移位/加法/LEA 指令序列来乘以给定常量(避免 MUL/IMUL)
我正在尝试编写一个 C 程序 mult c 它有一个接收 1 个 int 参数的 main 函数 用atoi argv 1 这是一些常数k我们想要乘以 该程序将生成一个汇编文件mult s实现 int mult int x return x
Assembly
compilerconstruction
x8664
bitshift
microoptimization
BISON + FLEX 语法 - 为什么标记被连接在一起
我想了解为什么 BISON 按照以下规则连接两个标记 stmt declaration assignment exp ID lt this rule fprintf stderr n my id is s 1 如果你检查输出就会明白我的意思
compilerconstruction
bison
flexlexer
yacc
Lex
引用与指针的执行速度
我最近阅读了一篇关于托管语言是否比本机语言 特别是 C 与 C 慢 或快 的讨论 一位参与讨论的人士表示 托管语言的 JIT 编译器将能够对引用进行优化 而这在使用指针的语言中是不可能实现的 我想知道的是 对于引用而不是指针可以进行 什么样
pointers
compilerconstruction
reference
JIT
vmimplementation
非模板类与模板类的多个定义
为什么编译器会抱怨多个 cpp 文件中定义的非模板类 但对于其定义在各个 cpp 文件中重复的模板类 通过包含该类的 inl 文件 却没问题 即使类是否在多个 cpp 文件中显式实例化 非模板情况是因为在这种情况下您的程序违反了一个定义规则
c
templates
compilerconstruction
Linker
为什么构造 std::string(0) 不会发出编译器警告?
假设我有这段代码 include
c
compilerconstruction
STL
compilerwarnings
现代 C++ 编译器是否能够在某些情况下避免调用 const 函数两次?
例如 如果我有以下代码 class SomeDataProcessor public bool calc const SomeData d1 const SomeData d2 const private Some non mutable
c
Optimization
compilerconstruction
Call
使用 std::function w/ std::bind 时的 EXC_BAD_ACCESS
升级到 XCode 5 后 使用 std function 和 std bind 似乎会生成 EXC BAD ACCESS 异常 看起来好像 std function 实现中的 base 指针最终为空 导致访问错误 但我不清楚为什么会出现这
c
xcode
C11
compilerconstruction
libstdc
当 C# 位于同一包含类中时,为什么以及如何允许访问类本身之外的私有变量?
我不知道这个问题是否具有足够的描述性 但是这种行为为什么以及如何存在 public class Layer public string Name get set private IEnumerable children public IEn
c
NET
class
compilerconstruction
privatemembers
野牛语义类型检查分析
我一直试图到处寻找例子 但徒劳无功 我正在尝试编写一个基本的 Ruby 解释器 为此 我编写了一个 Flex 词汇文件 其中包含标记识别句子和一个语法文件 我希望我的语法包含语义类型检查 我的语法文件包含 例如 arg arg arg 这应
compilerconstruction
bison
yacc
semanticanalysis
«
1
2
3
4
5
6
...32
»