Concurrent parsing and processing of serial languages

US9378199B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9378199-B2
Application numberUS-201213589862-A
CountryUS
Kind codeB2
Filing dateAug 20, 2012
Priority dateMay 12, 2011
Publication dateJun 28, 2016
Grant dateJun 28, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The aspects enable a processor to concurrently execute a first serial language code (e.g., HTML) embedding a second serial language code (e.g., JAVASCRIPT®) during a page load operation 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 a partial rollback and re-parsing of the first serial language code is performed if the code is not well formed.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for executing a first serial language code in a processor, comprising: parsing a first serial language code having an embedded second serial language code until a segment of the second serial language code is encountered, the second serial language code being executable to generate additional first serial language code; storing parsing state information associated with the parsing of the first serial language code upon encountering the segment of the second serial language code in a memory of a computing device; continuing to parse the first serial language code; executing the encountered segment of the second serial language code to generate the additional first serial language code, wherein the encountered segment of the second serial language code is executed concurrent with the continued parsing of the first serial language code; inserting the additional first serial language code at a point in the first serial language code identified by the stored parsing state information; determining whether the additional first serial language code generated from the execution of the encountered segment of the second serial language code is well formed; and re-initiating parsing of the first serial language code and the additional first serial language code from the point in the first serial language code identified by the stored parsing state information in response to determining that the additional first serial language code is not well formed. 2. The method of claim 1 , further comprising: packaging the second serial language code and the parsing state information in an execution state package upon encountering the segment of second serial language code; and storing the execution state package in a memory of a computing device. 3. The method of claim 2 , further comprising: retrieving the parsing state information stored with the execution state package when it is determined that the generated first serial language code is not well formed; and discarding parse data generated from parsing the first serial language code after a point in the first serial language code identified by the execution state package. 4. The method of claim 2 , wherein packaging the second serial language code and the parsing state information in an execution state package upon encountering the segment of second serial language code comprises: extracting the segment of second serial language code contained in the identified portion of the first serial language code; storing a memory location associated with the extracted segment of the second serial language code; storing an execution context associated with the extracted segment of the second serial language code; and bundling the stored memory location and the stored execution context with the extracted segment of the second serial language code in the execution state package prior to storing the execution state package in the memory of the computing device. 5. The method of claim 1 , wherein parsing the first serial language code comprises parsing markup language code. 6. The method of claim 5 , wherein parsing markup language code comprises parsing hyper text markup language (HTML) code. 7. The method of claim 1 , wherein executing the encountered segment of the second serial language code comprises executing scripting language code. 8. A computing device, comprising: a processor configured with processor-executable instructions to perform operations comprising: parsing a first serial language code having an embedded second serial language code until a segment of the second serial language code is encountered, the second serial language code being executable to generate additional first serial language code; storing parsing state information associated with the parsing of the first serial language code upon encountering the segment of the second serial language code in a memory of the computing device; continuing to parse the first serial language code; executing the encountered segment of the second serial language code to generate the additional first serial language code, wherein the encountered segment of the second serial language code is executed concurrent with the continued parsing of the first serial language code; inserting the additional first serial language code at a point in the first serial language code identified by the stored parsing state information; determining whether the additional first serial language code generated from the execution of the encountered segment of the second serial language code is well formed; and re-initiating parsing of the first serial language code and the additional first serial language code from the point in the first serial language code identified by the stored parsing state information in response to determining that the additional first serial language code is not well formed. 9. The computing device of claim 8 , wherein the processor is configured with processor-executable instructions to perform operations further comprising: packaging the second serial language code and parsing state information in an execution state package upon encountering the segment of second serial language code; and storing the execution state package in the memory of the computing device. 10. The computing device of claim 9 , wherein the processor is configured with processor-executable instructions to perform operations further comprising: retrieving the parsing state information stored with the execution state package when it is determined that the generated first serial language code is not well formed; and discarding parse data generated from parsing the first serial language code after a point in the first serial language code identified by the execution state package. 11. The computing device of claim 9 , wherein the processor is configured with processor-executable instructions to perform operations such that packaging the second serial language code and the parsing state information in an execution state package upon encountering the segment of second serial language code comprises: extracting the segment of second serial language code contained in the identified portion of the first serial language code; storing a memory location associated with the extracted segment of the second serial language code in the memory; storing an execution context associated with the extracted segment of the second serial language code in the memory; and bundling the stored memory location and the stored execution context with the extracted segment of the second serial language code in the execution state package prior to storing the execution state package in the memory of the computing device. 12. The computing device of claim 8 , wherein the processor is configured with processor-executable instructions to perform operations such that parsing the first serial language code comprises parsing markup language code. 13. The computing device of claim 12 , wherein the processor is configured with processor-executable instructions to perform operations such that parsing markup language code comprises parsing hyper text markup language (HTML) code. 14. The computing device of claim 8 , wherein the processor is configured with processor-executable instructions to perform operations such that executing the encountered segment of the second serial language code comprises executing scripting language code. 15. A non-transitory storage medium having stored thereon processor-executable software instructions configured to cause a processor to perform operations comprising: parsing a first serial language code having

Assignees

Inventors

Classifications

  • Validation · CPC title

  • G06F40/221Primary

    Parsing markup language streams (streaming G06F40/149) · CPC title

  • G06F17/272Primary

    Physics · mapped topic

  • Physics · mapped topic

  • Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9378199B2 cover?
The aspects enable a processor to concurrently execute a first serial language code (e.g., HTML) embedding a second serial language code (e.g., JAVASCRIPT®) during a page load operation 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 execu…
Who is the assignee on this patent?
Vick Christopher A, Wang Bin, Reshadi Mehrdad Mohammad H, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F40/221. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 28 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).