Your IP : 216.73.216.40


Current Path : /var/www/html/venkat/check/file/sec_a/
Upload File :
Current File : /var/www/html/venkat/check/file/sec_a/iit2012170_1.cpp

#include<bits/stdc++.h>
using namespace std ;
int main()
{
	int i , flag ,l; 
	ifstream file( "1.c" );
	string str ;
	set<string> key , iden ,  spec , oper , data  ;
	//vector< string > keyword , identifier , special , operators ;
	key.insert("int") ;key.insert("float");key.insert("string");key.insert("double");key.insert("return");
	iden.insert("main") ; 
	key.insert("while");key.insert("for");key.insert("printf");
	spec.insert("(") ; spec.insert("{") ;spec.insert(")");spec.insert("}");spec.insert(",");spec.insert(":");
	oper.insert("+"); oper.insert("-") ; oper.insert("*") ; oper.insert("/");oper.insert("&");oper.insert("=");
	vector<string> keyword , identifier , special , operate , strings , constant ;
	while(file >> str )
	{
		//flag = 0 ;
		if(str[0] == '#')
			continue ;
		str = str + " " ;
		l = str.length() ;
		string s= "" , tmp ;
		for(i = 0 ; i <l ; i++ )
		{
			if( str[i] != ' ' && str[i] != '+' && str[i] != '-' && str[i] != '*'  && str[i] != '(' && str[i] != ')' && str[i] != '/' && str[i] != ':' && str[i] != ';' && str[i] != ',' && str[i] != '=' && str[i] != '&' && str[i] != '{' && str[i] != '}')
			{
				//cout << str[i] << endl ;
				s = s + str[i] ;
			}
			else
			{
				//cout << s << endl ;
				
				
				
				if( key.find(s) != key.end())
				{
					//cout << "keyword - " << s << endl ;
					keyword.push_back(s);
					flag = 1 ;
				}
				else if( iden.find(s) != iden.end())
				{
					identifier.push_back(s) ;
					//cout << "identifier - " << s << endl ;			
					
				}
				else if( spec.find(s) != spec.end())
				{
					special.push_back(s);
					//cout << "special - " << s << endl ;
					
				}
				else if( oper.find(s) != oper.end())
				{
					operate.push_back(s);
					//cout << "operators -> " << s << endl ;
					
				}
				else if( s != "" )
				{
					if(s[0] == '"')
					{
							
						//cout << "String " << s << endl ;
						strings.push_back(s);
					}
						
					else
					{
						//cout << "identifiers -> " << s << endl ;
						if(s[0] >=48 && s[0] <= 57 )
							constant.push_back(s);
						else 
							identifier.push_back(s);
					}
						
				}
				//else if( str[i] != ';' )
				tmp.push_back(str[i]) ;
				if( spec.find(tmp) != spec.end())
				{
					 special.push_back(tmp);
					// cout << "special - " << tmp << endl ;
				}
				else if( oper.find(tmp) != oper.end())
				{
					operate.push_back(tmp);
					//cout << "operators -> " << tmp << endl ;
				}
				
				s = "" ; tmp = "" ;
			}
		}
	}
	if(  keyword.size() > 0 ){
	cout << "Keywords : " ;
	for(int i = 0 ; i < keyword.size()-1 ; i++ )
		cout << keyword[i] << "," ;
	cout << keyword[keyword.size()-1]  << endl ;}
	if( identifier.size() > 0 ){
	cout << "identifiers : " ;
	for(int i = 0 ; i < identifier.size()-1 ; i++ )
		cout << identifier[i] << "," ;
	cout << identifier[identifier.size()-1] << endl ;}
	if( operate.size() > 0 ){
	cout << "operators : " ;
	for(int i = 0 ; i < operate.size()-1 ; i++ )
		cout << operate[i] << "," ;
	cout << operate[operate.size()-1] << endl ;}
	if( special.size() > 0 ){
	cout << "special symbols : " ;
	for(int i = 0 ; i < special.size()-1 ; i++ )
		cout << special[i] << "," ;
	cout  << special[ special.size()-1 ] << endl ;}
	if( strings.size() > 0 ){
	cout << "strings : " ;
	for(int i = 0 ; i < strings.size()-1 ; i++ )
		cout << strings[i] << "," ;
	cout << strings[strings.size()-1 ] << endl ;}
	if(  constant.size() > 0 ){
	cout << "constants : " ;
	for(int i = 0 ; i < constant.size()-1 ; i++ )
		cout << constant[i] << "," ;
	cout  << constant[constant.size()-1] << endl ;}
		
return 0 ;
}