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 #include "llvm/ADT/STLExtras.h" 17 #include <string> 18 #include <vector> 19 20 namespace llvm { 21 class RecordKeeper; 22 class SourceMgr; 23 24 /// Parse the TableGen file defined within the main buffer of the given 25 /// SourceMgr. On success, populates the provided RecordKeeper with the parsed 26 /// records and returns false. On failure, returns true. 27 /// 28 /// NOTE: TableGen currently relies on global state within a given parser 29 /// invocation, so this function is not thread-safe. 30 bool TableGenParseFile(SourceMgr &InputSrcMgr, RecordKeeper &Records); 31 32 } // end namespace llvm 33 34 #endif // LLVM_TABLEGEN_PARSER_H 35