|
clang
5.0.0
|
Provides the Expression parsing implementation. More...
#include "clang/Parse/Parser.h"#include "clang/AST/ASTContext.h"#include "clang/Basic/PrettyStackTrace.h"#include "clang/Parse/RAIIObjectsForParser.h"#include "clang/Sema/DeclSpec.h"#include "clang/Sema/ParsedTemplate.h"#include "clang/Sema/Scope.h"#include "clang/Sema/TypoCorrection.h"#include "llvm/ADT/SmallVector.h"#include "clang/Basic/OpenCLImageTypes.def"#include "clang/Basic/TokenKinds.def"Go to the source code of this file.
Macros | |
| #define | RTT_JOIN(X, Y) X##Y |
| #define | REVERTIBLE_TYPE_TRAIT(Name) |
| #define | GENERIC_IMAGE_TYPE(ImgType, Id) case tok::kw_##ImgType##_t: |
| #define | TYPE_TRAIT(N, Spelling, K) case tok::kw_##Spelling: |
Functions | |
| static bool | isFoldOperator (prec::Level Level) |
| static bool | isFoldOperator (tok::TokenKind Kind) |
| static bool | CheckAvailabilitySpecList (Parser &P, ArrayRef< AvailabilitySpec > AvailSpecs) |
| Validate availability spec list, emitting diagnostics if necessary. More... | |
Provides the Expression parsing implementation.
Expressions in C99 basically consist of a bunch of binary operators with unary operators and other random stuff at the leaves.
In the C99 grammar, these unary operators bind tightest and are represented as the 'cast-expression' production. Everything else is either a binary operator (e.g. '/') or a ternary operator ("?:"). The unary leaves are handled by ParseCastExpression, the higher level pieces are handled by ParseBinaryExpression.
Definition in file ParseExpr.cpp.
| #define GENERIC_IMAGE_TYPE | ( | ImgType, | |
| Id | |||
| ) | case tok::kw_##ImgType##_t: |
| #define REVERTIBLE_TYPE_TRAIT | ( | Name | ) |
| #define TYPE_TRAIT | ( | N, | |
| Spelling, | |||
| K | |||
| ) | case tok::kw_##Spelling: |
|
static |
Validate availability spec list, emitting diagnostics if necessary.
Returns true if invalid.
Definition at line 2986 of file ParseExpr.cpp.
References clang::FixItHint::CreateInsertion(), and clang::Parser::Diag().
|
static |
Definition at line 269 of file ParseExpr.cpp.
References clang::prec::Conditional, and clang::prec::Unknown.
Referenced by isFoldOperator().
|
static |
Definition at line 272 of file ParseExpr.cpp.
References clang::getBinOpPrecedence(), and isFoldOperator().
1.8.6