
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: csharp/subset/bruneliere/extracted
Source used for this grammar: Hugo Brunelière, C# 1.0, a simplified metamodel corresponding to a small subset of the language, CSharp.ecore, 2005/08/08
Member, TypedAttribute, Field, Property, MethodBase, Constructor, Method, Type, Parameter, Assembly, Integer, String, Boolean), 0 root (—), 0 top (—), 0 bottom (—).[name] 3, [owner], [type] 3, [isReadable], [isWritable], [visibility] 3, [isAbstract] 3, [isFinal] 2, [isStatic] 2, [parameters] 2, [returnType], [qualifiedName], [isSealed], [nameSpace], [members], [t_container], [super], [isIn], [isOut], [position], [method], [content].Member ::= TypedAttribute
Member ::= MethodBase
Member ::= Type
Member ::= [name]::String [owner]::Type
TypedAttribute ::= Field
TypedAttribute ::= Property
TypedAttribute ::= [type]::Type
Field ::= [type]::Type
Property ::= [isReadable]::Boolean [isWritable]::Boolean
MethodBase ::= Constructor
MethodBase ::= Method
MethodBase ::=
[visibility]::String [isAbstract]::Boolean [isFinal]::Boolean [isStatic]::Boolean [parameters]::ParameterConstructor ::=
[visibility]::String [isAbstract]::Boolean [isFinal]::Boolean [isStatic]::Boolean [parameters]::ParameterMethod ::= [returnType]::Type
Type ::=
[qualifiedName]::String [isAbstract]::Boolean [visibility]::String [isSealed]::Boolean [nameSpace]::String [members]::Member [t_container]::Assembly [super]::TypeParameter ::= [isIn]::Boolean [isOut]::Boolean [name]::Boolean [position]::Integer [method]::MethodBase [type]::Type
Assembly ::=
[name]::String [content]::TypeInteger ::= integer
String ::= string
Boolean ::= "true" "false"