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
12enum 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)
67