Model logo

This model description is not a real EMF artifact. It was generated by the
org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's
code generator can be extended.
This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.

Package logo <http://openembedd.org/logo.ecore>

  Class Instruction
    Reference previous : Instruction
    Reference next : Instruction

  Class Primitive -> Instruction

  Class Back -> Primitive
    Reference steps : Expression<<1..1>>

  Class Forward -> Primitive
    Reference steps : Expression<<1..1>>

  Class Left -> Primitive
    Reference angle : Expression

  Class Right -> Primitive
    Reference angle : Expression

  Class PenDown -> Primitive

  Class PenUp -> Primitive

  Class Clear -> Primitive

  Class Expression -> Instruction
    Operation parseExpression() : EString<<1..1>>

  Class BinaryExp -> Expression
    Reference lhs : Expression<<1..1>>
    Reference rhs : Expression<<1..1>>
    Operation getExpressionSymbol() : EString<<1..1>>

  Class Constant -> Expression
    Attribute integerValue : EInt

  Class ProcCall -> Expression
    Reference actualArgs : Expression<<0..*>>
    Reference declaration : ProcDeclaration<<1..1>>

  Class ProcDeclaration -> Instruction
    Attribute name : EString
    Reference args : Parameter<<0..*>>
    Reference block : Block
    Reference procCall : ProcCall<<0..*>>

  Class Block -> Instruction
    Reference instructions : Instruction<<0..*>>

  Class If -> ControlStructure
    Reference thenPart : Block<<1..1>>
    Reference elsePart : Block

  Class ControlStructure -> Instruction
    Reference condition : Expression

  Class Repeat -> ControlStructure
    Reference block : Block<<1..1>>

  Class While -> ControlStructure
    Reference block : Block<<1..1>>

  Class Parameter
    Attribute name : EString<<1..1>>

  Class ParameterCall -> Expression
    Reference parameter : Parameter<<1..1>>

  Class Plus -> BinaryExp

  Class Minus -> BinaryExp

  Class Mult -> BinaryExp

  Class Div -> BinaryExp

  Class Equals -> BinaryExp

  Class Greater -> BinaryExp

  Class Lower -> BinaryExp
