-//===-- llvm/assembly/Parser.h - Parser for VM assembly files ----*- C++ -*--=//
+//===-- llvm/Assembly/Parser.h - Parser for VM assembly files ----*- C++ -*--=//
//
-// These classes are implemented by the lib/AssemblyParser library.
+// These classes are implemented by the lib/AsmParser library.
//
//===----------------------------------------------------------------------===//
#include <string>
class Module;
-class ToolCommandLine;
class ParseException;
// The useful interface defined by this file... Parse an ascii file, and return
-// the internal representation in a nice slice'n'dice'able representation.
+// the internal representation in a nice slice'n'dice'able representation. Note
+// that this does not verify that the generated LLVM is valid, so you should run
+// the verifier after parsing the file to check that it's ok.
//
-Module *ParseAssemblyFile(const ToolCommandLine &Opts) throw (ParseException);
+Module *ParseAssemblyFile(const std::string &Filename);// throw (ParseException)
//===------------------------------------------------------------------------===
// Helper Classes
//
class ParseException {
public:
- ParseException(const ToolCommandLine &Opts, const string &message,
+ ParseException(const std::string &filename, const std::string &message,
int LineNo = -1, int ColNo = -1);
ParseException(const ParseException &E);
// getMessage - Return the message passed in at construction time plus extra
// information extracted from the options used to parse with...
//
- const string getMessage() const;
+ const std::string getMessage() const;
- inline const string getRawMessage() const { // Just the raw message...
+ inline const std::string &getRawMessage() const { // Just the raw message...
return Message;
}
- inline const ToolCommandLine &getOptions() const {
- return Opts; // Get the options obj used to parse.
+ inline const std::string &getFilename() const {
+ return Filename;
}
// getErrorLocation - Return the line and column number of the error in the
}
private :
- const ToolCommandLine &Opts;
- string Message;
+ std::string Filename;
+ std::string Message;
int LineNo, ColumnNo; // -1 if not relevant
ParseException &operator=(const ParseException &E); // objects by reference