3

我正在研究 MSIL (CIL) 代码着色器,尽管我对 MSIL 不太熟悉。

我在Common Language Infrastructure (CLI)中找到了所有关键字的列表。

这些关键字包括add, .file,conv.i4unaligned..

作为关键字的一部分,我有点挣扎。我很确定这些点需要成为关键词的一部分,因为我不认为像这样i4的东西本身就可以作为关键词。而且我很确定我希望某些关键字开头的点成为关键字的一部分。

但是那些有尾随点的少数呢,比如最后一个呢?尾随点是关键字的一部分有什么原因吗?

4

1 回答 1

4

点是这些说明的一部分(我不知道原因)。还有其他几个类似的前缀指令,例如unaligned., volatile.,和. (我不确定我是否列出了所有这些,但重点是,您的解析器必须识别这些。)constrained.readonly.tail.

的文档volatile.特别提到,在它适用的指令之前必须至少有一个空格。例如:

volatile. ldind.i4 // Correct

volatile.ldind.i4 // Syntax error

这些来自 Serge Lidin 的Expert .NET 2.0 IL Assembler(这几乎是权威的 IL 参考)。

于 2014-10-18T20:42:06.313 回答