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]::Parameter
Constructor ::=
[visibility]::String [isAbstract]::Boolean [isFinal]::Boolean [isStatic]::Boolean [parameters]::Parameter
Method ::= [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]::Type
Integer ::= integer
String ::= string
Boolean ::= "true" "false"