Lines Matching refs:RemainingExpr
46 StringRef RemainingExpr; in evaluate() local
48 std::tie(LHSResult, RemainingExpr) = in evaluate()
52 if (RemainingExpr != "") in evaluate()
53 return handleError(Expr, unexpectedToken(RemainingExpr, LHSExpr, "")); in evaluate()
58 std::tie(RHSResult, RemainingExpr) = in evaluate()
62 if (RemainingExpr != "") in evaluate()
63 return handleError(Expr, unexpectedToken(RemainingExpr, RHSExpr, "")); in evaluate()
227 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalDecodeOperand() local
229 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalDecodeOperand()
236 if (!RemainingExpr.startswith(",")) in evalDecodeOperand()
238 unexpectedToken(RemainingExpr, RemainingExpr, "expected ','"), ""); in evalDecodeOperand()
239 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
242 std::tie(OpIdxExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalDecodeOperand()
246 if (!RemainingExpr.startswith(")")) in evalDecodeOperand()
248 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalDecodeOperand()
249 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalDecodeOperand()
282 return std::make_pair(EvalResult(Op.getImm()), RemainingExpr); in evalDecodeOperand()
295 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalNextPC() local
297 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalNextPC()
304 if (!RemainingExpr.startswith(")")) in evalNextPC()
306 unexpectedToken(RemainingExpr, RemainingExpr, "expected ')'"), ""); in evalNextPC()
307 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalNextPC()
321 return std::make_pair(EvalResult(NextPC), RemainingExpr); in evalNextPC()
333 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalStubAddr() local
338 size_t ComaIdx = RemainingExpr.find(','); in evalStubAddr()
339 FileName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalStubAddr()
340 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalStubAddr()
342 if (!RemainingExpr.startswith(",")) in evalStubAddr()
344 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalStubAddr()
345 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubAddr()
348 std::tie(SectionName, RemainingExpr) = parseSymbol(RemainingExpr); in evalStubAddr()
350 if (!RemainingExpr.startswith(",")) in evalStubAddr()
352 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalStubAddr()
353 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubAddr()
356 std::tie(Symbol, RemainingExpr) = parseSymbol(RemainingExpr); in evalStubAddr()
358 if (!RemainingExpr.startswith(")")) in evalStubAddr()
360 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalStubAddr()
361 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalStubAddr()
371 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalStubAddr()
378 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalSectionAddr() local
383 size_t ComaIdx = RemainingExpr.find(','); in evalSectionAddr()
384 FileName = RemainingExpr.substr(0, ComaIdx).rtrim(); in evalSectionAddr()
385 RemainingExpr = RemainingExpr.substr(ComaIdx).ltrim(); in evalSectionAddr()
387 if (!RemainingExpr.startswith(",")) in evalSectionAddr()
389 unexpectedToken(RemainingExpr, Expr, "expected ','"), ""); in evalSectionAddr()
390 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
393 std::tie(SectionName, RemainingExpr) = parseSymbol(RemainingExpr); in evalSectionAddr()
395 if (!RemainingExpr.startswith(")")) in evalSectionAddr()
397 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalSectionAddr()
398 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSectionAddr()
408 return std::make_pair(EvalResult(StubAddr), RemainingExpr); in evalSectionAddr()
417 StringRef RemainingExpr; in evalIdentifierExpr() local
418 std::tie(Symbol, RemainingExpr) = parseSymbol(Expr); in evalIdentifierExpr()
422 return evalDecodeOperand(RemainingExpr); in evalIdentifierExpr()
424 return evalNextPC(RemainingExpr, PCtx); in evalIdentifierExpr()
426 return evalStubAddr(RemainingExpr, PCtx); in evalIdentifierExpr()
428 return evalSectionAddr(RemainingExpr, PCtx); in evalIdentifierExpr()
448 return std::make_pair(EvalResult(Value), RemainingExpr); in evalIdentifierExpr()
473 StringRef RemainingExpr; in evalNumberExpr() local
474 std::tie(ValueStr, RemainingExpr) = parseNumberString(Expr); in evalNumberExpr()
478 unexpectedToken(RemainingExpr, RemainingExpr, "expected number"), ""); in evalNumberExpr()
481 return std::make_pair(EvalResult(Value), RemainingExpr); in evalNumberExpr()
491 StringRef RemainingExpr; in evalParensExpr() local
492 std::tie(SubExprResult, RemainingExpr) = in evalParensExpr()
496 if (!RemainingExpr.startswith(")")) in evalParensExpr()
498 unexpectedToken(RemainingExpr, Expr, "expected ')'"), ""); in evalParensExpr()
499 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalParensExpr()
500 return std::make_pair(SubExprResult, RemainingExpr); in evalParensExpr()
509 StringRef RemainingExpr = Expr.substr(1).ltrim(); in evalLoadExpr() local
512 if (!RemainingExpr.startswith("{")) in evalLoadExpr()
514 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
516 std::tie(ReadSizeExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalLoadExpr()
518 return std::make_pair(ReadSizeExpr, RemainingExpr); in evalLoadExpr()
522 if (!RemainingExpr.startswith("}")) in evalLoadExpr()
524 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalLoadExpr()
529 std::tie(LoadAddrExprResult, RemainingExpr) = in evalLoadExpr()
530 evalComplexExpr(evalSimpleExpr(RemainingExpr, LoadCtx), LoadCtx); in evalLoadExpr()
539 RemainingExpr); in evalLoadExpr()
552 StringRef RemainingExpr; in evalSimpleExpr() local
558 std::tie(SubExprResult, RemainingExpr) = evalParensExpr(Expr, PCtx); in evalSimpleExpr()
560 std::tie(SubExprResult, RemainingExpr) = evalLoadExpr(Expr); in evalSimpleExpr()
562 std::tie(SubExprResult, RemainingExpr) = evalIdentifierExpr(Expr, PCtx); in evalSimpleExpr()
564 std::tie(SubExprResult, RemainingExpr) = evalNumberExpr(Expr); in evalSimpleExpr()
571 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
574 if (RemainingExpr.startswith("[")) in evalSimpleExpr()
575 std::tie(SubExprResult, RemainingExpr) = in evalSimpleExpr()
576 evalSliceExpr(std::make_pair(SubExprResult, RemainingExpr)); in evalSimpleExpr()
578 return std::make_pair(SubExprResult, RemainingExpr); in evalSimpleExpr()
591 StringRef RemainingExpr; in evalSliceExpr() local
592 std::tie(SubExprResult, RemainingExpr) = Ctx; in evalSliceExpr()
594 assert(RemainingExpr.startswith("[") && "Not a slice expr."); in evalSliceExpr()
595 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
598 std::tie(HighBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
601 return std::make_pair(HighBitExpr, RemainingExpr); in evalSliceExpr()
603 if (!RemainingExpr.startswith(":")) in evalSliceExpr()
605 unexpectedToken(RemainingExpr, RemainingExpr, "expected ':'"), ""); in evalSliceExpr()
606 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
609 std::tie(LowBitExpr, RemainingExpr) = evalNumberExpr(RemainingExpr); in evalSliceExpr()
612 return std::make_pair(LowBitExpr, RemainingExpr); in evalSliceExpr()
614 if (!RemainingExpr.startswith("]")) in evalSliceExpr()
616 unexpectedToken(RemainingExpr, RemainingExpr, "expected ']'"), ""); in evalSliceExpr()
617 RemainingExpr = RemainingExpr.substr(1).ltrim(); in evalSliceExpr()
623 return std::make_pair(EvalResult(SlicedValue), RemainingExpr); in evalSliceExpr()
636 StringRef RemainingExpr; in evalComplexExpr() local
637 std::tie(LHSResult, RemainingExpr) = LHSAndRemaining; in evalComplexExpr()
641 if (LHSResult.hasError() || RemainingExpr == "") in evalComplexExpr()
642 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
646 std::tie(BinOp, RemainingExpr) = parseBinOpToken(RemainingExpr); in evalComplexExpr()
650 return std::make_pair(LHSResult, RemainingExpr); in evalComplexExpr()
654 std::tie(RHSResult, RemainingExpr) = evalSimpleExpr(RemainingExpr, PCtx); in evalComplexExpr()
658 return std::make_pair(RHSResult, RemainingExpr); in evalComplexExpr()
664 return evalComplexExpr(std::make_pair(ThisResult, RemainingExpr), PCtx); in evalComplexExpr()