Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: §wip/atl/SCADE/extracted
Source used for this grammar: SIMON Eric, SCADE 1.0, SCADE.ecore
, 2006/07/11
ListString
, ListInteger
, Model
, Implementation
, ConstBlock
, VarBlock
, GlobalVariable
, TypeBlock
, Session
, Descriptor
, StorageUnit
, StorageElement
, Object
, Block
, NodeBlock
, ModelBlock
, Expression
, Label
, ExprNull
, ConstValue
, ExprContact
, ExprCall
, Operator
, ExprId
, LocalVariable
, Node
, ParamBlock
, ParamArray
, ConstVar
, Constant
, Variable
, Type
, Table
, NamedType
, Enumeration
, Composite
, CompositeElement
, Structure
, Tuple
, EqBlock
, Equation
, Assertion
, Annotable
, Prop
, Configuration
, Project
, Element
, FileRef
, Folder
, Reference
, TypeReference
, OperatorReference
, VariableReference
, Error
, Edge
, RPoint
, RSize
, Entity
, StateObj
, GraphicalObject
, StInputOutput
, StInitInput
, StInput
, StOutput
, Transition
, State
, InitialStPtr
, StateMachine
, Base
, StateBase
, AnnNote
, AnnAttValue
, AnnNoteType
, AnnAttDefinition
, AnnAttIntValue
, AnnAttBoolValue
, AnnAttCharValue
, AnnAttRealValue
, AnnAttStringValue
, AnnAttFileValue
, AnnAttDateValue
, AnnAttOidValue
, AnnAttEnumValue
, AnnProperty
, AnnPropertyInt
, AnnPropertyBool
, AnnPropertyChar
, AnnPropertyReal
, AnnPropertyString
, AnnPropertyEnum
, AnnotSchema
, AnnCategory
, Annotability
, AnnAttGroup
, File
, MtcApplication
, CoverageFile
, CriterionFile
, MtcEntity
, HistoryEntry
, Criterion
, Instance
, AssociationClass
, Result
, Record
, Loader
, String
, Integer
, Boolean
), 0 root (—), 5 top (Error
, Entity
, Base
, AnnNote
, MtcEntity
), 2 bottom (Char
2, Double
6).[value]
21, [library]
, [pathname]
4, [descriptor]
3, [project]
, [fileRef]
3, [storageUnitM]
, [enumsBlock]
, [importedOperator]
, [client]
3, [libraries]
, [allLibry]
, [typeM]
, [model]
2, [coverageFileM]
, [criterionFileM]
, [root]
, [all]
, [application]
3, [reference]
2, [tmpNode]
, [constBlockK]
, [node]
2, [varBlockK]
, [typeBlock]
, [refinement]
2, [implementation]
2, [constant]
3, [allConstant]
, [allvariable]
, [variable]
3, [allConstVar]
, [constVar]
, [constBlock]
, [varBlock]
, [allNamedType]
, [namedType]
, [key]
18, [namedTypeI]
, [modelC]
, [keyC]
, [keyVB]
, [type]
7, [loadsModel]
, [DefinedIn]
2, [loader]
, [modelFileName]
, [sernFileName]
, [sernPersistAs]
, [rnetFileName]
, [rnetPersistAs]
, [occBase]
, [size]
3, [nameVerify]
, [checked]
, [libraryModels]
, [annTypeFiles]
, [modelD]
, [saoFileName]
, [annFileName]
, [persistAs]
2, [loaded]
, [saoModified]
, [annModified]
, [modelS]
, [element]
5, [expression]
2, [label]
, [exprContactE]
, [exprCallE]
, [dependance]
, [subExprId]
, [paramArray]
, [equationE]
, [assertionE]
, [kind]
3, [boolAct]
, [initValue]
2, [calledOpr]
, [numOcc]
, [predefOpr]
, [parameter]
, [exprContactEC]
, [operator]
3, [category]
, [conversion]
, [state]
3, [index]
2, [input]
, [output]
, [hidden]
, [modelO]
, [modelOp]
, [criterionO]
, [intanceO]
, [exprContactEI]
, [optional]
4, [const]
4, [probe]
, [pure]
, [operatorI]
2, [operatorO]
, [operatorH]
, [nodeL]
, [nodeI]
, [nodeKind]
, [eqBlock]
2, [paramBlock]
2, [local]
, [internal]
, [stateMachine]
, [modelN]
, [columnsSize]
, [array]
, [notes]
, [imported]
, [enumeration]
, [clock]
4, [definition]
2, [typeT]
, [refined]
, [to]
, [from]
, [keyM]
, [typeC]
, [equation]
, [assertion]
2, [calledOperator]
, [referencedId]
, [rotation]
, [symetrical]
, [terminator]
, [left]
, [right]
, [outEdge]
, [position]
3, [edge]
, [name]
14, [values]
, [entity]
, [configurationP]
, [propC]
, [projectC]
, [configuration]
, [owner]
, [extensions]
, [leftVarIndex]
, [labelOrientation]
, [leftVar]
, [rightExpression]
, [srcEquation]
, [dstEquation]
, [conditions]
, [transKind]
, [state1]
, [state2]
, [cx]
2, [cy]
2, [transition1]
, [transition2]
, [stOutput]
, [initialStPtr]
, [transition]
, [DefineIn]
, [modified]
, [annNoteType]
3, [annotable]
, [annAttValue]
, [annAttDefinition]
, [annAttGroup]
2, [annProperty]
, [annCategory]
, [anootability]
, [minCardinality]
, [maxCardinality]
, [defaultNote]
, [coverageFileCov]
, [criterionFileCri]
, [modelM]
, [record]
2, [modelCov]
, [recordCov]
, [modelCri]
, [criterionC]
, [file]
, [ident]
, [description]
2, [criterionFileC]
, [operatorC]
, [occ]
, [modelI]
, [associationClassI]
, [caller]
, [called]
, [origin]
, [related]
, [resultA]
, [recordA]
, [instanceA]
, [elementCount]
, [associationClassRs]
, [creator]
, [date]
, [author]
, [associationClassRc]
, [coverageFileR]
, [result]
, [session]
.ListString ::= [value]::String
ListInteger ::= [value]::Integer
Model ::= [library]::Boolean [pathname]::String [descriptor]::Descriptor [project]::Project [fileRef]::FileRef [storageUnitM]::StorageUnit[enumsBlock]::ConstBlock [importedOperator]::Operator [client]::Model [libraries]::Model [allLibry]::Model [typeM]::Type [model]::Model [coverageFileM]::CoverageFile [criterionFileM]::CriterionFile [root]::Instance [all]::Operator [application]::MtcApplication [reference]::Reference [tmpNode]::Node [constBlockK]::ConstBlock [node]::Node [varBlockK]::VarBlock [typeBlock]::TypeBlock [refinement]::NamedType [implementation]::Implementation [constant]::Constant [allConstant]::Constant [allvariable]::GlobalVariable [variable]::GlobalVariable [allConstVar]::ConstVar [constVar]::ConstVar [constBlock]::ConstBlock [varBlock]::VarBlock [allNamedType]::NamedType [namedType]::NamedType
Implementation ::=
[key]::Model [namedTypeI]::NamedType
ConstBlock ::= [modelC]::Model [keyC]::Model [key]::Model [constant]::Constant
VarBlock ::= [variable]::GlobalVariable [keyVB]::Model [key]::Model
GlobalVariable ::= [key]::VarBlock
TypeBlock ::= [type]::NamedType [key]::Model
Session ::=
[descriptor]::Descriptor [model]::Model [loadsModel]::Model
[DefinedIn]::String [loader]::LoaderDescriptor ::= [modelFileName]::String [sernFileName]::String [sernPersistAs]::String [rnetFileName]::String [rnetPersistAs]::String [occBase]::Integer [size]::Integer [nameVerify]::Boolean [checked]::Boolean [libraryModels]::ListString[annTypeFiles]::ListString [modelD]::Model
StorageUnit ::=
[saoFileName]::String [annFileName]::String [persistAs]::String [loaded]::Boolean [saoModified]::Boolean [annModified]::Boolean [fileRef]::FileRef [modelS]::Model [element]::StorageElement
StorageElement ::= Block
StorageElement ::= Operator
Object ::= Implementation
Object ::= Descriptor
Object ::= StorageUnit
Object ::= Expression
Object ::= Label
Object ::= CompositeElement
Object ::= Annotable
Object ::= Edge
Object ::= StateMachine
Object ::= Model
Block ::= NodeBlock
Block ::= ModelBlock
NodeBlock ::= ParamBlock
NodeBlock ::= EqBlock
NodeBlock ::= [node]::Node
ModelBlock ::= ConstBlock
ModelBlock ::= VarBlock
ModelBlock ::= TypeBlock
Expression ::= ExprNull
Expression ::= ConstValue
Expression ::= ExprContact
Expression ::= ExprCall
Expression ::= ExprId
Label ::= [expression]::Expression
ExprNull ::=
[label]::Label [exprContactE]::ExprContact [exprCallE]::ExprCall [dependance]::ConstVar [subExprId]::ExprId
[paramArray]::ParamArray [constant]::Constant [equationE]::Equation [assertionE]::AssertionConstValue ::= [value]::String [kind]::Object
ExprContact ::=
[boolAct]::ExprId [initValue]::Expression
[calledOpr]::ExprCallExprCall ::=
[numOcc]::Integer [predefOpr]::Integer [parameter]::Expression
[exprContactEC]::ExprContact [operator]::OperatorOperator ::= Node
Operator ::= [category]::String [conversion]::Boolean [state]::Boolean [index]::Integer [variable]::LocalVariable [input]::LocalVariable[output]::LocalVariable [hidden]::LocalVariable [client]::EqBlock [modelO]::Model [modelOp]::Model [criterionO]::Criterion [intanceO]::Instance [operator]::Operator
ExprId ::= [exprContactEI]::ExprContact [reference]::ConstVar
LocalVariable ::= [optional]::Boolean [const]::Boolean [probe]::Boolean [pure]::Boolean [initValue]::String [operatorI]::Operator [operatorO]::Operator [operatorH]::Operator [nodeL]::Node [nodeI]::Node
Node ::= [nodeKind]::Object [eqBlock]::EqBlock [paramBlock]::ParamBlock [local]::LocalVariable[internal]::LocalVariable [key]::Model [stateMachine]::StateMachine [modelN]::Model
ParamBlock ::= [key]::Node [columnsSize]::ListInteger[array]::ParamArray
ParamArray ::= [notes]::ListString[paramBlock]::ParamBlock [operator]::Operator [value]::Expression
ConstVar ::= Constant
ConstVar ::= Variable
ConstVar ::=
[kind]::Object [type]::Type [client]::EqBlock
Constant ::= [imported]::Boolean [value]::Expression [enumeration]::Enumeration [key]::ConstBlock
Variable ::= GlobalVariable
Variable ::= LocalVariable
Variable ::=
[clock]::Variable [definition]::Equation
Type ::= Table
Type ::= NamedType
Type ::= Enumeration
Type ::= Composite
Table ::= [size]::Integer [typeT]::Type
NamedType ::= [kind]::Object [refinement]::NamedType[refined]::NamedType [to]::Operator [from]::Operator [implementation]::Implementation [definition]::Type [keyM]::Model [key]::TypeBlock
Enumeration ::=
[value]::Constant
Composite ::= Structure
Composite ::= Tuple
CompositeElement ::= [typeC]::Type [key]::Composite
Structure ::= [element]::CompositeElement
Tuple ::= [element]::CompositeElement
EqBlock ::= [equation]::Equation[assertion]::Assertion [key]::Node [calledOperator]::Operator [referencedId]::ConstVar
Equation ::= [rotation]::Integer [symetrical]::Boolean [terminator]::Boolean [eqBlock]::EqBlock [left]::Variable[right]::Expression [outEdge]::Edge [position]::RPoint [size]::RSize
Assertion ::= [key]::EqBlock [expression]::Expression [edge]::Edge [position]::RPoint
Annotable ::= StorageElement
Annotable ::= ParamArray
Annotable ::= ConstVar
Annotable ::= Type
Annotable ::= Equation
Annotable ::= Assertion
Annotable ::= Project
Prop ::=
[name]::String [values]::ListString
[entity]::Annotable [configurationP]::ConfigurationConfiguration ::=
[name]::String [propC]::Prop
[projectC]::ProjectProject ::= [pathname]::String [configuration]::Configuration[fileRef]::FileRef [owner]::Element
Element ::= FileRef
Element ::= Folder
FileRef ::= [pathname]::String [persistAs]::String [DefinedIn]::String
Folder ::=
[extensions]::String [element]::Element
Reference ::= TypeReference
Reference ::= OperatorReference
Reference ::= VariableReference
TypeReference ::= ε
OperatorReference ::= ε
VariableReference ::= ε
Error ::= ε
Edge ::=
[leftVarIndex]::Integer [labelOrientation]::Integer [leftVar]::Variable [rightExpression]::ExprId [srcEquation]::Equation [assertion]::Assertion [position]::RPoint
[dstEquation]::EquationRPoint ::= ε
RSize ::= ε
Entity ::= StateObj
StateObj ::= GraphicalObject
GraphicalObject ::= StInputOutput
GraphicalObject ::= Transition
GraphicalObject ::= State
GraphicalObject ::= InitialStPtr
StInputOutput ::= StInitInput
StInputOutput ::= StInput
StInputOutput ::= StOutput
StInitInput ::= [name]::String [type]::String [clock]::Boolean [const]::Boolean [optional]::Boolean
StInput ::= [name]::String [type]::String [clock]::Boolean [const]::Boolean [optional]::Boolean
StOutput ::= [name]::String [type]::String [clock]::Boolean [const]::Boolean [optional]::Boolean
Transition ::= [conditions]::String [transKind]::Integer [state1]::State [state2]::State
State ::= [name]::String [cx]::Double [cy]::Double [transition1]::Transition[transition2]::Transition [stOutput]::StOutput
InitialStPtr ::= [cx]::Double [cy]::Double [state]::State
StateMachine ::= [initialStPtr]::InitialStPtr [state]::State[transition]::Transition
Base ::= StateBase
StateBase ::= [DefineIn]::String
AnnNote ::=
[name]::String [modified]::Boolean [annNoteType]::AnnNoteType [annotable]::Annotable [annAttValue]::AnnAttValue
AnnAttValue ::= AnnAttIntValue
AnnAttValue ::= AnnAttBoolValue
AnnAttValue ::= AnnAttCharValue
AnnAttValue ::= AnnAttRealValue
AnnAttValue ::= AnnAttStringValue
AnnNoteType ::= [name]::String [annAttDefinition]::AnnAttDefinition [annAttGroup]::AnnAttGroup [key]::AnnotSchema
AnnAttDefinition ::= [name]::String [type]::Integer [annAttGroup]::AnnAttGroup [key]::AnnNoteType [annProperty]::AnnProperty
AnnAttIntValue ::= [value]::Integer
AnnAttBoolValue ::= [value]::Boolean
AnnAttCharValue ::= [value]::Char
AnnAttRealValue ::= [value]::Double
AnnAttStringValue ::= AnnAttFileValue
AnnAttStringValue ::= AnnAttDateValue
AnnAttStringValue ::= AnnAttOidValue
AnnAttStringValue ::= AnnAttEnumValue
AnnAttStringValue ::= [value]::String
AnnAttFileValue ::= [value]::String
AnnAttDateValue ::= [value]::String
AnnAttOidValue ::= [value]::String
AnnAttEnumValue ::= [value]::String
AnnProperty ::= AnnPropertyInt
AnnProperty ::= AnnPropertyBool
AnnProperty ::= AnnPropertyChar
AnnProperty ::= AnnPropertyReal
AnnProperty ::= AnnPropertyString
AnnProperty ::= AnnPropertyEnum
AnnProperty ::= [name]::String [type]::Integer [key]::AnnAttDefinition
AnnPropertyInt ::= [value]::Integer
AnnPropertyBool ::= [value]::Boolean
AnnPropertyChar ::= [value]::Char
AnnPropertyReal ::= [value]::Double
AnnPropertyString ::= [value]::String
AnnPropertyEnum ::= [value]::Object
AnnotSchema ::= [pathname]::String [annNoteType]::AnnNoteType [annCategory]::AnnCategory
AnnCategory ::=
[name]::String [key]::AnnotSchema [anootability]::Annotability
Annotability ::= [minCardinality]::Integer [maxCardinality]::Integer [defaultNote]::Boolean [annNoteType]::AnnNoteType
AnnAttGroup ::= [name]::String [key]::AnnNoteType
File ::= CoverageFile
File ::= CriterionFile
MtcApplication ::= [coverageFileCov]::CoverageFile[criterionFileCri]::CriterionFile [modelM]::Model
CoverageFile ::= [record]::Record [modelCov]::Model [application]::MtcApplication [recordCov]::Record
CriterionFile ::=
[application]::MtcApplication [modelCri]::Model [criterionC]::Criterion
MtcEntity ::= Element
MtcEntity ::= File
MtcEntity ::= HistoryEntry
MtcEntity ::= Criterion
MtcEntity ::= Instance
MtcEntity ::= Result
MtcEntity ::= Record
MtcEntity ::= Model
MtcEntity ::= Operator
HistoryEntry ::= [file]::File
Criterion ::=
[ident]::String [name]::String [description]::String [criterionFileC]::CriterionFile [operatorC]::Operator [element]::Element
Instance ::= [index]::Integer [occ]::String [modelI]::Model [operatorI]::Operator [associationClassI]::AssociationClass [caller]::Instance [called]::Instance[origin]::Instance [related]::Instance
AssociationClass ::= [resultA]::Result [recordA]::Record[instanceA]::Instance
Result ::= [elementCount]::Integer [associationClassRs]::AssociationClass [record]::Record
Record ::=
[creator]::String [name]::String [date]::String [author]::String [description]::String [key]::CoverageFile [associationClassRc]::AssociationClass [coverageFileR]::CoverageFile [result]::Result
Loader ::= [descriptor]::Descriptor [session]::Session
String ::= string
Integer ::= integer
Boolean ::= "true" "false"