1 //===- ScriptParser.h -------------------------------------------*- C++ -*-===//
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #ifndef LLD_ELF_SCRIPT_PARSER_H
11 #define LLD_ELF_SCRIPT_PARSER_H
13 #include "lld/Core/LLVM.h"
14 #include "llvm/ADT/StringRef.h"
15 #include "llvm/Support/MemoryBuffer.h"
22 class ScriptParserBase {
24 explicit ScriptParserBase(MemoryBufferRef MB);
26 void setError(const Twine &Msg);
27 void tokenize(MemoryBufferRef MB);
28 static StringRef skipSpace(StringRef S);
33 bool consume(StringRef Tok);
34 void expect(StringRef Expect);
35 std::string getCurrentLocation();
37 std::vector<MemoryBufferRef> MBs;
38 std::vector<StringRef> Tokens;
44 size_t getLineNumber();
45 size_t getColumnNumber();
47 MemoryBufferRef getCurrentMB();