我正在使用MSIL(CIL)代码着色器,即使我对MSIL并不熟悉。
我找到了Common Language Infrastructure (CLI)中所有关键字的列表。
这些关键字包含add
,.file
,conv.i4
和unaligned.
等内容。
我正在努力争取点作为关键字的一部分。我非常确定需要成为关键词的一部分,因为我不认为i4
之类的东西是他们自己的关键词。而且我非常确定我希望某些关键字一开始的点是该关键字的一部分。
但是那些有尾随点的少数呢,比如最后一个呢?是否有任何理由认为尾随点是关键字的一部分?
答案 0 :(得分: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的最终参考)。