Lines Matching defs:Parser
32 #define DEBUG_TYPE "mips-asm-parser"
64 MCTargetStreamer &TS = *Parser.getStreamer().getTargetStreamer();
69 MCAsmParser &Parser;
226 MipsAsmParser(MCSubtargetInfo &sti, MCAsmParser &parser,
228 : MCTargetAsmParser(), STI(sti), Parser(parser) {
244 MCAsmParser &getParser() const { return Parser; }
245 MCAsmLexer &getLexer() const { return Parser.getLexer(); }
340 MipsOperand(KindTy K, MipsAsmParser &Parser)
341 : MCParsedAsmOperand(), Kind(K), AsmParser(Parser) {}
385 MipsAsmParser &Parser) {
386 auto Op = make_unique<MipsOperand>(k_RegisterIndex, Parser);
542 llvm_unreachable("Use a custom parser instead");
724 MipsAsmParser &Parser) {
725 auto Op = make_unique<MipsOperand>(k_Token, Parser);
737 SMLoc E, MipsAsmParser &Parser) {
739 return CreateReg(Index, RegKind_Numeric, RegInfo, S, E, Parser);
746 MipsAsmParser &Parser) {
747 return CreateReg(Index, RegKind_GPR, RegInfo, S, E, Parser);
754 MipsAsmParser &Parser) {
755 return CreateReg(Index, RegKind_FGR, RegInfo, S, E, Parser);
762 MipsAsmParser &Parser) {
763 return CreateReg(Index, RegKind_FCC, RegInfo, S, E, Parser);
770 MipsAsmParser &Parser) {
771 return CreateReg(Index, RegKind_ACC, RegInfo, S, E, Parser);
778 SMLoc E, MipsAsmParser &Parser) {
779 return CreateReg(Index, RegKind_MSA128, RegInfo, S, E, Parser);
786 SMLoc E, MipsAsmParser &Parser) {
787 return CreateReg(Index, RegKind_MSACtrl, RegInfo, S, E, Parser);
791 CreateImm(const MCExpr *Val, SMLoc S, SMLoc E, MipsAsmParser &Parser) {
792 auto Op = make_unique<MipsOperand>(k_Immediate, Parser);
801 SMLoc E, MipsAsmParser &Parser) {
802 auto Op = make_unique<MipsOperand>(k_Memory, Parser);
1603 // Check if the current operand has a custom associated parser, if so, try to
1614 DEBUG(dbgs() << ".. Generic Parser\n");
1618 Error(Parser.getTok().getLoc(), "unexpected token in operand");
1622 SMLoc S = Parser.getTok().getLoc();
1634 if (Parser.parseIdentifier(Identifier))
1637 SMLoc E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
1660 SMLoc S = Parser.getTok().getLoc(); // Start location of the operand.
1664 SMLoc E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
1756 Parser.Lex(); // Eat the % token.
1757 const AsmToken &Tok = Parser.getTok(); // Get next token, operation.
1763 Parser.Lex(); // Eat the identifier.
1770 Parser.Lex(); // Eat the '(' token.
1772 Parser.Lex(); // Eat the % token.
1773 const AsmToken &nextTok = Parser.getTok();
1778 Parser.Lex(); // Eat the identifier.
1788 Parser.Lex(); // Eat the ')' token.
1828 Parser.Lex();
1843 Parser.Lex();
1859 S = Parser.getTok().getLoc();
1862 Parser.Lex();
1870 const AsmToken &Tok = Parser.getTok(); // Get the next token.
1875 SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
1881 Parser.getTok().getLoc().getPointer() - 1);
1891 Error(Parser.getTok().getLoc(), "'(' expected");
1895 Parser.Lex(); // Eat the '(' token.
1902 if (Parser.getTok().isNot(AsmToken::RParen)) {
1903 Error(Parser.getTok().getLoc(), "')' expected");
1907 SMLoc E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
1909 Parser.Lex(); // Eat the ')' token.
1936 MCSymbol *Sym = getContext().LookupSymbol(Parser.getTok().getIdentifier());
1938 SMLoc S = Parser.getTok().getLoc();
1951 Parser.Lex();
1958 Parser.Lex();
1961 MipsOperand::CreateImm(Const, S, Parser.getTok().getLoc(), *this));
2019 auto Token = Parser.getLexer().peekTok(false);
2035 DEBUG(dbgs() << Parser.getTok().getKind() << "\n");
2044 auto Token = Parser.getTok();
2061 Parser.Lex(); // $
2062 Parser.Lex(); // identifier
2082 SMLoc S = Parser.getTok().getLoc();
2086 SMLoc E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
2108 if (Parser.parseExpression(Expr)) {
2121 if (Parser.getTok().is(AsmToken::Dollar))
2123 SMLoc S = Parser.getTok().getLoc();
2129 SMLoc E = SMLoc::getFromPointer(Parser.getTok().getLoc().getPointer() - 1);
2148 SMLoc S = Parser.getTok().getLoc();
2170 MipsOperand::CreateImm(Expr, S, Parser.getTok().getLoc(), *this));
2219 Parser.Lex();
2222 Parser.eatToEndOfStatement();
2225 if (Parser.getTok().isNot(AsmToken::RParen)) {
2227 Parser.eatToEndOfStatement();
2232 Parser.Lex();
2248 Parser.Lex();
2251 Parser.eatToEndOfStatement();
2254 if (Parser.getTok().isNot(AsmToken::RBrac)) {
2256 Parser.eatToEndOfStatement();
2261 Parser.Lex();
2274 Parser.eatToEndOfStatement();
2285 Parser.eatToEndOfStatement();
2293 Parser.Lex(); // Eat the comma.
2297 Parser.eatToEndOfStatement();
2311 Parser.eatToEndOfStatement();
2314 Parser.Lex(); // Consume the EndOfStatement.
2320 Parser.eatToEndOfStatement();
2333 Parser.Lex();
2339 Parser.Lex(); // Consume the EndOfStatement.
2350 Parser.Lex(); // Consume the EndOfStatement.
2358 Parser.Lex(); // Eat the '$'.
2359 const AsmToken &Reg = Parser.getTok();
2384 Parser.Lex(); // Consume the EndOfStatement.
2393 Parser.Lex();
2401 Parser.Lex(); // Consume the EndOfStatement.
2406 Parser.Lex();
2414 Parser.Lex(); // Consume the EndOfStatement.
2419 Parser.Lex();
2426 Parser.Lex(); // Consume the EndOfStatement.
2431 Parser.Lex();
2442 Parser.Lex(); // Consume the EndOfStatement.
2447 Parser.Lex();
2454 Parser.Lex(); // Consume the EndOfStatement.
2463 Parser.Lex(); // Eat fp token
2464 AsmToken Tok = Parser.getTok();
2469 Parser.Lex(); // Eat '=' token.
2470 Tok = Parser.getTok();
2480 Parser.Lex(); // Consume the EndOfStatement.
2488 if (Parser.parseIdentifier(Name))
2495 if (Parser.parseExpression(Value))
2509 Parser.Lex();
2545 Parser.eatToEndOfStatement();
2549 Parser.Lex(); // Eat the comma.
2585 Parser.eatToEndOfStatement();
2592 Parser.eatToEndOfStatement();
2604 const AsmToken &Tok = Parser.getTok();
2608 Parser.Lex();
2611 Parser.eatToEndOfStatement();
2618 Parser.eatToEndOfStatement();
2628 if (Parser.parseIdentifier(Name))
2638 const AsmToken &Tok = Parser.getTok();
2641 Parser.Lex();
2645 Parser.Lex();
2659 const AsmToken &Tok = Parser.getTok();
2681 Parser.eatToEndOfStatement();
2719 Parser.Lex();
2723 Parser.Lex();
2739 Parser.Lex(); // Eat EndOfStatement token.
2755 Parser.Lex(); // Eat EndOfStatement token.
2761 AsmToken Tok = Parser.getTok();
2764 Error(Parser.getTok().getLoc(), "unexpected token in .option directive");
2765 Parser.eatToEndOfStatement();
2773 Parser.Lex();
2774 if (Parser.getTok().isNot(AsmToken::EndOfStatement)) {
2775 Error(Parser.getTok().getLoc(),
2777 Parser.eatToEndOfStatement();
2784 Parser.Lex();
2785 if (Parser.getTok().isNot(AsmToken::EndOfStatement)) {
2786 Error(Parser.getTok().getLoc(),
2788 Parser.eatToEndOfStatement();
2794 Warning(Parser.getTok().getLoc(), "unknown option in .option directive");
2795 Parser.eatToEndOfStatement();
2814 StringRef Option = Parser.getTok().getString();
2815 Parser.Lex();
2863 Parser.Lex(); // Eat '=' token.
2876 Parser.Lex(); // Consume the EndOfStatement.
2885 StringRef Value = Parser.getTok().getString();
2886 Parser.Lex();
2903 unsigned Value = Parser.getTok().getIntVal();
2904 Parser.Lex();
2939 Parser.Lex();
2945 Parser.Lex();
2951 Parser.eatToEndOfStatement();
2961 Parser.eatToEndOfStatement();
2967 Parser.eatToEndOfStatement();
2994 if (Parser.getTok().isNot(AsmToken::EndOfStatement)) {
2995 Error(Parser.getTok().getLoc(), "unexpected token in directive");
2997 Parser.eatToEndOfStatement();