-- @atlcompiler emftvm -- @nsURI EMFTVM=http://soft.vub.ac.be/emftvm/2011/EMFTVM -- Generated by: EModelCopyGenerator.atl 7948 2010-01-31 11:48:43Z dwagelaa -- $Id$ module EMFTVMCopy; create OUT : EMFTVM from IN : EMFTVM; rule ExecEnv { from s : EMFTVM!"emftvm::ExecEnv" in IN to t : EMFTVM!"emftvm::ExecEnv" } rule Model { from s : EMFTVM!"emftvm::Model" in IN (s.oclIsTypeOf(EMFTVM!"emftvm::Model")) to t : EMFTVM!"emftvm::Model" ( resource <- s.resource, allowInterModelReferences <- s.allowInterModelReferences) } rule Metamodel { from s : EMFTVM!"emftvm::Metamodel" in IN to t : EMFTVM!"emftvm::Metamodel" ( resource <- s.resource, allowInterModelReferences <- s.allowInterModelReferences) } rule Module { from s : EMFTVM!"emftvm::Module" in IN to t : EMFTVM!"emftvm::Module" ( name <- s.name, sourceName <- s.sourceName, imports <- s.imports, features <- s.features, rules <- s.rules, eImports <- s.eImports, inputModels <- s.inputModels, inoutModels <- s.inoutModels, outputModels <- s.outputModels) } rule ModelDeclaration { from s : EMFTVM!"emftvm::ModelDeclaration" in IN to t : EMFTVM!"emftvm::ModelDeclaration" ( modelName <- s.modelName, metaModelName <- s.metaModelName) } rule Field { from s : EMFTVM!"emftvm::Field" in IN to t : EMFTVM!"emftvm::Field" ( name <- s.name, type <- s.type, typeModel <- s.typeModel, static <- s.static, "context" <- s."context", contextModel <- s.contextModel, staticValue <- s.staticValue, eType <- s.eType, eContext <- s.eContext, initialiser <- s.initialiser) } rule Operation { from s : EMFTVM!"emftvm::Operation" in IN to t : EMFTVM!"emftvm::Operation" ( name <- s.name, type <- s.type, typeModel <- s.typeModel, static <- s.static, "context" <- s."context", contextModel <- s.contextModel, "query" <- s."query", eType <- s.eType, eContext <- s.eContext, parameters <- s.parameters, body <- s.body) } rule Parameter { from s : EMFTVM!"emftvm::Parameter" in IN to t : EMFTVM!"emftvm::Parameter" ( name <- s.name, type <- s.type, typeModel <- s.typeModel, eType <- s.eType) } rule LineNumber { from s : EMFTVM!"emftvm::LineNumber" in IN to t : EMFTVM!"emftvm::LineNumber" ( startLine <- s.startLine, startColumn <- s.startColumn, endLine <- s.endLine, endColumn <- s.endColumn, startChar <- s.startChar, endChar <- s.endChar, instructions <- s.instructions) } rule LocalVariable { from s : EMFTVM!"emftvm::LocalVariable" in IN to t : EMFTVM!"emftvm::LocalVariable" ( name <- s.name, type <- s.type, typeModel <- s.typeModel, slot <- s.slot, startInstruction <- s.startInstruction, endInstruction <- s.endInstruction) } rule Rule { from s : EMFTVM!"emftvm::Rule" in IN to t : EMFTVM!"emftvm::Rule" ( name <- s.name, mode <- s.mode, superRules <- s.superRules, "abstract" <- s."abstract", default <- s.default, distinctElements <- s.distinctElements, inputElements <- s.inputElements, outputElements <- s.outputElements, eSuperRules <- s.eSuperRules, eSubRules <- s.eSubRules, matcher <- s.matcher, applier <- s.applier, postApply <- s.postApply, fields <- s.fields) } rule InputRuleElement { from s : EMFTVM!"emftvm::InputRuleElement" in IN to t : EMFTVM!"emftvm::InputRuleElement" ( name <- s.name, type <- s.type, typeModel <- s.typeModel, models <- s.models, binding <- s.binding) } rule OutputRuleElement { from s : EMFTVM!"emftvm::OutputRuleElement" in IN to t : EMFTVM!"emftvm::OutputRuleElement" ( name <- s.name, type <- s.type, typeModel <- s.typeModel, models <- s.models, "mapsTo" <- s."mapsTo") } rule CodeBlock { from s : EMFTVM!"emftvm::CodeBlock" in IN to t : EMFTVM!"emftvm::CodeBlock" ( maxLocals <- s.maxLocals, maxStack <- s.maxStack, parentFrame <- s.parentFrame, code <- s.code, lineNumbers <- s.lineNumbers, localVariables <- s.localVariables, nested <- s.nested) } rule Push { from s : EMFTVM!"emftvm::Push" in IN to t : EMFTVM!"emftvm::Push" ( value <- s.value) } rule Pusht { from s : EMFTVM!"emftvm::Pusht" in IN to t : EMFTVM!"emftvm::Pusht" } rule Pushf { from s : EMFTVM!"emftvm::Pushf" in IN to t : EMFTVM!"emftvm::Pushf" } rule Pop { from s : EMFTVM!"emftvm::Pop" in IN to t : EMFTVM!"emftvm::Pop" } rule Load { from s : EMFTVM!"emftvm::Load" in IN to t : EMFTVM!"emftvm::Load" ( localVariable <- s.localVariable) } rule Store { from s : EMFTVM!"emftvm::Store" in IN to t : EMFTVM!"emftvm::Store" ( localVariable <- s.localVariable) } rule "Set" { from s : EMFTVM!"emftvm::Set" in IN to t : EMFTVM!"emftvm::Set" ( fieldname <- s.fieldname) } rule Get { from s : EMFTVM!"emftvm::Get" in IN to t : EMFTVM!"emftvm::Get" ( fieldname <- s.fieldname) } rule Get_trans { from s : EMFTVM!"emftvm::Get_trans" in IN to t : EMFTVM!"emftvm::Get_trans" ( fieldname <- s.fieldname) } rule Set_static { from s : EMFTVM!"emftvm::Set_static" in IN to t : EMFTVM!"emftvm::Set_static" ( fieldname <- s.fieldname) } rule Get_static { from s : EMFTVM!"emftvm::Get_static" in IN to t : EMFTVM!"emftvm::Get_static" ( fieldname <- s.fieldname) } rule Findtype { from s : EMFTVM!"emftvm::Findtype" in IN to t : EMFTVM!"emftvm::Findtype" ( modelname <- s.modelname, typename <- s.typename) } rule Findtype_s { from s : EMFTVM!"emftvm::Findtype_s" in IN to t : EMFTVM!"emftvm::Findtype_s" } rule New { from s : EMFTVM!"emftvm::New" in IN to t : EMFTVM!"emftvm::New" ( modelname <- s.modelname) } rule New_s { from s : EMFTVM!"emftvm::New_s" in IN to t : EMFTVM!"emftvm::New_s" } rule Delete { from s : EMFTVM!"emftvm::Delete" in IN to t : EMFTVM!"emftvm::Delete" } rule Dup { from s : EMFTVM!"emftvm::Dup" in IN to t : EMFTVM!"emftvm::Dup" } rule Dup_x1 { from s : EMFTVM!"emftvm::Dup_x1" in IN to t : EMFTVM!"emftvm::Dup_x1" } rule Swap { from s : EMFTVM!"emftvm::Swap" in IN to t : EMFTVM!"emftvm::Swap" } rule Swap_x1 { from s : EMFTVM!"emftvm::Swap_x1" in IN to t : EMFTVM!"emftvm::Swap_x1" } rule If { from s : EMFTVM!"emftvm::If" in IN to t : EMFTVM!"emftvm::If" ( offset <- s.offset, target <- s.target) } rule Ifn { from s : EMFTVM!"emftvm::Ifn" in IN to t : EMFTVM!"emftvm::Ifn" ( offset <- s.offset, target <- s.target) } rule Goto { from s : EMFTVM!"emftvm::Goto" in IN to t : EMFTVM!"emftvm::Goto" ( target <- s.target) } rule Iterate { from s : EMFTVM!"emftvm::Iterate" in IN to t : EMFTVM!"emftvm::Iterate" ( target <- s.target) } rule Enditerate { from s : EMFTVM!"emftvm::Enditerate" in IN to t : EMFTVM!"emftvm::Enditerate" ( target <- s.target) } rule Invoke { from s : EMFTVM!"emftvm::Invoke" in IN to t : EMFTVM!"emftvm::Invoke" ( argcount <- s.argcount, opname <- s.opname) } rule Invoke_super { from s : EMFTVM!"emftvm::Invoke_super" in IN to t : EMFTVM!"emftvm::Invoke_super" ( argcount <- s.argcount, opname <- s.opname) } rule Invoke_static { from s : EMFTVM!"emftvm::Invoke_static" in IN to t : EMFTVM!"emftvm::Invoke_static" ( argcount <- s.argcount, opname <- s.opname) } rule Allinst { from s : EMFTVM!"emftvm::Allinst" in IN to t : EMFTVM!"emftvm::Allinst" } rule Allinst_in { from s : EMFTVM!"emftvm::Allinst_in" in IN to t : EMFTVM!"emftvm::Allinst_in" } rule Isnull { from s : EMFTVM!"emftvm::Isnull" in IN to t : EMFTVM!"emftvm::Isnull" } rule Getenvtype { from s : EMFTVM!"emftvm::Getenvtype" in IN to t : EMFTVM!"emftvm::Getenvtype" } rule Not { from s : EMFTVM!"emftvm::Not" in IN to t : EMFTVM!"emftvm::Not" } rule And { from s : EMFTVM!"emftvm::And" in IN to t : EMFTVM!"emftvm::And" ( codeBlock <- s.codeBlock) } rule Or { from s : EMFTVM!"emftvm::Or" in IN to t : EMFTVM!"emftvm::Or" ( codeBlock <- s.codeBlock) } rule Xor { from s : EMFTVM!"emftvm::Xor" in IN to t : EMFTVM!"emftvm::Xor" } rule Implies { from s : EMFTVM!"emftvm::Implies" in IN to t : EMFTVM!"emftvm::Implies" ( codeBlock <- s.codeBlock) } rule Ifte { from s : EMFTVM!"emftvm::Ifte" in IN to t : EMFTVM!"emftvm::Ifte" ( thenCb <- s.thenCb, elseCb <- s.elseCb) } rule Return { from s : EMFTVM!"emftvm::Return" in IN to t : EMFTVM!"emftvm::Return" } rule Getcb { from s : EMFTVM!"emftvm::Getcb" in IN to t : EMFTVM!"emftvm::Getcb" ( codeBlock <- s.codeBlock) } rule Invoke_all_cbs { from s : EMFTVM!"emftvm::Invoke_all_cbs" in IN to t : EMFTVM!"emftvm::Invoke_all_cbs" ( argcount <- s.argcount) } rule Invoke_cb { from s : EMFTVM!"emftvm::Invoke_cb" in IN to t : EMFTVM!"emftvm::Invoke_cb" ( argcount <- s.argcount, codeBlock <- s.codeBlock) } rule Invoke_cb_s { from s : EMFTVM!"emftvm::Invoke_cb_s" in IN to t : EMFTVM!"emftvm::Invoke_cb_s" ( argcount <- s.argcount) } rule Match { from s : EMFTVM!"emftvm::Match" in IN to t : EMFTVM!"emftvm::Match" ( rulename <- s.rulename) } rule Match_s { from s : EMFTVM!"emftvm::Match_s" in IN to t : EMFTVM!"emftvm::Match_s" } rule Add { from s : EMFTVM!"emftvm::Add" in IN to t : EMFTVM!"emftvm::Add" ( fieldname <- s.fieldname) } rule Remove { from s : EMFTVM!"emftvm::Remove" in IN to t : EMFTVM!"emftvm::Remove" ( fieldname <- s.fieldname) } rule Insert { from s : EMFTVM!"emftvm::Insert" in IN to t : EMFTVM!"emftvm::Insert" ( fieldname <- s.fieldname) }