reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

lib/TableGen/TGLexer.cpp
   49   CurPtr = CurBuf.begin();
   90     CurPtr = ParentIncludeLoc.getPointer();
   94     TokStart = CurPtr;
  106   char CurChar = *CurPtr++;
  113     if (CurPtr-1 != CurBuf.end())
  117     --CurPtr;  // Another call to lex will return EOF again.
  125     if ((*CurPtr == '\n' || (*CurPtr == '\r')) &&
  125     if ((*CurPtr == '\n' || (*CurPtr == '\r')) &&
  126         *CurPtr != CurChar)
  127       ++CurPtr;  // Eat the two char newline sequence.
  133   return *(CurPtr + Index);
  137   TokStart = CurPtr;
  198     if (*CurPtr == '/')
  200     else if (*CurPtr == '*') {
  255   const char *StrStart = CurPtr;
  259   while (*CurPtr != '"') {
  261     if (*CurPtr == 0 && CurPtr == CurBuf.end())
  261     if (*CurPtr == 0 && CurPtr == CurBuf.end())
  264     if (*CurPtr == '\n' || *CurPtr == '\r')
  264     if (*CurPtr == '\n' || *CurPtr == '\r')
  267     if (*CurPtr != '\\') {
  268       CurStrVal += *CurPtr++;
  272     ++CurPtr;
  274     switch (*CurPtr) {
  277       CurStrVal += *CurPtr++;
  281       ++CurPtr;
  285       ++CurPtr;
  290       return ReturnError(CurPtr, "escaped newlines not supported in tblgen");
  294       if (CurPtr == CurBuf.end())
  298       return ReturnError(CurPtr, "invalid escape in string literal");
  302   ++CurPtr;
  307   if (!isalpha(CurPtr[0]) && CurPtr[0] != '_')
  307   if (!isalpha(CurPtr[0]) && CurPtr[0] != '_')
  311   const char *VarNameStart = CurPtr++;
  313   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  313   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  313   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  314     ++CurPtr;
  316   CurStrVal.assign(VarNameStart, CurPtr);
  325   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  325   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  325   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  326     ++CurPtr;
  329   StringRef Str(IdentStart, CurPtr-IdentStart);
  375   CurBuffer = SrcMgr.AddIncludeFile(Filename, SMLoc::getFromPointer(CurPtr),
  393   CurPtr = CurBuf.begin();
  401   ++CurPtr;  // skip the second slash.
  403     switch (*CurPtr) {
  409       if (CurPtr == CurBuf.end())
  414     ++CurPtr;
  421   ++CurPtr;  // skip the star.
  432       if (CurPtr[0] != '/') break;
  434       ++CurPtr;   // End the */.
  440       if (CurPtr[0] != '*') break;
  441       ++CurPtr;
  453   if (CurPtr[-1] == '0') {
  454     if (CurPtr[0] == 'x') {
  455       ++CurPtr;
  456       const char *NumStart = CurPtr;
  457       while (isxdigit(CurPtr[0]))
  458         ++CurPtr;
  461       if (CurPtr == NumStart)
  477     } else if (CurPtr[0] == 'b') {
  478       ++CurPtr;
  479       const char *NumStart = CurPtr;
  480       while (CurPtr[0] == '0' || CurPtr[0] == '1')
  480       while (CurPtr[0] == '0' || CurPtr[0] == '1')
  481         ++CurPtr;
  484       if (CurPtr == NumStart)
  485         return ReturnError(CurPtr-2, "Invalid binary number");
  492   if (!isdigit(CurPtr[0])) {
  493     if (CurPtr[-1] == '-')
  495     else if (CurPtr[-1] == '+')
  499   while (isdigit(CurPtr[0]))
  500     ++CurPtr;
  508   if (CurPtr[0] != '{')
  510   ++CurPtr;
  511   const char *CodeStart = CurPtr;
  521       CurStrVal.assign(CodeStart, CurPtr-2);
  531   if (!isalpha(*CurPtr))
  532     return ReturnError(CurPtr - 1, "Invalid \"!operator\"");
  534   const char *Start = CurPtr++;
  535   while (isalpha(*CurPtr))
  536     ++CurPtr;
  540     StringSwitch<tgtok::TokKind>(StringRef(Start, CurPtr - Start))
  604     int NextChar = *CurPtr;
  658   TokStart = CurPtr;
  663       CurPtr += strlen(PreprocessorDirs[ID].Word);
  700       return ReturnError(CurPtr, "Only comments are supported after " +
  741       return ReturnError(CurPtr, "Only comments are supported after #else");
  769       return ReturnError(CurPtr, "Only comments are supported after #endif");
  791       return ReturnError(CurPtr,
  822     if (*CurPtr == '#')
  823       ++CurPtr;
  860   } while (CurPtr != CurBuf.end());
  870   while (*CurPtr == ' ' || *CurPtr == '\t')
  870   while (*CurPtr == ' ' || *CurPtr == '\t')
  871     ++CurPtr;
  873   TokStart = CurPtr;
  875   if (*CurPtr != '_' && !isalpha(*CurPtr))
  875   if (*CurPtr != '_' && !isalpha(*CurPtr))
  879   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  879   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  879   while (isalpha(*CurPtr) || isdigit(*CurPtr) || *CurPtr == '_')
  880     ++CurPtr;
  882   return StringRef(TokStart, CurPtr - TokStart);
  886   while (CurPtr != CurBuf.end()) {
  887     switch (*CurPtr) {
  907         TokStart = CurPtr;
  910         ++CurPtr;
  926     ++CurPtr;
  935   while (CurPtr != CurBuf.end()) {
  936     switch (*CurPtr) {
  951         ++CurPtr;
  969         TokStart = CurPtr;
  970         ++CurPtr;
  974         TokStart = CurPtr;
  975         PrintError(CurPtr, "Unexpected character");
  985       TokStart = CurPtr;
  989     ++CurPtr;
  996   while (*CurPtr != '\n' && *CurPtr != '\r' && CurPtr != CurBuf.end())
  996   while (*CurPtr != '\n' && *CurPtr != '\r' && CurPtr != CurBuf.end())
  996   while (*CurPtr != '\n' && *CurPtr != '\r' && CurPtr != CurBuf.end())
  997     ++CurPtr;
 1020   TokStart = CurPtr;
lib/TableGen/TGLexer.h
   99     return CurCode = LexToken(CurPtr == CurBuf.begin());
  121     return std::make_pair(CurIntVal, (CurPtr - TokStart)-2);