Project

General

Profile

root / trunk / compiler / ooasCompiler / src / org / momut / ooas / ast / expressions / ExpressionKind.java @ 9

1
/**
2
  *
3
  *                      OOAS Compiler
4
  *
5
  *       Copyright 2015, AIT Austrian Institute of Technology.
6
  * This code is based on the C# Version of the OOAS Compiler, which is
7
  * copyright 2015 by the Institute of Software Technology, Graz University
8
  * of Technology with portions copyright by the AIT Austrian Institute of
9
  * Technology. All rights reserved.
10
  *
11
  * SEE THE "LICENSE" FILE FOR THE TERMS UNDER WHICH THIS FILE IS PROVIDED.
12
  *
13
  * If you modify the file please update the list of contributors below to in-
14
  * clude your name. Please also stick to the coding convention of using TABs
15
  * to do the basic (block-level) indentation and spaces for anything after
16
  * that. (Enable the display of special chars and it should be pretty obvious
17
  * what this means.) Also, remove all trailing whitespace.
18
  *
19
  * Contributors:
20
  *               Willibald Krenn (AIT)
21
  *               Stephan Zimmerer (AIT)
22
  *               Markus Demetz (AIT)
23
  *               Christoph Czurda (AIT)
24
  *
25
  */
26

    
27

    
28
package org.momut.ooas.ast.expressions;
29

    
30
public enum ExpressionKind
31
{
32
        /*tern.*/
33
        conditional(0),
34
        /*map binary*/
35
        domresby(1), domresto(2), rngresby(3), rngresto(4), munion(5),
36
        /*set/list binary*/
37
        conc(6), diff(7), inter(8), elemin(9), notelemin(10), subset(11), union(12),
38
        /*numeric binary*/
39
        div(13), greater(14), greaterequal(15), idiv(16), less(17), lessequal(18),
40
        minus(19), mod(20), pow(21), prod(22), sum(23),
41
        /*bool binary*/
42
        and(24), biimplies(25), implies(26), or(27),
43
        /*other binary*/
44
        equal(28), notequal(29), seqmod_mapoverride(30),
45
        /*map unary*/
46
        dom(31), range(32), merge(33),
47
        /*set/list unary*/
48
        card(34), dconc(35), dinter(36), dunion(37), elems(38), head(39),
49
        inds(40), len(41), tail(42),
50
        /*unary numberic*/
51
        unminus(43), unplus(44), not(45), abs(46),
52
        /*unary quantors*/
53
        forall(47), exists(48),
54
        /*Constructors*/
55
        ListConstr(49), SetConstr(50), MapConstr(51), TupleConstr(52), ObjectConstr(53),
56
        // QValConstr(54), -- no longer supported
57
        /* identifier */
58
        Identifier(55), UnresolvedIdentifier(56), Type(57),
59
        /* tuple access and method call */
60
        TupleMapAccess(58), Call(59),
61
        /* point operator */
62
        Access(60),
63
        /* primed */
64
        Primed(61),
65
        /* cast */
66
        Cast(62),
67
        /* fold */
68
        foldLR(63), foldRL(64),
69
        /* constant values */
70
        Value(65);
71

    
72
        public final int integerValue; // do not change, this is needed by the backends! i.e. public API
73

    
74
        private ExpressionKind(int val) {
75
                integerValue = val;
76
        }
77
}