教科书上说& (addressof)运算符不适用于不能应用于表达式,
常量或寄存器变量。
常量是指像'A','7‘这样的文字,还是用const关键字声明的变量?
我认为这意味着只有文字,因为以下代码编译:
int main()
{
const int i=10;
const int *ip;
ip = &i;
}
这个项目是教育用途,我非常清楚,优秀的编译器已经存在。
我目前正在努力通过著名的,并刚刚开始实现我自己的雷克萨斯。令人惊讶的是,除了文字之外,它工作得很好。我不明白如何使用符号(查找)表来处理文字,这本书似乎没有很好地涵盖:
在下面的代码中,60是一个数字文字:
int myIdentifier = 60;
龙书上写着:
从技术上讲,对于词汇60,我们应该构造一个类似于(数字,4)的标记,其中整数60的内部表示的符号表中有4个点.
理解-我创建了以下令牌:
<enum TokenType, int lookupIndex>
//TokenType could be
我们的任务是识别下一个代码中的问题:
ORG 0000H
MAIN:
CLR A
MOV A, FFFFH
MOV B, FFH
AGAIN: DEC A
DJNZ B, AGAIN
END
在MOV A, FFFFH和MOV B, FFH EdSim51上
FFFFH和FFH上的未知标签。
我对这种类型的代码没有任何经验。我想这是关于每个寄存器的位数,但我不确定。有人能给我解释一下吗。
我有以下表达式:[^(\r\n)]*来识别任何不包含\r\n的文本。但是,当文本包含(或)时,则无法识别。
示例:
"I have following expression to recognize any text."将被确认为OK。
"I have following expression (A) to recognize any text."将不被识别。
因此,我想要全文:"I have following expression (A) to recognize any text."