operator.h 1.5 KB

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