101fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org//
201fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
301fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org// Use of this source code is governed by a BSD-style license that can be
401fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org// found in the LICENSE file.
501fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org//
601fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org
701fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org#ifndef COMPILER_PREPROCESSOR_LEXER_H_
801fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org#define COMPILER_PREPROCESSOR_LEXER_H_
901fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org
1001fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.orgnamespace pp
1101fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org{
1201fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org
13d089d11864ccba3a6730085c1099ad7edef1180calokp@chromium.orgstruct Token;
1401fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org
1501fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.orgclass Lexer
1601fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org{
1701fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org  public:
18964b7194a38a2b04e2b483dc5a8c12426b1a202falokp@chromium.org    virtual ~Lexer();
19964b7194a38a2b04e2b483dc5a8c12426b1a202falokp@chromium.org
20d526f9895c0aa867adb74a78e53832a9240c6ad6Zhenyao Mo    virtual void lex(Token *token) = 0;
2101fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org};
2201fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org
2301fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org}  // namespace pp
244b2a522a3103768fa244d07644f3e201bd30ff9dalokp@chromium.org#endif  // COMPILER_PREPROCESSOR_LEXER_H_
2501fd431caedd5914014bc0945330bd130c1c8895alokp@chromium.org
26