Skip to content

Latest commit

 

History

History
29 lines (25 loc) · 2.05 KB

ii.5.10-ilasm-source-files.md

File metadata and controls

29 lines (25 loc) · 2.05 KB

II.5.10 ilasm source files

An input to ilasm is a sequence of top-level declarations, defined as follows:

ILFile ::= Reference
Decl* §II.5.10

The complete grammar for a top-level declaration is shown below. The reference subclauses contain details of the corresponding productions of this grammar. These productions begin with a name having a '.' prefix. Such a name is referred to as a directive.

Decl ::= Reference
.assembly DottedName '{' AsmDecl* '}' §II.6.2
| .assembly extern DottedName '{' AsmRefDecl* '}' §II.6.3
| .class ClassHeader '{' ClassMember* '}' §II.10
| .class extern ExportAttr DottedName '{' ExternClassDecl* '}' §II.6.7
| .corflags Int32 §II.6.2
| .custom CustomDecl §II.21
| .data DataDecl §II.16.3.1
| .field FieldDecl §II.16
| .file [ nometadata ] Filename .hash '=' '(' Bytes ')' [ .entrypoint ] §II.6.2.3
| .method MethodHeader '{' MethodBodyItem* '}' §II.15
| .module [ Filename ] §II.6.4
| .module extern Filename §II.6.5
| .mresource [ public | private ] DottedName '{' ManResDecl* '}' §II.6.2.2
| .subsystem Int32 §II.6.2
| .vtfixup VTFixupDecl §II.15.5.1
| ExternSourceDecl §II.5.7
| SecurityDecl §II.20