39 lines
1.2 KiB
Modula-2
39 lines
1.2 KiB
Modula-2
|
//===--- OperationKinds.def - Operations Database ---------------*- C++ -*-===//
|
||
|
//
|
||
|
// This file enumerates the different kinds of operations that can be
|
||
|
// performed by various expressions.
|
||
|
//
|
||
|
//===----------------------------------------------------------------------===//
|
||
|
//
|
||
|
/// @file OperationKinds.def
|
||
|
///
|
||
|
/// Macros had one or two arguments:
|
||
|
///
|
||
|
/// Name: The name of the operation. Name (prefixed with CK_, UO_ or BO_) will
|
||
|
/// be the name of the corresponding enumerator (see OperationsKinds.h).
|
||
|
///
|
||
|
/// Spelling: A string that provides a canonical spelling for the operation.
|
||
|
|
||
|
#ifndef BINARY_OPERATION
|
||
|
# define BINARY_OPERATION(Name, Spelling)
|
||
|
#endif
|
||
|
|
||
|
//===- Binary Operations -------------------------------------------------===//
|
||
|
// Operators listed in order of precedence.
|
||
|
// Note that additions to this should also update the StmtVisitor class.
|
||
|
|
||
|
BINARY_OPERATION(Mul, "*")
|
||
|
BINARY_OPERATION(Div, "/")
|
||
|
BINARY_OPERATION(Add, "+")
|
||
|
BINARY_OPERATION(Sub, "-")
|
||
|
// Relational operators.
|
||
|
BINARY_OPERATION(LT, "<")
|
||
|
BINARY_OPERATION(GT, ">")
|
||
|
BINARY_OPERATION(LE, "<=")
|
||
|
BINARY_OPERATION(GE, ">=")
|
||
|
// Equality operators.
|
||
|
BINARY_OPERATION(EQ, "=")
|
||
|
BINARY_OPERATION(NE, "!=")
|
||
|
|
||
|
#undef BINARY_OPERATION
|