diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2009-07-28 22:22:31 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2009-07-28 22:22:31 +0000 |
| commit | c43267a4725b643fd1763306af3bd33a01e9fe0e (patch) | |
| tree | d5bd4ca6bafc1a81b2b82f4593ee41a6ddcdb885 /llvm/tools/llvm-mc | |
| parent | 6adb6e07ce1f7c30ac2ff064a375fb96806f16fa (diff) | |
| download | bcm5719-llvm-c43267a4725b643fd1763306af3bd33a01e9fe0e.tar.gz bcm5719-llvm-c43267a4725b643fd1763306af3bd33a01e9fe0e.zip | |
Make expression parsing and error/warning reporting available through the
generic MCAsmParser interface.
llvm-svn: 77381
Diffstat (limited to 'llvm/tools/llvm-mc')
| -rw-r--r-- | llvm/tools/llvm-mc/AsmParser.h | 39 |
1 files changed, 15 insertions, 24 deletions
diff --git a/llvm/tools/llvm-mc/AsmParser.h b/llvm/tools/llvm-mc/AsmParser.h index 253bb8ba3db..e59e85ceb57 100644 --- a/llvm/tools/llvm-mc/AsmParser.h +++ b/llvm/tools/llvm-mc/AsmParser.h @@ -48,41 +48,32 @@ public: TargetAsmParser &getTargetParser() const { return *TargetParser; } void setTargetParser(TargetAsmParser &P) { TargetParser = &P; } + /// @name MCAsmParser Interface + /// { + virtual MCAsmLexer &getLexer() { return Lexer; } + virtual void Warning(SMLoc L, const Twine &Meg); + + virtual bool Error(SMLoc L, const Twine &Msg); + + virtual bool ParseExpression(AsmExpr *&Res); + + virtual bool ParseAbsoluteExpression(int64_t &Res); + + virtual bool ParseRelocatableExpression(MCValue &Res); + + /// } + private: bool ParseStatement(); - void Warning(SMLoc L, const Twine &Msg); - bool Error(SMLoc L, const Twine &Msg); bool TokError(const char *Msg); void EatToEndOfStatement(); bool ParseAssignment(const StringRef &Name, bool IsDotSet); - /// ParseExpression - Parse a general assembly expression. - /// - /// @param Res - The resulting expression. The pointer value is null on error. - /// @result - False on success. - bool ParseExpression(AsmExpr *&Res); - - /// ParseAbsoluteExpression - Parse an expression which must evaluate to an - /// absolute value. - /// - /// @param Res - The value of the absolute expression. The result is undefined - /// on error. - /// @result - False on success. - bool ParseAbsoluteExpression(int64_t &Res); - - /// ParseRelocatableExpression - Parse an expression which must be - /// relocatable. - /// - /// @param Res - The relocatable expression value. The result is undefined on - /// error. - /// @result - False on success. - bool ParseRelocatableExpression(MCValue &Res); - /// ParseParenRelocatableExpression - Parse an expression which must be /// relocatable, assuming that an initial '(' has already been consumed. /// |

