| import ecore : 'http://www.eclipse.org/emf/2002/Ecore'; |
| |
| transformation Expressions { |
| check source imports ecore; |
| enforce target imports ecore; |
| middle imports ecore; |
| } |
| |
| map expressionsLM in Expressions { |
| in:source dummy:EPackage; |
| call expressionsMR { |
| binaryPrecedence uses (1 + 2) * (3*5 + 4); |
| unaryPrecedence uses -1 * - -1; |
| notPrecedence uses not not (4 = 5); |
| } |
| } |
| |
| map expressionsMR in Expressions { |
| in:middle binaryPrecedence:OclAny; |
| in:middle unaryPrecedence:OclAny; |
| in:middle notPrecedence:OclAny; |
| } |
| |
| map expressionsDomains in Expressions { |
| var s : Integer := 0; |
| var t : Integer := 0; |
| var m : Integer := 0; |
| var s_1 : Integer := m; |
| var s_2 : Integer := t; |
| var t_1 : Integer := s; |
| var t_2 : Integer := m; |
| var m_1 : Integer := s; |
| var m_2 : Integer := t; |
| } |