blob: 775bc0a202afb5b6bf64201bfa5245932159f750 [file] [log] [blame]
alokp@chromium.org01fd4312012-03-30 21:33:30 +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_LEXER_H_
8#define COMPILER_PREPROCESSOR_LEXER_H_
9
Corentin Wallez054f7ed2016-09-20 17:15:59 -040010#include "common/angleutils.h"
11
alokp@chromium.org01fd4312012-03-30 21:33:30 +000012namespace pp
13{
14
alokp@chromium.orgd089d112012-04-13 17:05:12 +000015struct Token;
alokp@chromium.org01fd4312012-03-30 21:33:30 +000016
Corentin Wallez054f7ed2016-09-20 17:15:59 -040017class Lexer : angle::NonCopyable
alokp@chromium.org01fd4312012-03-30 21:33:30 +000018{
19 public:
alokp@chromium.org964b7192012-05-17 21:12:27 +000020 virtual ~Lexer();
21
Zhenyao Mod526f982014-05-13 14:51:19 -070022 virtual void lex(Token *token) = 0;
alokp@chromium.org01fd4312012-03-30 21:33:30 +000023};
24
25} // namespace pp
alokp@chromium.org01fd4312012-03-30 21:33:30 +000026
Geoff Lang0a73dd82014-11-19 16:18:08 -050027#endif // COMPILER_PREPROCESSOR_LEXER_H_