root / trunk / compiler / ooasCompiler / src / org / momut / ooas / ast / expressions / ExpressionKind.java @ 7
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), QValConstr(54), |
56 |
/* identifier */
|
57 |
Identifier(55), UnresolvedIdentifier(56), Type(57), |
58 |
/* tuple access and method call */
|
59 |
TupleMapAccess(58), Call(59), |
60 |
/* point operator */
|
61 |
Access(60),
|
62 |
/* primed */
|
63 |
Primed(61),
|
64 |
/* cast */
|
65 |
Cast(62),
|
66 |
/* fold */
|
67 |
foldLR(63), foldRL(64), |
68 |
/* constant values */
|
69 |
Value(65);
|
70 |
|
71 |
public final int integerValue; // do not change, this is needed by the backends! i.e. public API |
72 |
|
73 |
private ExpressionKind(int val) { |
74 |
integerValue = val; |
75 |
} |
76 |
} |