
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]::NamedTypeConstBlock ::= [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]::StorageElementStorageElement ::= 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]::EqBlockConstant ::= [imported]::Boolean [value]::Expression [enumeration]::Enumeration [key]::ConstBlock
Variable ::= GlobalVariable
Variable ::= LocalVariable
Variable ::=
[clock]::Variable [definition]::EquationType ::= 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]::ConstantComposite ::= 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]::ElementReference ::= 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]::AnnAttValueAnnAttValue ::= 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]::AnnotabilityAnnotability ::= [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]::CriterionMtcEntity ::= 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]::ElementInstance ::= [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]::ResultLoader ::= [descriptor]::Descriptor [session]::Session
String ::= string
Integer ::= integer
Boolean ::= "true" "false"