blob: c26770745fc77bd62d53552846395cfcb70d3e12 [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
Geoff Lang197d5292018-04-25 14:29:00 -040012namespace angle
13{
14
alokp@chromium.org01fd4312012-03-30 21:33:30 +000015namespace pp
16{
17
alokp@chromium.orgd089d112012-04-13 17:05:12 +000018struct Token;
alokp@chromium.org01fd4312012-03-30 21:33:30 +000019
Corentin Wallez054f7ed2016-09-20 17:15:59 -040020class Lexer : angle::NonCopyable
alokp@chromium.org01fd4312012-03-30 21:33:30 +000021{
22 public:
alokp@chromium.org964b7192012-05-17 21:12:27 +000023 virtual ~Lexer();
24
Zhenyao Mod526f982014-05-13 14:51:19 -070025 virtual void lex(Token *token) = 0;
alokp@chromium.org01fd4312012-03-30 21:33:30 +000026};
27
28} // namespace pp
alokp@chromium.org01fd4312012-03-30 21:33:30 +000029
Geoff Lang197d5292018-04-25 14:29:00 -040030} // namespace angle
31
Geoff Lang0a73dd82014-11-19 16:18:08 -050032#endif // COMPILER_PREPROCESSOR_LEXER_H_