US2013047077A1PendingUtilityA1

Concurrent parsing and processing of serial languages

Assignee: QUALCOMM INCPriority: May 12, 2011Filed: Oct 19, 2012Published: Feb 21, 2013
Est. expiryMay 12, 2031(~4.8 yrs left)· nominal 20-yr term from priority
G06F 40/221G06F 40/226G06F 40/143
54
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

The aspects enable a processor to concurrently execute a first serial language code embedding a second serial language code during a page load by a browser. A parser parses the first serial language code until a segment of the embedded second serial language code is encountered. The segment of embedded second serial language code is extracted for execution by an execution engine, which proceeds concurrently with speculative parsing of the first serial language code. Code generated by execution of second serial language code is evaluated to determine if it is well-formed, and partial rollback and re-parsing of the first serial language code is performed if the code is not well-formed. Concurrent parsing of first serial language code and execution of second language code, with partial roll back and reparsing when necessary, continues until the first language code has been parsed and the second serial language code has been executed.

Claims

exact text as granted — not AI-modified
1 . A computing device having at least one processor, comprising:
 means for receiving in the processor a request to load a web page;   means for receiving markup language code associated with the requested web page, the markup language code including embedded scripting language code;   means for parsing the received markup language code to generate parse data until a segment of scripting language code is encountered;   means for packaging the encountered segment of scripting language code and parsing state information in an execution state package upon encountering the segment of scripting language code;   means for storing the execution state package in a scripting language script queue;   means for continuing parsing the received markup language code;   means for obtaining the segment of scripting language code from the scripting language script queue;   means for executing the obtained segment of scripting language code concurrent with continued parsing of the markup language code;   means for determining whether markup language code generated from execution of the obtained segment of scripting language code is well formed;   means for storing the generated markup language code when it is determined that the generated markup language code is well formed; and   means for retrieving the parsing state information packaged in the execution state package, discarding parse data resulting from parsing of the markup language code after a point in the markup language code identified by the retrieved execution state package, and re-initiating parsing of the markup language code from the point in the markup language code identified by the retrieved execution state package, when it is determined that the generated markup language is not well formed.   
     
     
         2 . The computing device of  claim 1 , wherein means for packaging the encountered segment of scripting language code and state information in an execution state package comprises:
 means for extracting the encountered segment of scripting language code embedded in the markup language code;   means for storing a memory location address associated with the extracted segment of the scripting language code;   means for storing an execution context associated with the extracted segment of the scripting language code; and   means for generating the execution state package to include references to the stored memory location address, stored execution context, and the extracted segment of the scripting language code.   
     
     
         3 . The computing device of  claim 1 , wherein means for storing the execution state package in a scripting language script queue comprises means for storing the execution state package in a rear terminal position of the scripting language script queue. 
     
     
         4 . The computing device of  claim 1 , wherein means for obtaining the segment of scripting language from the scripting language script queue comprises means for initiating obtaining the segment in response to an execution state package being stored in the scripting language script queue. 
     
     
         5 . The computing device of  claim 1 , wherein means for obtaining the segment of scripting language from the scripting language script queue comprises means for extracting the segment of scripting language code from the execution state package stored in a front terminal of the scripting language script queue. 
     
     
         6 . The computing device of  claim 1 , wherein means for executing the obtained segment of scripting language comprises means for executing the obtained segment of scripting language such that it is performed independent of the concurrently executing parsing process and comprises:
 means for monitoring the scripting language script queue to determine if the scripting language script queue contains scripts available for processing;   means for retrieving the execution state package from a front terminal of the scripting language script queue when it is determined that the scripting language script queue contains scripts for processing;   means for extracting scripting language code from the retrieved execution state package;   means for evaluating extracted scripting language code to identify specific characteristics that allow the scripting language execution process to insert a second unit of markup language code into the received markup language code associated with the requested web page; and   means for executing the extracted scripting language code using identified specific characteristics to generate the second unit of markup language code.   
     
     
         7 . The computing device of  claim 1 , further comprising:
 means for repeating operations of:
 parsing the received markup language code, 
 packaging encountered scripting language code into execution packages, 
 storing the execution packages in the scripting language script queue, 
 continuing parsing the received markup language code, 
 obtaining the segment of scripting language code from the scripting language script queue, and 
 executing the obtained segment of scripting language code concurrent with continued parsing of the markup language code, 
   until all markup language code has been parsed and all scripting language code has been executed.   
     
     
         8 . The computing device of  claim 1 , wherein means for storing the generated markup language comprises:
 means for inserting the generated markup language code into the received markup language code associated with the requested web page.   
     
     
         9 . The computing device of  claim 1 , further comprising:
 means for determining whether parsing of the markup language code has completed;   means for determining whether execution of all scripting language code has completed; and   means for rendering the requested web page upon determining that both parsing of the markup language code has completed and execution of all scripting language code has completed.   
     
     
         10 . The computing device of  claim 1 , wherein the markup language is HTML.

Join the waitlist — get patent alerts

Track US2013047077A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.