blob: f040cb01fa55d316638377165778b19c29d4929f [file] [log] [blame]
alokp@chromium.org04d7d222012-05-16 19:24:07 +00001//
2// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5//
6
7#ifndef COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_
8#define COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_
9
10#include "pp_utils.h"
11
12namespace pp
13{
14
alokp@chromium.org2c958ee2012-05-17 20:35:42 +000015class Diagnostics;
alokp@chromium.org04d7d222012-05-16 19:24:07 +000016class Lexer;
17struct Token;
18
19class ExpressionParser
20{
21 public:
Zhenyao Mod526f982014-05-13 14:51:19 -070022 ExpressionParser(Lexer *lexer, Diagnostics *diagnostics);
alokp@chromium.org04d7d222012-05-16 19:24:07 +000023
Zhenyao Mod526f982014-05-13 14:51:19 -070024 bool parse(Token *token, int *result);
alokp@chromium.org04d7d222012-05-16 19:24:07 +000025
26 private:
27 PP_DISALLOW_COPY_AND_ASSIGN(ExpressionParser);
28
Zhenyao Mod526f982014-05-13 14:51:19 -070029 Lexer *mLexer;
30 Diagnostics *mDiagnostics;
alokp@chromium.org04d7d222012-05-16 19:24:07 +000031};
32
33} // namespace pp
34#endif // COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_