111
|
1 // operator.h -- Go frontend operators. -*- C++ -*-
|
|
2
|
|
3 // Copyright 2009 The Go Authors. All rights reserved.
|
|
4 // Use of this source code is governed by a BSD-style
|
|
5 // license that can be found in the LICENSE file.
|
|
6
|
|
7 #ifndef GO_OPERATOR_H
|
|
8 #define GO_OPERATOR_H
|
|
9
|
|
10 // The operators.
|
|
11
|
|
12 enum Operator
|
|
13 {
|
|
14 OPERATOR_INVALID,
|
|
15 OPERATOR_OROR, // ||
|
|
16 OPERATOR_ANDAND, // &&
|
|
17 OPERATOR_EQEQ, // ==
|
|
18 OPERATOR_NOTEQ, // !=
|
|
19 OPERATOR_LT, // <
|
|
20 OPERATOR_LE, // <=
|
|
21 OPERATOR_GT, // >
|
|
22 OPERATOR_GE, // >=
|
|
23 OPERATOR_PLUS, // +
|
|
24 OPERATOR_MINUS, // -
|
|
25 OPERATOR_OR, // |
|
|
26 OPERATOR_XOR, // ^
|
|
27 OPERATOR_MULT, // *
|
|
28 OPERATOR_DIV, // /
|
|
29 OPERATOR_MOD, // %
|
|
30 OPERATOR_LSHIFT, // <<
|
|
31 OPERATOR_RSHIFT, // >>
|
|
32 OPERATOR_AND, // &
|
|
33 OPERATOR_NOT, // !
|
|
34 OPERATOR_BITCLEAR, // &^
|
|
35 OPERATOR_CHANOP, // <-
|
|
36
|
|
37 OPERATOR_EQ, // =
|
|
38 OPERATOR_PLUSEQ, // +=
|
|
39 OPERATOR_MINUSEQ, // -=
|
|
40 OPERATOR_OREQ, // |=
|
|
41 OPERATOR_XOREQ, // ^=
|
|
42 OPERATOR_MULTEQ, // *=
|
|
43 OPERATOR_DIVEQ, // /=
|
|
44 OPERATOR_MODEQ, // %=
|
|
45 OPERATOR_LSHIFTEQ, // <<=
|
|
46 OPERATOR_RSHIFTEQ, // >>=
|
|
47 OPERATOR_ANDEQ, // &=
|
|
48 OPERATOR_BITCLEAREQ, // &^=
|
|
49 OPERATOR_PLUSPLUS, // ++
|
|
50 OPERATOR_MINUSMINUS, // --
|
|
51
|
|
52 OPERATOR_COLON, // :
|
|
53 OPERATOR_COLONEQ, // :=
|
|
54 OPERATOR_SEMICOLON, // ;
|
|
55 OPERATOR_DOT, // .
|
|
56 OPERATOR_ELLIPSIS, // ...
|
|
57 OPERATOR_COMMA, // ,
|
|
58 OPERATOR_LPAREN, // (
|
|
59 OPERATOR_RPAREN, // )
|
|
60 OPERATOR_LCURLY, // {
|
|
61 OPERATOR_RCURLY, // }
|
|
62 OPERATOR_LSQUARE, // [
|
|
63 OPERATOR_RSQUARE // ]
|
|
64 };
|
|
65
|
|
66 #endif // !defined(GO_OPERATOR_H)
|