private Tree elementPro(){
		Symbol identifier = null;
		Tree parameterList = null,
				compoundStatement = null;
		if(accept(Symbol.Id.KEYWORD, "function")!=null){
			if((identifier = accept(Symbol.Id.IDENTIFIER_NAME))!=null){
				if(accept(Symbol.Id.PUNCTUATORS, "\\(")!=null){
					parameterList = parameterListPro();
					
					if(accept(Symbol.Id.PUNCTUATORS, "\\)")!=null){
						if((compoundStatement = compoundStatementPro())!=null){
							return new FunctionStatement(identifier, parameterList, compoundStatement);
						}
					}
					
				}
				
			}
		}
		
		if((compoundStatement = statementsPro())!= null){
			return compoundStatement;
		}
		
		return null;
	}