//
// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//

#ifndef COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_
#define COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_

#include "pp_utils.h"

namespace pp
{

class Diagnostics;
class Lexer;
struct Token;

class ExpressionParser
{
  public:
    ExpressionParser(Lexer* lexer, Diagnostics* diagnostics);

    bool parse(Token* token, int* result);

  private:
    PP_DISALLOW_COPY_AND_ASSIGN(ExpressionParser);

    Lexer* mLexer;
    Diagnostics* mDiagnostics;
};

}  // namespace pp
#endif  // COMPILER_PREPROCESSOR_EXPRESSION_PARSER_H_
