Browsable Visual Basic Grammar

CC-BY

Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: basic/visual/abstract/extracted
Source used for this grammar: Quentin Glineur, Visual Basic 0.1, vb.ecore, 2007/10/30

Summary

Syntax

obeo/psm/vb/resources/LocatedElement ::=
	obeo/psm/vb/resources/VB_LangElement
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Content
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_GlobalVariable
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_ContentElement
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Type
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Data
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/features/VB_Modifier
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalField
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/statements/VB_CallArgument
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/statements/VB_Case
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/references/VB_TypeRef
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/references/VB_DataRef
obeo/psm/vb/resources/VB_LangElement ::=
	obeo/psm/vb/projects/VB_1/references/VB_LabelRef
obeo/psm/vb/projects/VB_1/core/VB_Content ::=
	[hasVersion]::Boolean [version]::String [hasClass]::Boolean [hasBeginEnd]::Boolean [beginEndGlobalVariables]::obeo/psm/vb/projects/VB_1/core/VB_GlobalVariable+ [globalVariables]::obeo/psm/vb/projects/VB_1/core/VB_GlobalVariable+ [elements]::obeo/psm/vb/projects/VB_1/core/VB_ContentElement+
obeo/psm/vb/projects/VB_1/core/VB_GlobalVariable ::=
	[name]::String [value]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_FileAttribute
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Option
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Imports
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Implements
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Assembly
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Module
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_SimpleType
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Enum
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/preprocessing/VB_PreprocIf
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/core/VB_Class
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalElement
obeo/psm/vb/projects/VB_1/core/VB_ContentElement ::=
	obeo/psm/vb/projects/VB_1/features/VB_Feature
obeo/psm/vb/projects/VB_1/core/VB_FileAttribute ::=
	[name]::String [initialValue]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+
obeo/psm/vb/projects/VB_1/core/VB_Option ::=
	[name]::String [hasEnablement]::Boolean [enablement]::obeo/psm/vb/projects/VB_1/enumerations/EnablementEnum
obeo/psm/vb/projects/VB_1/core/VB_Imports ::=
	[imports]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef
obeo/psm/vb/projects/VB_1/core/VB_Implements ::=
	[implements]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef
obeo/psm/vb/projects/VB_1/core/VB_Assembly ::=
	[call]::obeo/psm/vb/projects/VB_1/statements/VB_Call
obeo/psm/vb/projects/VB_1/core/VB_Class ::=
	[isFriend]::Boolean [hasVisibility]::Boolean [visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [name]::String [hasInherits]::Boolean [inherits]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef [features]::obeo/psm/vb/projects/VB_1/features/VB_Feature+
obeo/psm/vb/projects/VB_1/core/VB_Module ::=
	[name]::String [features]::obeo/psm/vb/projects/VB_1/features/VB_Feature+
obeo/psm/vb/projects/VB_1/core/VB_Type ::=
	obeo/psm/vb/projects/VB_1/core/VB_Class
obeo/psm/vb/projects/VB_1/core/VB_Data ::=
	obeo/psm/vb/projects/VB_1/features/VB_Parameter
obeo/psm/vb/projects/VB_1/core/VB_Data ::=
	obeo/psm/vb/projects/VB_1/features/VB_Feature
obeo/psm/vb/projects/VB_1/core/VB_Data ::=
	obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalProperty
obeo/psm/vb/projects/VB_1/core/VB_Data ::=
	obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalElement
obeo/psm/vb/projects/VB_1/core/VB_SimpleType ::=
	[visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [name]::String [features]::obeo/psm/vb/projects/VB_1/features/VB_Feature+
obeo/psm/vb/projects/VB_1/core/VB_Enum ::=
	[visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [name]::String [features]::obeo/psm/vb/projects/VB_1/features/VB_Feature+
obeo/psm/vb/projects/VB_1/preprocessing/VB_PreprocIf ::=
	[condition]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression [features]::obeo/psm/vb/projects/VB_1/features/VB_Feature+
obeo/psm/vb/projects/VB_1/features/VB_Feature ::=
	obeo/psm/vb/projects/VB_1/features/VB_Region
obeo/psm/vb/projects/VB_1/features/VB_Feature ::=
	obeo/psm/vb/projects/VB_1/features/VB_Sub
obeo/psm/vb/projects/VB_1/features/VB_Feature ::=
	obeo/psm/vb/projects/VB_1/features/VB_Function
obeo/psm/vb/projects/VB_1/features/VB_Feature ::=
	obeo/psm/vb/projects/VB_1/features/VB_DeclareFunction
obeo/psm/vb/projects/VB_1/features/VB_Feature ::=
	obeo/psm/vb/projects/VB_1/features/VB_DeclareSub
obeo/psm/vb/projects/VB_1/features/VB_Feature ::=
	obeo/psm/vb/projects/VB_1/features/VB_Property
obeo/psm/vb/projects/VB_1/features/VB_Feature ::=
	obeo/psm/vb/projects/VB_1/features/VB_Attribute
obeo/psm/vb/projects/VB_1/features/VB_Region ::=
	[name]::String [features]::obeo/psm/vb/projects/VB_1/features/VB_Feature+
obeo/psm/vb/projects/VB_1/features/VB_Sub ::=
	[hasAnnotation]::Boolean [annotation]::obeo/psm/vb/projects/VB_1/statements/VB_Call [isFriend]::Boolean [hasVisibility]::Boolean [visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [isOverloads]::Boolean [isOverrides]::Boolean [name]::String [parameters]::obeo/psm/vb/projects/VB_1/features/VB_Parameter+ [hasHandles]::Boolean [handles]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef+ [statements]::obeo/psm/vb/projects/VB_1/statements/VB_Statement+
obeo/psm/vb/projects/VB_1/features/VB_Function ::=
	[isFriend]::Boolean [hasVisibility]::Boolean [visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [name]::String [parameters]::obeo/psm/vb/projects/VB_1/features/VB_Parameter+ [return]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef [statements]::obeo/psm/vb/projects/VB_1/statements/VB_Statement+
obeo/psm/vb/projects/VB_1/features/VB_DeclareFunction ::=
	[hasVisibility]::Boolean [visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [isAuto]::Boolean [name]::String [lib]::String [isAlias]::Boolean [alias]::String [parameters]::obeo/psm/vb/projects/VB_1/features/VB_Parameter+ [return]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef
obeo/psm/vb/projects/VB_1/features/VB_DeclareSub ::=
	[hasVisibility]::Boolean [visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [isAuto]::Boolean [name]::String [lib]::String [isAlias]::Boolean [alias]::String [parameters]::obeo/psm/vb/projects/VB_1/features/VB_Parameter+
obeo/psm/vb/projects/VB_1/features/VB_Parameter ::=
	[isOptional]::Boolean [hasQualifier]::Boolean [qualifier]::obeo/psm/vb/projects/VB_1/enumerations/QualifierEnum [name]::String [isArray]::Boolean [arrayExpression]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression [hasType]::Boolean [type]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef [hasInitialValue]::Boolean [value]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/projects/VB_1/features/VB_Property ::=
	[visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [isShared]::Boolean [isGetOnly]::Boolean [isSet]::Boolean [isLet]::Boolean [name]::String [parameters]::obeo/psm/vb/projects/VB_1/features/VB_Parameter+ [type]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef [modifiers]::obeo/psm/vb/projects/VB_1/features/VB_Modifier+ [statements]::obeo/psm/vb/projects/VB_1/statements/VB_Statement+
obeo/psm/vb/projects/VB_1/features/VB_Modifier ::=
	obeo/psm/vb/projects/VB_1/features/VB_Set
obeo/psm/vb/projects/VB_1/features/VB_Modifier ::=
	obeo/psm/vb/projects/VB_1/features/VB_Get
obeo/psm/vb/projects/VB_1/features/VB_Modifier ::=
	obeo/psm/vb/projects/VB_1/statements/VB_Statement
obeo/psm/vb/projects/VB_1/features/VB_Set ::=
	[hasParameters]::Boolean [parameters]::obeo/psm/vb/projects/VB_1/features/VB_Parameter+ [statements]::obeo/psm/vb/projects/VB_1/statements/VB_Statement+
obeo/psm/vb/projects/VB_1/features/VB_Get ::=
	[hasParameters]::Boolean [parameters]::obeo/psm/vb/projects/VB_1/features/VB_Parameter+ [statements]::obeo/psm/vb/projects/VB_1/statements/VB_Statement+
obeo/psm/vb/projects/VB_1/features/VB_Attribute ::=
	[hasVisibility]::Boolean [visibility]::obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum [hasQualifier]::Boolean [qualifier]::obeo/psm/vb/projects/VB_1/enumerations/Qualifier_2Enum [isFriend]::Boolean [isWithEvents]::Boolean [isShared]::Boolean [name]::String [isArray]::Boolean [arrayExpressions]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+ [hasType]::Boolean [type]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression [hasInitialValue]::Boolean [initialValue]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression [hasNext]::Boolean
obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalElement ::=
	[type]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef [name]::String [fields]::obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalField+ [children]::obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalElement+
obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalField ::=
	obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalPropertySet
obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalField ::=
	obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalProperty
obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalPropertySet ::=
	[name]::String [hasArguments]::Boolean [arguments]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+ [hasBrackets]::Boolean [fields]::obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalField+
obeo/psm/vb/projects/VB_1/graphicals/VB_GraphicalProperty ::=
	[property]::obeo/psm/vb/projects/VB_1/references/VB_FullDataRef [value]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/projects/VB_1/statements/VB_Statement ::=
	obeo/psm/vb/projects/VB_1/statements/VB_Call
obeo/psm/vb/projects/VB_1/statements/VB_Statement ::=
	obeo/psm/vb/projects/VB_1/statements/VB_RawBody
obeo/psm/vb/projects/VB_1/statements/VB_Call ::=
	[expression]::obeo/psm/vb/projects/VB_1/references/VB_FullDataRef [arguments]::obeo/psm/vb/projects/VB_1/statements/VB_CallArgument+
obeo/psm/vb/projects/VB_1/statements/VB_CallArgument ::=
	obeo/psm/vb/projects/VB_1/statements/VB_CallEmptyArgument
obeo/psm/vb/projects/VB_1/statements/VB_CallArgument ::=
	obeo/psm/vb/projects/VB_1/statements/VB_CallExpressionArgument
obeo/psm/vb/projects/VB_1/statements/VB_CallEmptyArgument ::=
	ε
obeo/psm/vb/projects/VB_1/statements/VB_CallExpressionArgument ::=
	[expression]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression [hasSeparator]::Boolean
obeo/psm/vb/projects/VB_1/statements/VB_Case ::=
	[values]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+ [hasSeparator]::Boolean [statements]::obeo/psm/vb/projects/VB_1/statements/VB_Statement+
obeo/psm/vb/projects/VB_1/statements/VB_RawBody ::=
	[value]::String
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_AssignmentExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_TypeOfExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_OperatorExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_NewExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_NotExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_NegativeExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_ParenthesisExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_TabValuesExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_ByValExpression
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_Value
obeo/psm/vb/projects/VB_1/expressions/VB_Expression ::=
	obeo/psm/vb/projects/VB_1/references/VB_FullDataRef
obeo/psm/vb/projects/VB_1/expressions/VB_AssignmentExpression ::=
	[variable]::obeo/psm/vb/projects/VB_1/references/VB_FullDataRef [expression]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/projects/VB_1/expressions/VB_TypeOfExpression ::=
	[variable]::obeo/psm/vb/projects/VB_1/references/VB_FullDataRef [type]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef
obeo/psm/vb/projects/VB_1/expressions/VB_OperatorExpression ::=
	[leftHand]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression [rightHand]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression [operatorName]::String
obeo/psm/vb/projects/VB_1/expressions/VB_NewExpression ::=
	[type]::obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef [hasArguments]::Boolean [arguments]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+ [hasInitialization]::Boolean [initializations]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+
obeo/psm/vb/projects/VB_1/expressions/VB_NotExpression ::=
	[expression]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/projects/VB_1/expressions/VB_NegativeExpression ::=
	[expression]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/projects/VB_1/expressions/VB_ParenthesisExpression ::=
	[expression]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/projects/VB_1/expressions/VB_TabValuesExpression ::=
	[arguments]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression+
obeo/psm/vb/projects/VB_1/expressions/VB_ByValExpression ::=
	[value]::obeo/psm/vb/projects/VB_1/expressions/VB_Expression
obeo/psm/vb/projects/VB_1/expressions/VB_Value ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_NegativeValue
obeo/psm/vb/projects/VB_1/expressions/VB_Value ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_VariableSystem
obeo/psm/vb/projects/VB_1/expressions/VB_Value ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_Literal
obeo/psm/vb/projects/VB_1/expressions/VB_NegativeValue ::=
	[value]::obeo/psm/vb/projects/VB_1/expressions/VB_Value
obeo/psm/vb/projects/VB_1/expressions/VB_VariableSystem ::=
	[name]::obeo/psm/vb/projects/VB_1/enumerations/NameEnum
obeo/psm/vb/projects/VB_1/expressions/VB_Literal ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_Literal_Literal
obeo/psm/vb/projects/VB_1/expressions/VB_Literal ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_Literal_Number
obeo/psm/vb/projects/VB_1/expressions/VB_Literal ::=
	obeo/psm/vb/projects/VB_1/expressions/VB_Literal_Value
obeo/psm/vb/projects/VB_1/expressions/VB_Literal_Literal ::=
	ε
obeo/psm/vb/projects/VB_1/expressions/VB_Literal_Number ::=
	ε
obeo/psm/vb/projects/VB_1/expressions/VB_Literal_Value ::=
	ε
obeo/psm/vb/projects/VB_1/references/VB_FullTypeRef ::=
	[members]::obeo/psm/vb/projects/VB_1/references/VB_TypeRef+
obeo/psm/vb/projects/VB_1/references/VB_TypeRef ::=
	[type]::obeo/psm/vb/resources/VB_LangElement [typeValue]::String
obeo/psm/vb/projects/VB_1/references/VB_FullDataRef ::=
	[self]::Boolean [members]::obeo/psm/vb/projects/VB_1/references/VB_DataRef+ [hasRecSet]::Boolean [recSetMember]::obeo/psm/vb/projects/VB_1/references/VB_DataRef
obeo/psm/vb/projects/VB_1/references/VB_DataRef ::=
	[data]::obeo/psm/vb/resources/VB_LangElement [dataValue]::String [hasArguments]::Boolean [arguments]::obeo/psm/vb/projects/VB_1/statements/VB_CallArgument+ [hasRefMarker]::Boolean [hasSubMarker]::Boolean
obeo/psm/vb/projects/VB_1/references/VB_LabelRef ::=
	[label]::obeo/psm/vb/resources/VB_LangElement [labelValue]::String
obeo/psm/vb/projects/VB_1/enumerations/EnablementEnum ::=
	[Off]::ε
	[On]::ε
obeo/psm/vb/projects/VB_1/enumerations/VisibilityEnum ::=
	[private]::ε
	[protected]::ε
	[public]::ε
obeo/psm/vb/projects/VB_1/enumerations/QualifierEnum ::=
	[byRef]::ε
	[byVal]::ε
obeo/psm/vb/projects/VB_1/enumerations/Qualifier_2Enum ::=
	[static]::ε
	[const]::ε
	[dim]::ε
obeo/psm/vb/projects/VB_1/enumerations/NameEnum ::=
	[trueLit]::ε
	[falseLit]::ε
	[nothing]::ε
String ::=
	string
Boolean ::=
	"true"
	"false"
Integer ::=
	integer

GrammarLabMaintained by Dr. Vadim Zaytsev a.k.a. @grammarware. Last updated in September 2015. []