Home | History | Annotate | Download | only in TableGen

Lines Matching full:lex

383   switch (Lex.getCode()) {
418 if (Lex.getCode() != tgtok::Id) {
423 Record *Result = Records.getClass(Lex.getCurStrVal());
425 TokError("Couldn't find class '" + Lex.getCurStrVal() + "'");
427 Lex.Lex();
437 if (Lex.getCode() != tgtok::Id) {
442 MultiClass *Result = MultiClasses[Lex.getCurStrVal()].get();
444 TokError("Couldn't find multiclass '" + Lex.getCurStrVal() + "'");
446 Lex.Lex();
459 Result.RefRange.Start = Lex.getLoc();
470 if (Lex.getCode() != tgtok::less) {
471 Result.RefRange.End = Lex.getLoc();
474 Lex.Lex(); // Eat the '<'
476 if (Lex.getCode() == tgtok::greater) {
488 if (Lex.getCode() != tgtok::greater) {
493 Lex.Lex();
494 Result.RefRange.End = Lex.getLoc();
509 Result.RefRange.Start = Lex.getLoc();
515 if (Lex.getCode() != tgtok::less) {
516 Result.RefRange.End = Lex.getLoc();
519 Lex.Lex(); // Eat the '<'
521 if (Lex.getCode() == tgtok::greater) {
533 if (Lex.getCode() != tgtok::greater) {
538 Lex.Lex();
539 Result.RefRange.End = Lex.getLoc();
549 if (Lex.getCode() != tgtok::IntVal) {
553 int64_t Start = Lex.getCurIntVal();
559 switch (Lex.Lex()) { // eat first character.
564 if (Lex.Lex() != tgtok::IntVal) {
568 End = Lex.getCurIntVal();
571 End = -Lex.getCurIntVal();
576 Lex.Lex();
598 while (Lex.getCode() == tgtok::comma) {
599 Lex.Lex(); // Eat the comma.
612 if (Lex.getCode() != tgtok::less)
615 SMLoc StartLoc = Lex.getLoc();
616 Lex.Lex(); // eat the '<'
622 if (Lex.getCode() != tgtok::greater) {
626 Lex.Lex(); // eat the '>'.
634 if (Lex.getCode() != tgtok::l_brace)
637 SMLoc StartLoc = Lex.getLoc();
638 Lex.Lex(); // eat the '{'
644 if (Lex.getCode() != tgtok::r_brace) {
648 Lex.Lex(); // eat the '}'.
665 switch (Lex.getCode()) {
667 case tgtok::String: Lex.Lex(); return StringRecTy::get();
668 case tgtok::Code: Lex.Lex(); return StringRecTy::get();
669 case tgtok::Bit: Lex.Lex(); return BitRecTy::get();
670 case tgtok::Int: Lex.Lex(); return IntRecTy::get();
671 case tgtok::Dag: Lex.Lex(); return DagRecTy::get();
676 if (Lex.Lex() != tgtok::less) { // Eat 'bits'
680 if (Lex.Lex() != tgtok::IntVal) { // Eat '<'
684 uint64_t Val = Lex.getCurIntVal();
685 if (Lex.Lex() != tgtok::greater) { // Eat count.
689 Lex.Lex(); // Eat '>'
693 if (Lex.Lex() != tgtok::less) { // Eat 'bits'
697 Lex.Lex(); // Eat '<'
701 if (Lex.getCode() != tgtok::greater) {
705 Lex.Lex(); // Eat '>'
770 switch (Lex.getCode()) {
781 switch (Lex.getCode()) {
784 Lex.Lex(); // eat the operation
796 Lex.Lex(); // eat the operation
800 Lex.Lex(); // eat the operation
804 Lex.Lex(); // eat the operation
809 if (Lex.getCode() != tgtok::l_paren) {
813 Lex.Lex(); // eat the '('
868 if (Lex.getCode() != tgtok::r_paren) {
872 Lex.Lex(); // eat the ')'
885 tgtok::TokKind OpTok = Lex.getCode();
886 SMLoc OpLoc = Lex.getLoc();
887 Lex.Lex(); // eat the operation
911 if (Lex.getCode() != tgtok::l_paren) {
915 Lex.Lex(); // eat the '('
922 while (Lex.getCode() == tgtok::comma) {
923 Lex.Lex(); // eat the ','
929 if (Lex.getCode() != tgtok::r_paren) {
933 Lex.Lex(); // eat the ')'
973 tgtok::TokKind LexCode = Lex.getCode();
974 Lex.Lex(); // eat the operation
987 if (Lex.getCode() != tgtok::l_paren) {
991 Lex.Lex(); // eat the '('
996 if (Lex.getCode() != tgtok::comma) {
1000 Lex.Lex(); // eat the ','
1006 if (Lex.getCode() != tgtok::comma) {
1010 Lex.Lex(); // eat the ','
1016 if (Lex.getCode() != tgtok::r_paren) {
1020 Lex.Lex(); // eat the ')'
1096 if (Lex.getCode() != tgtok::less) {
1100 Lex.Lex(); // eat the <
1109 if (Lex.getCode() != tgtok::greater) {
1113 Lex.Lex(); // eat the >
1141 switch (Lex.getCode()) {
1146 Lex.Lex(); // Skip '#'.
1148 case tgtok::IntVal: R = IntInit::get(Lex.getCurIntVal()); Lex.Lex(); break;
1150 auto BinaryVal = Lex.getCurBinaryIntVal();
1155 Lex.Lex();
1159 std::string Val = Lex.getCurStrVal();
1160 Lex.Lex();
1163 while (Lex.getCode() == tgtok::StrVal) {
1164 Val += Lex.getCurStrVal();
1165 Lex.Lex();
1172 R = StringInit::get(Lex.getCurStrVal());
1173 Lex.Lex();
1177 Lex.Lex();
1180 SMLoc NameLoc = Lex.getLoc();
1181 std::string Name = Lex.getCurStrVal();
1182 if (Lex.Lex() != tgtok::less) // consume the Id.
1186 if (Lex.Lex() == tgtok::greater) {
1203 if (Lex.getCode() != tgtok::greater) {
1207 Lex.Lex(); // eat the '>'
1208 SMLoc EndLoc = Lex.getLoc();
1257 SMLoc BraceLoc = Lex.getLoc();
1258 Lex.Lex(); // eat the '{'
1261 if (Lex.getCode() != tgtok::r_brace) {
1265 if (Lex.getCode() != tgtok::r_brace) {
1269 Lex.Lex(); // eat the '}'
1308 Lex.Lex(); // eat the '['
1324 if (Lex.getCode() != tgtok::r_square) {
1329 if (Lex.getCode() != tgtok::r_square) {
1333 Lex.Lex(); // eat the ']'
1336 if (Lex.getCode() == tgtok::less) {
1338 Lex.Lex(); // eat the '<'
1346 if (Lex.getCode() != tgtok::greater) {
1350 Lex.Lex(); // eat the '>'
1403 Lex.Lex(); // eat the '('
1404 if (Lex.getCode() != tgtok::Id && Lex.getCode() != tgtok::XCast) {
1414 if (Lex.getCode() == tgtok::colon) {
1415 if (Lex.Lex() != tgtok::VarName) { // eat the ':'
1419 OperatorName = Lex.getCurStrVal();
1420 Lex.Lex(); // eat the VarName.
1424 if (Lex.getCode() != tgtok::r_paren) {
1429 if (Lex.getCode() != tgtok::r_paren) {
1433 Lex.Lex(); // eat the ')'
1474 switch (Lex.getCode()) {
1481 SMLoc CurlyLoc = Lex.getLoc();
1482 Lex.Lex(); // eat the '{'
1495 if (Lex.getCode() != tgtok::r_brace) {
1499 Lex.Lex();
1503 SMLoc SquareLoc = Lex.getLoc();
1504 Lex.Lex(); // eat the '['
1515 if (Lex.getCode() != tgtok::r_square) {
1519 Lex.Lex();
1523 if (Lex.Lex() != tgtok::Id) { // eat the .
1527 if (!Result->getFieldType(Lex.getCurStrVal())) {
1528 TokError("Cannot access field '" + Lex.getCurStrVal() + "' of value '" +
1532 Result = FieldInit::get(Result, Lex.getCurStrVal());
1533 Lex.Lex(); // eat field name
1537 SMLoc PasteLoc = Lex.getLoc();
1554 Lex.Lex(); // Eat the '#'.
1555 switch (Lex.getCode()) {
1601 if (Lex.getCode() == tgtok::VarName) {
1603 Result.emplace_back(UnsetInit::get(), Lex.getCurStrVal());
1604 Lex.Lex();
1613 if (Lex.getCode() == tgtok::colon) {
1614 if (Lex.Lex() != tgtok::VarName) { // eat the ':'
1618 VarName = Lex.getCurStrVal();
1619 Lex.Lex(); // eat the VarName.
1624 if (Lex.getCode() != tgtok::comma) break;
1625 Lex.Lex(); // eat the ','
1661 while (Lex.getCode() == tgtok::comma) {
1662 Lex.Lex(); // Eat the comma
1696 bool HasField = Lex.getCode() == tgtok::Field;
1697 if (HasField) Lex.Lex();
1702 if (Lex.getCode() != tgtok::Id) {
1707 SMLoc IdLoc = Lex.getLoc();
1708 Init *DeclName = StringInit::get(Lex.getCurStrVal());
1709 Lex.Lex();
1726 if (Lex.getCode() == tgtok::equal) {
1727 Lex.Lex();
1728 SMLoc ValLoc = Lex.getLoc();
1750 if (Lex.getCode() != tgtok::Id) {
1755 Init *DeclName = StringInit::get(Lex.getCurStrVal());
1756 Lex.Lex();
1759 if (Lex.getCode() != tgtok::equal) {
1763 Lex.Lex(); // Eat the '='
1768 switch (Lex.getCode()) {
1794 Lex.Lex(); // eat the '{'
1796 if (Lex.getCode() != tgtok::r_brace) {
1800 Lex.Lex();
1828 assert(Lex.getCode() == tgtok::less && "Not a template arg list!");
1829 Lex.Lex(); // eat the '<'
1840 while (Lex.getCode() == tgtok::comma) {
1841 Lex.Lex(); // eat the ','
1850 if (Lex.getCode() != tgtok::greater)
1852 Lex.Lex(); // eat the '>'.
1862 if (Lex.getCode() != tgtok::Let) {
1866 if (Lex.getCode() != tgtok::semi)
1868 Lex.Lex();
1873 if (Lex.Lex() != tgtok::Id)
1876 SMLoc IdLoc = Lex.getLoc();
1877 std::string FieldName = Lex.getCurStrVal();
1878 Lex.Lex(); // eat the field name.
1885 if (Lex.getCode() != tgtok::equal)
1887 Lex.Lex(); // eat the '='.
1898 if (Lex.getCode() != tgtok::semi)
1900 Lex.Lex();
1914 if (Lex.getCode() == tgtok::semi) {
1915 Lex.Lex();
1919 if (Lex.getCode() != tgtok::l_brace)
1922 Lex.Lex();
1924 while (Lex.getCode() != tgtok::r_brace)
1929 Lex.Lex();
1954 if (Lex.getCode() == tgtok::colon) {
1955 Lex.Lex();
1967 if (Lex.getCode() != tgtok::comma) break;
1968 Lex.Lex(); // eat ','.
1985 SMLoc DefLoc = Lex.getLoc();
1986 assert(Lex.getCode() == tgtok::Def && "Unknown tok");
1987 Lex.Lex(); // Eat the 'def' token.
2061 assert(Lex.getCode() == tgtok::Foreach && "Unknown tok");
2062 Lex.Lex(); // Eat the 'for' token.
2071 if (Lex.getCode() != tgtok::In)
2073 Lex.Lex(); // Eat the in
2078 if (Lex
2083 SMLoc BraceLoc = Lex.getLoc();
2085 Lex.Lex(); // eat the '{'.
2091 if (Lex.getCode() != tgtok::r_brace) {
2095 Lex.Lex(); // Eat the }
2109 assert(Lex.getCode() == tgtok::Class && "Unexpected token!");
2110 Lex.Lex();
2112 if (Lex.getCode() != tgtok::Id)
2115 Record *CurRec = Records.getClass(Lex.getCurStrVal());
2126 llvm::make_unique<Record>(Lex.getCurStrVal(), Lex.getLoc(), Records);
2130 Lex.Lex(); // eat the name.
2133 if (Lex.getCode() == tgtok::less)
2151 if (Lex.getCode() != tgtok::Id) {
2155 std::string Name = Lex.getCurStrVal();
2156 SMLoc NameLoc = Lex.getLoc();
2157 Lex.Lex(); // Eat the identifier.
2165 if (Lex.getCode() != tgtok::equal) {
2169 Lex.Lex(); // eat the '='.
2177 if (Lex.getCode() != tgtok::comma)
2179 Lex.Lex(); // eat the comma.
2190 assert(Lex.getCode() == tgtok::Let && "Unexpected token");
2191 Lex.Lex();
2198 if (Lex.getCode() != tgtok::In)
2200 Lex.Lex();
2203 if (Lex.getCode() != tgtok::l_brace) {
2208 SMLoc BraceLoc = Lex.getLoc();
2210 Lex.Lex(); // eat the '{'.
2216 if (Lex.getCode() != tgtok::r_brace) {
2220 Lex.Lex();
2239 assert(Lex.getCode() == tgtok::MultiClass && "Unexpected token");
2240 Lex.Lex(); // Eat the multiclass token.
2242 if (Lex.getCode() != tgtok::Id)
2244 std::string Name = Lex.getCurStrVal();
2248 llvm::make_unique<MultiClass>(Name, Lex.getLoc(),Records)));
2254 Lex.Lex(); // Eat the identifier.
2257 if (Lex.getCode() == tgtok::less)
2264 if (Lex.getCode() == tgtok::colon) {
2267 Lex.Lex();
2280 if (Lex.getCode() != tgtok::comma) break;
2281 Lex.Lex(); // eat ','.
2286 if (Lex.getCode() != tgtok::l_brace) {
2289 if (Lex.getCode() != tgtok::semi)
2291 Lex.Lex(); // eat the ';'.
2293 if (Lex.Lex() == tgtok::r_brace) // eat the '{'.
2296 while (Lex.getCode() != tgtok::r_brace) {
2297 switch (Lex.getCode()) {
2309 Lex.Lex(); // eat the '}'.
2392 Lex.getLoc(), TArgs, TemplateVals,
2504 assert(Lex.getCode() == tgtok::Defm && "Unexpected token!");
2505 SMLoc DefmLoc = Lex.getLoc();
2508 if (Lex.Lex() == tgtok::Id) { // eat the defm.
2512 SMLoc DefmPrefixEndLoc = Lex.getLoc();
2513 if (Lex.getCode() != tgtok::colon)
2523 Lex.Lex();
2525 SMLoc SubClassLoc = Lex.getLoc();
2576 if (Lex.getCode() != tgtok::comma) break;
2577 Lex.Lex(); // eat ','.
2579 if (Lex.getCode() != tgtok::Id)
2582 SubClassLoc = Lex.getLoc();
2586 InheritFromClass = (Records.getClass(Lex.getCurStrVal()) != nullptr);
2613 if (Lex.getCode() != tgtok::comma) break;
2614 Lex.Lex(); // eat ','.
2626 if (Lex.getCode() != tgtok::semi)
2628 Lex.Lex();
2641 switch (Lex.getCode()) {
2656 while (isObjectStart(Lex.getCode())) {
2664 Lex.Lex(); // Prime the lexer.
2668 if (Lex.getCode() == tgtok::Eof)