1 //===- llvm/TableGen/Parser.h - tblgen parser entry point -------*- C++ -*-===// 2 // 3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4 // See https://llvm.org/LICENSE.txt for license information. 5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6 // 7 //===----------------------------------------------------------------------===// 8 // 9 // This file declares an entry point into the tablegen parser for use by tools. 10 // 11 //===----------------------------------------------------------------------===// 12 13 #ifndef LLVM_TABLEGEN_PARSER_H 14 #define LLVM_TABLEGEN_PARSER_H 15 16 namespace llvm { 17 class RecordKeeper; 18 class SourceMgr; 19 20 /// Parse the TableGen file defined within the main buffer of the given 21 /// SourceMgr. On success, populates the provided RecordKeeper with the parsed 22 /// records and returns false. On failure, returns true. 23 /// 24 /// NOTE: TableGen currently relies on global state within a given parser 25 /// invocation, so this function is not thread-safe. 26 bool TableGenParseFile(SourceMgr &InputSrcMgr, RecordKeeper &Records); 27 28 } // end namespace llvm 29 30 #endif // LLVM_TABLEGEN_PARSER_H 31