blob: 092d059413b1b5ab3397d7150b594d4cf427e4eb [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:
alokp@chromium.org2c958ee2012-05-17 20:35:42 +000022 ExpressionParser(Lexer* lexer, Diagnostics* diagnostics);
alokp@chromium.org04d7d222012-05-16 19:24:07 +000023
24 bool parse(Token* token, int* result);
25
26 private:
27 PP_DISALLOW_COPY_AND_ASSIGN(ExpressionParser);
28
29 Lexer* mLexer;
alokp@chromium.org2c958ee2012-05-17 20:35:42 +000030 Diagnostics* mDiagnostics;
alokp@chromium.org04d7d222012-05-16 19:24:07 +000031};
32
33} // namespace pp
34#endif // COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_