
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/DotNET_SystemReflection/extracted
Source used for this grammar: Jean-Marc Prieur, DotNET System Reflection 1.2, DotNET_SystemReflection.ecore, 2006/04/05
Integer, String, Boolean, NamedElement, Assembly, ManifestResource, Module, MemberInfo, PropertyInfo, FieldInfo, EventInfo, ParameterInfo, MethodBase, MethodInfo, ConstructorInfo, Type, EventAttributes, FieldAttributes, GenericParameterAttributes, MemberTypes, MethodAttributes, ParameterAttributes, PropertyAttributes, TypeAttributes), 0 root (—), 2 top (NamedElement, MemberTypes), 0 bottom (—).[location], [imageRuntimeVersion], [evidence], [codeBase], [entryPoint], [modules], [manifestModule], [referencedAssembly], [manifest], [content], [assembly] 2, [qualifiedName], [scopeName], [types], [propertyType], [attributes] 5, [fieldType], [isMulticast], [eventHandlerType], [defaultValue], [position], [parameterType], [member], [returnType], [parameters], [namespace], [genericParameterAttributes], [typeAttributes], [baseType], [module], [interfaces], [members], [None] 2, [ReservedMask] 5, [RTSpecialName] 4, [SpecialName] 5, [FieldAccessMask], [PrivateScope] 2, [Private] 2, [Assembly] 2, [Family] 2, [FamANDAssem], [FamORAssem] 2, [Public] 4, [Shared], [InitOnly], [Literal], [NotSerialized], [PinvokeImpl], [HasFieldMarshal], [HasDefault] 2, [HasFieldRVA], [Static] 2, [HasElementType], [Abstract] 3, [AnsiClass] 2, [AutoClass] 2, [AutoLayout] 2, [ByRef], [Class] 2, [COMObject], [Contextful], [Enum], [ExplicitLayout] 2, [Import] 2, [Interface] 2, [LayoutSequential], [MarshalByRef], [NestedAssembly] 2, [NestedFamADNAssem] 2, [NestedFamily] 2, [NestedFamORAssem] 2, [NestedPrivate] 2, [NestedPublic] 2, [NotPublic] 2, [Pointer], [Primitive], [Sealed] 2, [Serializable] 2, [UnicodeClass] 2, [ValueType], [Constructor], [Event], [Field], [Method], [Property], [TypeInfo], [Custom], [NestedType], [All], [ChekedAccessOnOverride], [FamADNAssem], [Final], [HasSecurity], [HideBySig], [MemberAccessMask], [NewSlot], [PInvokeImpl], [RequiredSecObject], [ReuseSlot], [UnmanagedExport], [Virtual], [VtableLayoutMask], [HasDefaultMArshal], [In], [Lcid], [Optional] 2, [Out], [Reserved3], [Reserved4], [RetVal], [NotSupported], [Read], [Required], [Write], [BeforFieldInit], [ClassSemanticsMask], [HasSecutity], [LayoutMask], [SequentialLayout], [StringFormatMask], [VisibilityMask].Integer ::= integer
String ::= string
Boolean ::= "true" "false"
NamedElement ::= Assembly
NamedElement ::= Module
NamedElement ::= MemberInfo
NamedElement ::= ParameterInfo
Assembly ::= [location]::String [imageRuntimeVersion]::String [evidence]::String [codeBase]::String [entryPoint]::MethodInfo [modules]::Module [manifestModule]::Module [referencedAssembly]::Assembly [manifest]::ManifestResource
ManifestResource ::= [content]::String [assembly]::Assembly
Module ::=
[qualifiedName]::String [scopeName]::String [assembly]::Assembly [types]::TypeMemberInfo ::= PropertyInfo
MemberInfo ::= FieldInfo
MemberInfo ::= EventInfo
MemberInfo ::= MethodBase
MemberInfo ::= Type
PropertyInfo ::=
[propertyType]::Type [attributes]::PropertyAttributesFieldInfo ::=
[fieldType]::Type [attributes]::FieldAttributesEventInfo ::= [isMulticast]::Boolean [attributes]::EventAttributes [eventHandlerType]::Type
ParameterInfo ::=
[defaultValue]::String [position]::Integer [attributes]::ParameterAttributes [parameterType]::Type [member]::MethodBaseMethodBase ::= MethodInfo
MethodBase ::= ConstructorInfo
MethodInfo ::= [returnType]::Type
ConstructorInfo ::= [attributes]::MethodAttributes [parameters]::ParameterInfo
Type ::= [namespace]::String [genericParameterAttributes]::GenericParameterAttributes [typeAttributes]::TypeAttributes [baseType]::Type [module]::Module [interfaces]::Type [members]::MemberInfo
EventAttributes ::= [None]::ε [ReservedMask]::ε [RTSpecialName]::ε [SpecialName]::ε
FieldAttributes ::= [FieldAccessMask]::ε [PrivateScope]::ε [Private]::ε [Assembly]::ε [Family]::ε [FamANDAssem]::ε [FamORAssem]::ε [Public]::ε [Shared]::ε [InitOnly]::ε [Literal]::ε [NotSerialized]::ε [SpecialName]::ε [PinvokeImpl]::ε [ReservedMask]::ε [RTSpecialName]::ε [HasFieldMarshal]::ε [HasDefault]::ε [HasFieldRVA]::ε [Static]::ε
GenericParameterAttributes ::= [HasElementType]::ε [Abstract]::ε [AnsiClass]::ε [AutoClass]::ε [AutoLayout]::ε [ByRef]::ε [Class]::ε [COMObject]::ε [Contextful]::ε [Enum]::ε [ExplicitLayout]::ε [Import]::ε [Interface]::ε [LayoutSequential]::ε [MarshalByRef]::ε [NestedAssembly]::ε [NestedFamADNAssem]::ε [NestedFamily]::ε [NestedFamORAssem]::ε [NestedPrivate]::ε [NestedPublic]::ε [NotPublic]::ε [Pointer]::ε [Primitive]::ε [Public]::ε [Sealed]::ε [Serializable]::ε [SpecialName]::ε [UnicodeClass]::ε [ValueType]::ε
MemberTypes ::= [Constructor]::ε [Event]::ε [Field]::ε [Method]::ε [Property]::ε [TypeInfo]::ε [Custom]::ε [NestedType]::ε [All]::ε
MethodAttributes ::= [Abstract]::ε [Assembly]::ε [ChekedAccessOnOverride]::ε [FamADNAssem]::ε [Family]::ε [FamORAssem]::ε [Final]::ε [HasSecurity]::ε [HideBySig]::ε [MemberAccessMask]::ε [NewSlot]::ε [PInvokeImpl]::ε [Private]::ε [PrivateScope]::ε [Public]::ε [RequiredSecObject]::ε [ReservedMask]::ε [ReuseSlot]::ε [RTSpecialName]::ε [SpecialName]::ε [Static]::ε [UnmanagedExport]::ε [Virtual]::ε [VtableLayoutMask]::ε
ParameterAttributes ::= [HasDefault]::ε [HasDefaultMArshal]::ε [In]::ε [Lcid]::ε [None]::ε [Optional]::ε [Out]::ε [Reserved3]::ε [Reserved4]::ε [ReservedMask]::ε [RetVal]::ε
PropertyAttributes ::= [NotSupported]::ε [Optional]::ε [Read]::ε [Required]::ε [Write]::ε
TypeAttributes ::= [Abstract]::ε [AnsiClass]::ε [AutoClass]::ε [AutoLayout]::ε [BeforFieldInit]::ε [Class]::ε [ClassSemanticsMask]::ε [ExplicitLayout]::ε [HasSecutity]::ε [Import]::ε [Interface]::ε [LayoutMask]::ε [NestedAssembly]::ε [NestedFamADNAssem]::ε [NestedFamily]::ε [NestedFamORAssem]::ε [NestedPrivate]::ε [NestedPublic]::ε [NotPublic]::ε [Public]::ε [ReservedMask]::ε [RTSpecialName]::ε [Sealed]::ε [SequentialLayout]::ε [Serializable]::ε [SpecialName]::ε [StringFormatMask]::ε [UnicodeClass]::ε [VisibilityMask]::ε