Exemple #1
0
int main( )
{
	int c;
	extern int brace, brack, paren;

	while ((c = getchar()) != EOF){
		if (c == '/'){
			if((c = getchar()) == '*')
				in_comment();
			else
			search(c);
		}else if(c == '\'' || c == '"')
			in_quote(c);
		else
			search(c);

		if(brace < 0){
			printf("Unbalanced braces\n");
			brace = 0;
		}else if(brack < 0){
			printf("Unbalanced bracets\n");
			brack = 0;
		}else if(paren < 0){
			printf("Unbalanced parentheses\n");
			paren = 0;
		}
	}
	if(brace > 0)
		printf("Unbalanced braces\n");
	if(brack > 0)
		printf("Unbalanced brackets\n");
	if(paren > 0)
		printf("Unbalanced parenthese\n");
	return 0;
}
Exemple #2
0
/* C语言程序初步的语法检查 */
main(void)
{
    int c;
    extern int brace, brack, paren;

    while ((c = getchar()) != EOF) {
        if (c == '/') {
            if ((c = getchar()) == '*')
                in_comment();   /* 评论内 */
            else
                search(c);
        } else if (c == '\'' || c == '"')
            in_quote(c);    /* 引用内 */
        else
            search(c);

        if (brace < 0) {    /* 输出错误 */
            printf("Unbalanced braces\n");  /* 大括号 */
            brace = 0;
        } else if (brack < 0) {
            printf("Unbalanced brackets\n");    /* 方括号 */
            brack = 0;
        } else if (paren < 0) {
            printf("Unbalanced parentheses\n"); /* 圆括号 */
            paren = 0;
        }
    }
    if (brace > 0)  /* 输出错误 */
        printf("Unbalanced braces\n");
    if (brack > 0)
        printf("Unbalanced brackets\n");
    if (paren > 0)
        printf("Unbalanced parenthess\n");
}
Exemple #3
0
main()
{
	int c;
	c = getchar();
	while(c != EOF){
  	    if(c == '/'){
 	      if((c = getchar()) == '*')
		in_cmmt();   //don't count s, m or b unitl we find '*/'
	      else
	  	search(c);   //not in a comment
	    } 
	      else if (c == '\''|| c == '"')
	        in_quote();
    	      else 
	        search(c);
	
  	    if (s < 0){
	       printf("error");
	       s = 0;
	    }
	    if (m < 0){
	       printf();
 	       m = 0;
	    }
	    if (b < 0){
	       printf();
	       b = 0;
	    } 
       }
       if ()
       if ()
       if ()
}
Exemple #4
0
template <class Ch, class Tr, class IsSpecial> inline
std::string
in_quote(std::basic_istream<Ch, Tr> &i, IsSpecial is_special = IsSpecial(),
         char quote_char='"', char escape_char='\\')
{
  //    std::basic_stringstream<Ch,Tr> s;
  std::vector<Ch> v;
  in_quote(i, back_inserter(v)//std::ostreambuf_iterator<Ch,Tr>(s)
           , is_special, quote_char, escape_char);
  return std::string(v.begin(), v.end());
  //    return s.str();
}
Exemple #5
0
main()
{
	int c, d;
	extern int brace, brack, paren;
	brace = brack = paren = 0;
	extern nml;

	while( ( c = getchar() ) != EOF )
	{
		if ( c == '\n' )
			++nml;
		else if ( c == '/' )
		{
			if ( ( c = getchar() ) == '*' )
				in_comment();
			else if ( c == '\n' )
				++nml;
			else search( c );
		}
		else if ( c == '\'' || c == '"' )
			in_quote( c );
		else
			search( c );

		if ( brace < 0 )
		{
			printf("Unbalance barces at line %d.\n", nml);
			brace = 0;
		}
		else if ( brack < 0 )
		{
			printf("Unbalance brackeks at line %d.\n", nml);
			brack = 0;
		}
		else if ( paren < 0 )
		{
			printf("Unbalance parentheses at line %d.\n", nml);
			paren = 0;
		}
	}
	
	if ( brace > 0 )
		printf("Unbalance barces.\n");
	if ( brack > 0 )
		printf("Unbalance brackets.\n");
	if ( paren > 0 )
		printf("Unbalance parentheses.\n");
}