/** * Selects the attribute name. * * @param p0 the break flag * @param p1 the current position (Hand over as reference!) * @param p2 the remaining count */ void select_xml_attribute_name(void* p0, void* p1, void* p2) { log_terminated_message((void*) DEBUG_LEVEL_LOG_MODEL, (void*) L"Select xml attribute name."); // The comparison result. int r = *NUMBER_0_INTEGER_MEMORY_MODEL; if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { detect_array((void*) &r, p1, p2, (void*) ATTRIBUTE_VALUE_BEGIN_XML_NAME, (void*) WIDE_CHARACTER_PRIMITIVE_MEMORY_ABSTRACTION, (void*) ATTRIBUTE_VALUE_BEGIN_XML_NAME_COUNT, (void*) NUMBER_1_INTEGER_MEMORY_MODEL); if (r != *NUMBER_0_INTEGER_MEMORY_MODEL) { // The attribute name end was found. // // CAUTION! The current position and remaining count were already // changed in the called function, to be processed further. // // The attribute count is left as it is. // Set break flag. copy_integer(p0, (void*) NUMBER_1_INTEGER_MEMORY_MODEL); } } if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { move_position(p1, p2, (void*) NUMBER_1_INTEGER_MEMORY_MODEL, (void*) WIDE_CHARACTER_INTEGRAL_TYPE_SIZE); } }
/** * Selects the xml definition. * * @param p0 the break flag * @param p1 the current position (Hand over as reference!) * @param p2 the remaining count */ void select_xml_definition(void* p0, void* p1, void* p2) { if (p2 != *NULL_POINTER_MEMORY_MODEL) { int* rem = (int*) p2; if (p1 != *NULL_POINTER_MEMORY_MODEL) { void** pos = (void**) p1; if (p0 != *NULL_POINTER_MEMORY_MODEL) { int* b = (int*) p0; log_terminated_message((void*) DEBUG_LEVEL_LOG_MODEL, (void*) L"Select xml definition."); // The comparison result. int r = *NUMBER_0_INTEGER_MEMORY_MODEL; if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { detect_array((void*) &r, p1, p2, (void*) DEFINITION_END_XML_NAME, (void*) WIDE_CHARACTER_PRIMITIVE_MEMORY_ABSTRACTION, (void*) DEFINITION_END_XML_NAME_COUNT, (void*) NUMBER_1_INTEGER_MEMORY_MODEL); if (r != *NUMBER_0_INTEGER_MEMORY_MODEL) { // Set break flag. *b = *NUMBER_1_INTEGER_MEMORY_MODEL; } } if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { // None of the comparisons above delivered a positive (r != 0) result. // Therefore, increment the current position by one (pointer size). move_position(p1, p2, (void*) NUMBER_1_INTEGER_MEMORY_MODEL, (void*) WIDE_CHARACTER_INTEGRAL_TYPE_SIZE); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml definition. The break flag is null."); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml definition. The current position is null."); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml definition. The remaining count is null."); } }
void global_def()//全局变量的定义,包括数组,结构体,变量 { detect_two_array(); global_struct_array(); detect_array();//检测数组,并定义全局数组 global_struct();//检测结构体体,并定义 int list[1000],num=0; define_var(var_name,num_v,list,num);//全局变量定义 for(int i=0;i<num;i++) fprintf(fw,"long %s; \n",var_name[list[i]]); }
/** * Selects no resource http request uri. * * The request uri identifies the resource upon which to apply a request. * There are four options to specify a request uri: * * Request-URI = "*" | absoluteURI | abs_path | authority * * (1) No resource * * The asterisk "*" means that the request does not apply to a particular * resource, but to the server itself, and is only allowed when the method * used does not necessarily apply to a resource. Example: * * OPTIONS * HTTP/1.1 * * (2) Absolute URI * * The absoluteURI form is REQUIRED when the request is being made to * a proxy. The proxy is requested to forward the request or service it * from a valid cache, and return the response. Note that the proxy MAY * forward the request on to another proxy or directly to the server * specified by the absoluteURI. Example: * * GET http://www.w3.org/pub/WWW/TheProject.html HTTP/1.1 * * (3) Authority Form * * The authority form is only used by the CONNECT method. If a client * connects to a proxy using the CONNECT method, it has to specify * the hostname and, separated by a colon, the port number. Both of them * have to be specified. The host:port part is followed by a space and * a string specifying the HTTP version number. Example: * * CONNECT home.netscape.com:443 HTTP/1.0 * User-agent: Mozilla/1.1N * Proxy-authorization: basic aGVsbG86d29ybGQ= * * (4) Absolute Path * * The most common form is that used to identify a resource on an * origin server or gateway. In this case, the absolute path of the * uri MUST be transmitted as the request uri, and the network location * of the uri (authority) MUST be transmitted in a Host header field. * For example, a client wishing to retrieve the resource above directly * from the origin server would create a TCP connection to port 80 of * the host "www.w3.org" and send the lines: * * GET /pub/WWW/TheProject.html HTTP/1.1 * Host: www.w3.org * * followed by the remainder of the request. * Note that the absolute path cannot be empty; if none is present * in the original URI, it MUST be given as "/" (the server root). * * @param p0 the destination model (Hand over as reference!) * @param p1 the destination model count * @param p2 the destination model size * @param p3 the destination details (Hand over as reference!) * @param p4 the destination details count * @param p5 the destination details size * @param p6 the break flag * @param p7 the current position (Hand over as reference!) * @param p8 the remaining count */ void select_no_resource_http_request_uri(void* p0, void* p1, void* p2, void* p3, void* p4, void* p5, void* p6, void* p7, void* p8) { if (p6 != *NULL_POINTER_MEMORY_MODEL) { int* b = (int*) p6; log_terminated_message((void*) DEBUG_LEVEL_LOG_MODEL, (void*) L"Select no resource http request uri."); // // CAUTION! The order of the comparisons is IMPORTANT! Do NOT change it easily! // // The comparison result. int r = *NUMBER_0_INTEGER_MEMORY_MODEL; if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { detect_array((void*) &r, p7, p8, (void*) NO_RESOURCE_HTTP_REQUEST_URI_NAME, (void*) WIDE_CHARACTER_PRIMITIVE_MEMORY_ABSTRACTION, (void*) NO_RESOURCE_HTTP_REQUEST_URI_NAME_COUNT, (void*) NUMBER_0_INTEGER_MEMORY_MODEL); if (r != *NUMBER_0_INTEGER_MEMORY_MODEL) { // Set break flag. *b = *NUMBER_1_INTEGER_MEMORY_MODEL; } } if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { move_position(p7, p8, (void*) NUMBER_1_INTEGER_MEMORY_MODEL, (void*) WIDE_CHARACTER_INTEGRAL_TYPE_SIZE); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select no resource http request uri. The break flag is null."); } }
/** * Selects the attribute begin or tag end. * * @param p0 the has attribute flag * @param p1 the has content flag * @param p2 the is empty flag * @param p3 the current position (Hand over as reference!) * @param p4 the remaining count */ void select_xml_attribute_begin_or_tag_end(void* p0, void* p1, void* p2, void* p3, void* p4) { if (p4 != *NULL_POINTER_MEMORY_MODEL) { int* rem = (int*) p4; if (p3 != *NULL_POINTER_MEMORY_MODEL) { void** pos = (void**) p3; if (p2 != *NULL_POINTER_MEMORY_MODEL) { int* ie = (int*) p2; if (p1 != *NULL_POINTER_MEMORY_MODEL) { int* hc = (int*) p1; if (p0 != *NULL_POINTER_MEMORY_MODEL) { int* ha = (int*) p0; log_terminated_message((void*) DEBUG_LEVEL_LOG_MODEL, (void*) L"Select xml attribute begin or tag end."); // // CAUTION! The ORDER of the following function calls is IMPORTANT! // The empty tag end "/>" has to be searched BEFORE // the simple tag end ">", because of the slash "/" character. // // CAUTION! The comparison result HAS TO BE ZERO, if a detection is to be taking place! // Many "detect" functions are called in a sequence, below. // If the result of one detection function was positive (r == 1), // then that function increments the current position and decrements the remaining count. // In this case, further detection functions following afterwards might detect // further characters and CHANGE the current position and remaining count, and so forth, // which would have the effect of "jumping" over some characters and produce WRONG RESULTS! // Therefore, the checks for (r == 0) below avoid another detection, // if the result already has a value unequal zero. // // The comparison result. int r = *NUMBER_0_INTEGER_MEMORY_MODEL; if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { detect_array((void*) &r, p3, p4, (void*) EMPTY_TAG_END_XML_NAME, (void*) WIDE_CHARACTER_PRIMITIVE_MEMORY_ABSTRACTION, (void*) EMPTY_TAG_END_XML_NAME_COUNT, (void*) NUMBER_1_INTEGER_MEMORY_MODEL); if (r != *NUMBER_0_INTEGER_MEMORY_MODEL) { // The empty tag end was found. // Set is empty flag. *ie = *NUMBER_1_INTEGER_MEMORY_MODEL; } } if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { detect_array((void*) &r, p3, p4, (void*) TAG_END_XML_NAME, (void*) WIDE_CHARACTER_PRIMITIVE_MEMORY_ABSTRACTION, (void*) TAG_END_XML_NAME_COUNT, (void*) NUMBER_1_INTEGER_MEMORY_MODEL); if (r != *NUMBER_0_INTEGER_MEMORY_MODEL) { // The tag end, indicating subsequent element content, was found. // Set has content flag. *hc = *NUMBER_1_INTEGER_MEMORY_MODEL; } } if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { detect_array((void*) &r, p3, p4, (void*) ATTRIBUTE_BEGIN_XML_NAME, (void*) WIDE_CHARACTER_PRIMITIVE_MEMORY_ABSTRACTION, (void*) ATTRIBUTE_BEGIN_XML_NAME_COUNT, (void*) NUMBER_1_INTEGER_MEMORY_MODEL); if (r != *NUMBER_0_INTEGER_MEMORY_MODEL) { // The tag name end, indicating subsequent attributes, was found. // Set has attribute flag. *ha = *NUMBER_1_INTEGER_MEMORY_MODEL; } } if (r == *NUMBER_0_INTEGER_MEMORY_MODEL) { move_position(p3, p4, (void*) NUMBER_1_INTEGER_MEMORY_MODEL, (void*) WIDE_CHARACTER_INTEGRAL_TYPE_SIZE); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml attribute begin or tag end. The has attribute flag is null."); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml attribute begin or tag end. The has content flag is null."); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml attribute begin or tag end. The is empty flag is null."); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml attribute begin or tag end. The current position is null."); } } else { log_terminated_message((void*) ERROR_LEVEL_LOG_MODEL, (void*) L"Could not select xml attribute begin or tag end. The remaining count is null."); } }