Path: blob/main_old/src/compiler/preprocessor/ExpressionParser.h
1693 views
//1// Copyright 2012 The ANGLE Project Authors. All rights reserved.2// Use of this source code is governed by a BSD-style license that can be3// found in the LICENSE file.4//56#ifndef COMPILER_PREPROCESSOR_EXPRESSIONPARSER_H_7#define COMPILER_PREPROCESSOR_EXPRESSIONPARSER_H_89#include "common/angleutils.h"10#include "compiler/preprocessor/DiagnosticsBase.h"1112namespace angle13{1415namespace pp16{1718class Lexer;19struct Token;2021class ExpressionParser : angle::NonCopyable22{23public:24struct ErrorSettings25{26Diagnostics::ID unexpectedIdentifier;27bool integerLiteralsMustFit32BitSignedRange;28};2930ExpressionParser(Lexer *lexer, Diagnostics *diagnostics);3132bool parse(Token *token,33int *result,34bool parsePresetToken,35const ErrorSettings &errorSettings,36bool *valid);3738private:39Lexer *mLexer;40Diagnostics *mDiagnostics;41};4243} // namespace pp4445} // namespace angle4647#endif // COMPILER_PREPROCESSOR_EXPRESSIONPARSER_H_484950