blob: 66e1a9b42f5b20f7e694c8cbf65f3434a52d2eb6 [file] [log] [blame]
Chris Lattner27aa7d22009-06-21 20:16:42 +00001//===- AsmParser.h - Parser for Assembly Files ------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This class declares the parser for assembly files.
11//
12//===----------------------------------------------------------------------===//
13
14#ifndef ASMPARSER_H
15#define ASMPARSER_H
16
17#include "AsmLexer.h"
18
19namespace llvm {
20
21class AsmParser {
22 AsmLexer Lexer;
23
24public:
25 AsmParser(SourceMgr &SM) : Lexer(SM) {}
26 ~AsmParser() {}
27
28 bool Run();
29
Chris Lattnerb0789ed2009-06-21 20:54:55 +000030private:
31 bool ParseStatement();
32
Chris Lattner14ee48a2009-06-21 21:22:11 +000033 bool Error(SMLoc L, const char *Msg);
34 bool TokError(const char *Msg);
Chris Lattner27aa7d22009-06-21 20:16:42 +000035};
36
37} // end namespace llvm
38
39#endif