当前位置: 首页>>代码示例>>C++>>正文


C++ skipWhite函数代码示例

本文整理汇总了C++中skipWhite函数的典型用法代码示例。如果您正苦于以下问题:C++ skipWhite函数的具体用法?C++ skipWhite怎么用?C++ skipWhite使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了skipWhite函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: attSetNames

eFlag Tree::extractUsedSets(Sit S, Element *e) 
{
    Attribute *a = e -> atts.find(XSLA_USE_ATTR_SETS); 
    if (a) 
    {
	QNameList *names = e -> attSetNames(TRUE);
	names -> freeall(FALSE);
	char *p, *q;

	q = (char*) (a -> cont);
	skipWhite(q);
	p = q;
	int i = strcspn(q, theWhitespace);
	while (*q && i) {
	    q += i;
	    char save = *q;
	    *q = 0;

	    Str token = p;
	    GP( QName ) name = new QName;
	    E( e -> setLogical(S, *name, token, FALSE) );

	    names -> append( name.keep() );
	    *q = save;
	    skipWhite(q);
	    p = q;
	    i = strcspn(q, theWhitespace);
	}

    }
    return OK;
}
开发者ID:alepharchives,项目名称:Sablotron,代码行数:32,代码来源:tree.cpp

示例2: skipWhite

eFlag Tree::getSpaceNames(Sit S, Element &e, Str &str, SpaceNameList &where)
{
  char *p, *q;
  q = (char*)str;
  skipWhite(q);
  p = q;
  int i = strcspn(q, theWhitespace);
  while (*q && i) 
    {
      q += i;
      char save = *q;
      *q = 0;
      
      Str token = p;
      QName name;
      E( e.setLogical(S, name, token, FALSE) );
      GP(EQName) ename = new EQName;
      expandQ(name, *ename);
      where.append(ename.keep());

      *q = save;
      skipWhite(q);
      p = q;
      i = strcspn(q, theWhitespace);
    }

  return OK;
}
开发者ID:alepharchives,项目名称:Sablotron,代码行数:28,代码来源:tree.cpp

示例3: findTag

static void findTag (vString *const name)
{
    const verilogKind kind = (verilogKind)
	    lookupKeyword (vStringValue (name), Lang_verilog);
    if (kind != K_UNDEFINED)
    {
	int c = skipWhite (vGetc ());

	/* Many keywords can have bit width.
	*   reg [3:0] net_name;
	*   inout [(`DBUSWIDTH-1):0] databus;
	*/
	if (c == '(')
	    c = skipPastMatch ("()");
	c = skipWhite (c);
	if (c == '[')
	    c = skipPastMatch ("[]");
	c = skipWhite (c);
	if (c == '#')
	{
	    c = vGetc ();
	    if (c == '(')
		c = skipPastMatch ("()");
	}
	c = skipWhite (c);
	if (isIdentifierCharacter (c))
	    tagNameList (kind, c);
    }
}
开发者ID:att,项目名称:uwin,代码行数:29,代码来源:verilog.c

示例4: parseKeyword

 QVariant parseKeyword()
 {
     if(source.mid(pos, 4) == "true")
     {
         pos += 4;
         skipWhite();
         return QVariant(true);
     }
     else if(source.mid(pos, 5) == "false")
     {
         pos += 5;
         skipWhite();
         return QVariant(false);
     }
     else if(source.mid(pos, 4) == "null")
     {
         pos += 4;
         skipWhite();
         return QVariant(0);
     }
     else
     {
         error("unknown keyword");
     }
     return QVariant();
 }
开发者ID:gnuzinho,项目名称:Doomsday-Engine,代码行数:26,代码来源:json.cpp

示例5: findTag

static void findTag (vString *const name)
{
	int c = '\0';
	vhdlKind kind;
    vStringCopyToLower (Keyword, name);
    kind = (vhdlKind)lookupKeyword (vStringValue (Keyword), Lang_vhdl);
    if (kind == K_UNDEFINED)
	{
		c = skipWhite (vGetc ());
		vStringCopyS(Lastname,vStringValue(name));
			if (c == ':')
			{
				c = skipWhite (vGetc ());
				if (isIdentifierCharacter (c))
				{
					readIdentifier (name, c);
					vStringCopyToLower (Keyword, name);
					lookupKeyword (vStringValue (Keyword), Lang_vhdl);
					kind = (vhdlKind)lookupKeyword (vStringValue (Keyword), Lang_vhdl);
					if (kind == K_PROCESS || kind == K_BLOCK || kind == K_PORT)
					{
						makeSimpleTag (Lastname, VhdlKinds, kind);
					}
				}
			} else {
				vUngetc (c);
			}
	}
	else
	{
		if (kind == K_SIGNAL) {
			while (c!=':') {
				c = skipWhite (vGetc ());
				if (c==',')
					c = vGetc ();
				if (isIdentifierCharacter (c))
					tagNameList (kind, c);
				else
					break;
				c = vGetc ();
			}
		}
		else if (kind == K_PROCESS || kind == K_BLOCK) {
			vStringCopyS(TagName,"unnamed");
			makeSimpleTag (TagName, VhdlKinds, kind);
		} else {
			c = skipWhite (vGetc ());
			if (c=='\"')
				c = vGetc ();
			if (isIdentifierCharacter (c))
				tagNameList (kind, c);
		}
	}
}
开发者ID:Fordi,项目名称:geany,代码行数:54,代码来源:vhdl.c

示例6: findBlockName

static boolean findBlockName (tokenInfo *const token)
{
	int c;

	c = skipWhite (vGetc ());
	if (c == ':')
	{
		c = skipWhite (vGetc ());
		readIdentifier (token, c);
		return (boolean) (vStringLength (token->name) > 0);
	}
	else
		vUngetc (c);
	return FALSE;
}
开发者ID:shunlir,项目名称:ctags,代码行数:15,代码来源:verilog.c

示例7: parseObject

 QVariant parseObject()
 {
     QVariantMap result;
     QChar c = next();
     DENG2_ASSERT(c == '{');
     forever
     {
         QString name = parseString().toString();
         c = next();
         if(c != ':') error("object keys and values must be separated by a colon");
         QVariant value = parse();
         // Add to the result.
         result.insert(name, value);
         // Move forward.
         skipWhite();
         c = next();            
         if(c == '}')
         {
             // End of object.
             break;
         }
         else if(c != ',')
         {
             LOG_DEBUG(de::String("got %1 instead of ,").arg(c));
             error("key/value pairs must be separated by comma");
         }
     }
     return result;
 }
开发者ID:gnuzinho,项目名称:Doomsday-Engine,代码行数:29,代码来源:json.cpp

示例8: match

/* verifica se entrada combina com o esperado */
void match(char c){
        if (look != c)
                expected("'%c'", c);

        nextChar();
        skipWhite();
}
开发者ID:daniloluca,项目名称:compiler-c,代码行数:8,代码来源:compiler-string-and-white-space.c

示例9: parseLineDirective

static boolean parseLineDirective (void)
{
	boolean result = FALSE;
	int c = skipWhite ();
	DebugStatement ( const char* lineStr = ""; )

	if (isdigit (c))
开发者ID:acarlson1029,项目名称:ctags,代码行数:7,代码来源:read.c

示例10: skipWhite

bool StreamSource::parseInt( int& val) {
	val = 0;
	bool  pos = true;
	skipWhite();
	if (**this == '-') {
		pos = false;
		++*this;
	}
	if (**this == '+') {
		++*this;
	}
	bool ok = **this >= '0' && **this <= '9';
	int d;
	while (**this >= '0' && **this <= '9') {
		d    = **this - '0';
		assert((val < (INT_MAX/10)
			|| ((val==(INT_MAX/10)) && ((INT_MAX-(val*10))>=d)))
			&& "Integer overflow while parsing");
		val *= 10;
		val += d;
		++*this;
	}
	val = pos ? val : -val;
	return ok;
}
开发者ID:RayHuo,项目名称:iASP,代码行数:25,代码来源:reader.cpp

示例11: stripWhite

void stripWhite(char *s)
{
	const char *t = s;
	skipWhite(&t);
	if (t > s)
		strmove(s, t);
trimWhite(s);
}				/* stripWhite */
开发者ID:georgesilva,项目名称:edbrowse,代码行数:8,代码来源:stringfile.c

示例12: parseLineDirective

static bool parseLineDirective (char *s)
{
	bool result = false;

	skipWhite (&s);
	DebugStatement ( const char* lineStr = ""; )

	if (isdigit (*s))
开发者ID:pragmaware,项目名称:ctags,代码行数:8,代码来源:read.c

示例13: getWhDelimString

//string parsing
Bool getWhDelimString(char *&list, Str& firstPart)
{
    skipWhite(list);
    if (!*list) return FALSE;
    char *list_was = list;
    for(; *list && !isWhite(*list); list++);
    firstPart.nset(list_was, (int)(list - list_was));
    return TRUE;
}
开发者ID:alepharchives,项目名称:Sablotron,代码行数:10,代码来源:base.cpp

示例14: restoreString

// assume called when tokenEnd on close quote of name
bool JsonScanner::thisValue(char type) {
    restoreString();
    char *at = skipWhite(tokenEnd + 1);
    if(*at == ':') {
        at = skipWhite(at + 1);
        if(*at == type) {
            if(type == STRING_TYPE) {
                return scanString(at);
            }
            else { // array
                tokenStart = at;
                return true;
            }
        }
    }

    return false;
}
开发者ID:RobertLeyland,项目名称:chirpino,代码行数:19,代码来源:JsonScanner.cpp

示例15: processFunction

static void processFunction (tokenInfo *const token)
{
	int c;
	tokenInfo *classType;

	/* Search for function name
	 * Last identifier found before a '(' or a ';' is the function name */
	c = skipWhite (vGetc ());
	do
	{
		readIdentifier (token, c);
		c = skipWhite (vGetc ());
		/* Identify class type prefixes and create respective context*/
		if (isLanguage (Lang_systemverilog) && c == ':')
		{
			c = vGetc ();
			if (c == ':')
			{
				verbose ("Found function declaration with class type %s\n", vStringValue (token->name));
				classType = newToken ();
				vStringCopy (classType->name, token->name);
				classType->kind = K_CLASS;
				createContext (classType);
				currentContext->classScope = TRUE;
			}
			else
			{
				vUngetc (c);
			}
		}
	} while (c != '(' && c != ';' && c != EOF);

	if ( vStringLength (token->name) > 0 )
	{
		verbose ("Found function: %s\n", vStringValue (token->name));

		/* Create tag */
		createTag (token);

		/* Get port list from function */
		processPortList (c);
	}
}
开发者ID:Luoben,项目名称:ctags,代码行数:43,代码来源:verilog.c


注:本文中的skipWhite函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。