
Grammar extracted by Vadim Zaytsev, see the Grammar Zoo entry for details: markup/scientific/matlab/srour/extracted
Source used for this grammar: Youssef Srour, MATLAB 1.2, Matlab.ecore, 26/06/2006
String, Integer, Matlab, BlockDefaults, Model, AnnotationDefaults, LineDefaults, System, Subsystem, Block, Annotation, Line, DirectLine, InputPort, Branch, BranchedLine, Primitive, Port, Reference, Masked, Normal, Parameter, OutputPort, Type, Double, INteger, Enumeration, BOolean, TrueFalse, Text, Vector, DirectBranch, NestedBranch, Machine, Junction, Transition, Event, Data, Instance, Target, Chart, State, Props, Range, Array, StateFlow, TransitionTerminal, Simulink), 0 root (—), 2 top (Integer, TransitionTerminal), 0 bottom (—).[model] 5, [blockDefaults] 2, [name] 11, [matlab], [annotationDefaults] 2, [system] 6, [lineDefaults] 2, [simulink] 3, [blocks], [lines], [annotations], [parentSubsystem], [blockType], [description] 4, [priority], [tag], [position] 4, [mySystem], [ports], [text], [points] 2, [id] 13, [srcPort], [destPort1], [owningDirectLine], [owningDirectBranch], [branchedLine], [nestedBranch], [branchs] 2, [parameters] 2, [refPort], [number], [portBlock], [primitive] 2, [sourceType], [sourceBlock], [le_reference], [owningLine], [value] 7, [True], [False], [destPort], [events] 3, [data] 4, [instances], [targets], [stateFlow] 2, [_id] 6, [type] 2, [state] 4, [chart] 5, [dataLimites], [trigger] 2, [condition], [conditionAction], [action], [scope] 2, [machine] 4, [units], [dataType], [props] 3, [codeCommand], [makeCommand], [codeFlags], [checksumOld], [decomposotion], [updateMethode], [sampleTime], [junctions] 2, [transitions] 2, [states] 2, [entryAction], [exitAction], [duringAction], [eventActions], [decomposition], [initialValue], [arrays], [ranges], [maximum], [minimum], [firstIndex], [size], [machines], [stateFlows], [models].String ::= string
Integer ::= integer
Matlab ::=
[model]::ModelBlockDefaults ::= Block
BlockDefaults ::= [blockDefaults]::String [model]::Model
Model ::= [name]::String [matlab]::Matlab [annotationDefaults]::AnnotationDefaults [system]::System [blockDefaults]::BlockDefaults [lineDefaults]::LineDefaults [simulink]::Simulink
AnnotationDefaults ::= Annotation
AnnotationDefaults ::= [annotationDefaults]::String [model]::Model
LineDefaults ::= Line
LineDefaults ::= [lineDefaults]::String [model]::Model
System ::= [name]::String [blocks]::Block [lines]::Line [annotations]::Annotation [model]::Model [parentSubsystem]::Subsystem
Subsystem ::= Masked
Subsystem ::= Normal
Subsystem ::= [system]::System
Block ::= Subsystem
Block ::= Primitive
Block ::= Reference
Block ::=
[name]::String [blockType]::String [description]::String [priority]::String [tag]::String [position]::String [mySystem]::System [ports]::PortAnnotation ::= [position]::String [text]::String [system]::System
Line ::= DirectLine
Line ::= BranchedLine
Line ::= [points]::String [id]::String [srcPort]::OutputPort [system]::System
DirectLine ::= [destPort1]::InputPort
InputPort ::= [owningDirectLine]::DirectLine [owningDirectBranch]::DirectBranch
Branch ::= DirectBranch
Branch ::= NestedBranch
Branch ::= [points]::String [branchedLine]::BranchedLine [nestedBranch]::NestedBranch
BranchedLine ::=
[branchs]::BranchPrimitive ::=
[id]::String [parameters]::Parameter [refPort]::PortPort ::= InputPort
Port ::= OutputPort
Port ::= [id]::String [number]::String [portBlock]::Block [primitive]::Primitive
Reference ::=
[sourceType]::String [sourceBlock]::String [parameters]::ParameterMasked ::= [system]::System
Normal ::= [system]::System
Parameter ::= Type
Parameter ::= Double
Parameter ::= INteger
Parameter ::= Enumeration
Parameter ::= BOolean
Parameter ::= Text
Parameter ::= Vector
Parameter ::= [name]::String [le_reference]::Reference [primitive]::Primitive
OutputPort ::= [owningLine]::Line
Type ::= [value]::String
Double ::= [value]::String
INteger ::= [value]::String
Enumeration ::= [value]::String
BOolean ::= [value]::TrueFalse
TrueFalse ::= [True]::ε [False]::ε
Text ::= [value]::String
Vector ::= [value]::String
DirectBranch ::= [id]::String [destPort]::InputPort
NestedBranch ::=
[branchs]::BranchMachine ::= [name]::String [id]::String [events]::Event [data]::Data [instances]::Instance [targets]::Target [stateFlow]::StateFlow
Junction ::= [_id]::String [id]::String [type]::String [position]::String [state]::State [chart]::Chart
Transition ::= [_id]::String [dataLimites]::String [id]::String [trigger]::String [condition]::String [conditionAction]::String [action]::String [chart]::Chart [state]::State
Event ::= [name]::String [id]::String [scope]::String [description]::String [trigger]::String [machine]::Machine [chart]::Chart [state]::State
Data ::=
[name]::String [id]::String [scope]::String [description]::String [units]::String [dataType]::String [props]::Props [state]::State [chart]::Chart [machine]::MachineInstance ::= [_id]::String [id]::String [name]::String [machine]::Machine
Target ::= [name]::String [id]::String [codeCommand]::String [description]::String [makeCommand]::String [codeFlags]::String [checksumOld]::String [machine]::Machine
Chart ::= [name]::String [id]::String [_id]::String [decomposotion]::String [updateMethode]::String [sampleTime]::String [junctions]::Junction [events]::Event [transitions]::Transition [data]::Data [states]::State
State ::= [name]::String [id]::String [_id]::String [type]::String [entryAction]::String [exitAction]::String [duringAction]::String [eventActions]::String [decomposition]::String [position]::String [junctions]::Junction [events]::Event [transitions]::Transition [data]::Data [chart]::Chart [states]::State
Props ::= [initialValue]::String [arrays]::Array [ranges]::Range [data]::Data
Range ::= [maximum]::String [minimum]::String [props]::Props
Array ::= [firstIndex]::String [size]::String [props]::Props
StateFlow ::=
[stateFlow]::String [machines]::Machine [simulink]::SimulinkTransitionTerminal ::= [_id]::String
Simulink ::= [simulink]::String [stateFlows]::StateFlow [models]::Model