WO2011084876A3 - Efficient immutable syntax representation with incremental change - Google Patents

Efficient immutable syntax representation with incremental change Download PDF

Info

Publication number
WO2011084876A3
WO2011084876A3 PCT/US2010/062653 US2010062653W WO2011084876A3 WO 2011084876 A3 WO2011084876 A3 WO 2011084876A3 US 2010062653 W US2010062653 W US 2010062653W WO 2011084876 A3 WO2011084876 A3 WO 2011084876A3
Authority
WO
WIPO (PCT)
Prior art keywords
tree
incremental change
syntax representation
read
produced
Prior art date
Application number
PCT/US2010/062653
Other languages
French (fr)
Other versions
WO2011084876A2 (en
Inventor
Matthew J. Warren
Avner Y. Aharoni
Mads Torgersen
Renaud Paquay
Neal M. Gafter
Jared Parsons
David N. Schach
Aleksey V. Tsingauz
Peter Golde
Kevin Pilch-Bisson
Karen Liu
Original Assignee
Microsoft Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to CA2786588A priority Critical patent/CA2786588A1/en
Priority to KR1020127018073A priority patent/KR101764941B1/en
Priority to CN201080060863.8A priority patent/CN102696026B/en
Priority to EP10842771.7A priority patent/EP2521978B1/en
Priority to JP2012548049A priority patent/JP5734311B2/en
Priority to HK13101829.0A priority patent/HK1174708B/en
Publication of WO2011084876A2 publication Critical patent/WO2011084876A2/en
Publication of WO2011084876A3 publication Critical patent/WO2011084876A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/362Debugging of software
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2379Updates performed during online database operations; commit processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/48Incremental compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Efficient immutable syntax representation with parent pointers under incremental change is enabled by creating a data structure comprising at least one tree structure that allows both upward and downward references in the tree and a tree structure that is immutable (read-only), and allows parts of itself to be re-used in other data structures. The data structure described enables tools to search and target particular sub trees. The fragment of the tree representing the targeted sub tree is produced as it is used. The rest of the tree is not produced. The read-only tree retains relative information, allowing it to be reassembled and shared.
PCT/US2010/062653 2010-01-07 2010-12-31 Efficient immutable syntax representation with incremental change WO2011084876A2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA2786588A CA2786588A1 (en) 2010-01-07 2010-12-31 Efficient immutable syntax representation with incremental change
KR1020127018073A KR101764941B1 (en) 2010-01-07 2010-12-31 Efficient immutable syntax representation with incremental change
CN201080060863.8A CN102696026B (en) 2010-01-07 2010-12-31 A kind of system and method for creating data structure
EP10842771.7A EP2521978B1 (en) 2010-01-07 2010-12-31 Efficient immutable syntax representation with incremental change
JP2012548049A JP5734311B2 (en) 2010-01-07 2010-12-31 Efficient invariant syntactic representation with gradual change
HK13101829.0A HK1174708B (en) 2010-01-07 2010-12-31 A system and method for creating a data structure

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/683,445 US10564944B2 (en) 2010-01-07 2010-01-07 Efficient immutable syntax representation with incremental change
US12/683,445 2010-01-07

Publications (2)

Publication Number Publication Date
WO2011084876A2 WO2011084876A2 (en) 2011-07-14
WO2011084876A3 true WO2011084876A3 (en) 2011-11-17

Family

ID=44225340

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/062653 WO2011084876A2 (en) 2010-01-07 2010-12-31 Efficient immutable syntax representation with incremental change

Country Status (7)

Country Link
US (2) US10564944B2 (en)
EP (1) EP2521978B1 (en)
JP (1) JP5734311B2 (en)
KR (1) KR101764941B1 (en)
CN (1) CN102696026B (en)
CA (1) CA2786588A1 (en)
WO (1) WO2011084876A2 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191397B2 (en) * 2008-06-27 2015-11-17 Microsoft Technology Licensing, Llc Extension model for improved parsing and describing protocols
JP5568776B2 (en) * 2010-11-05 2014-08-13 株式会社日立製作所 Computer monitoring system and monitoring method
US8825817B1 (en) * 2012-03-19 2014-09-02 Amazon Technologies, Inc. Using a template to update a stack of resources
US9710243B2 (en) * 2013-11-07 2017-07-18 Eagle Legacy Modernization, LLC Parser that uses a reflection technique to build a program semantic tree
US9921769B2 (en) 2014-06-19 2018-03-20 Cohesity, Inc. Making more active use of a secondary storage system
US10614131B2 (en) * 2016-10-26 2020-04-07 Lookingglass Cyber Solutions, Inc. Methods and apparatus of an immutable threat intelligence system
WO2018093904A1 (en) * 2016-11-17 2018-05-24 Goldman Sachs & Co. LLC System and method for coupled detection of syntax and semantics for natural language understanding and generation
EP3644196B1 (en) * 2018-10-26 2022-05-11 Tata Consultancy Services Limited Systems and methods for storing data in an integrated array and linked list based structure
US10901706B1 (en) * 2019-08-14 2021-01-26 Business Objects Software Ltd. Partially immutable model
US11392356B1 (en) * 2021-02-26 2022-07-19 Oracle International Corporation Online machine learning based compilation
US12111957B2 (en) 2021-06-08 2024-10-08 Microsoft Technology Licensing, Llc Software provenance validation
WO2024162500A1 (en) * 2023-02-02 2024-08-08 엘지전자 주식회사 Device and method for detecting semantic error in wireless communication system
WO2025080156A1 (en) * 2023-10-12 2025-04-17 Huawei Cloud Computing Technologies Co., Ltd. Method and apparatus for modifying syntax tree

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204958A (en) * 1991-06-27 1993-04-20 Digital Equipment Corporation System and method for efficiently indexing and storing a large database with high data insertion frequency
US20040003348A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Hybrid tree for mixed user interface elements and sequential data
US20040093329A1 (en) * 2001-02-01 2004-05-13 Axel Von Bergen Database system and query optimiser
US7035802B1 (en) * 2000-07-31 2006-04-25 Matsushita Electric Industrial Co., Ltd. Recognition system using lexical trees

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3526595B2 (en) * 1993-10-29 2004-05-17 富士通株式会社 Information management mechanism
US5761511A (en) 1994-01-28 1998-06-02 Sun Microsystems, Inc. Method and apparatus for a type-safe framework for dynamically extensible objects
US5671416A (en) 1995-02-24 1997-09-23 Elson; David Apparatus and a method for searching and modifying source code of a computer program
CA2171570C (en) 1995-03-29 1999-09-21 Swee Boon Lim Compiler with generic front end and dynamically loadable back ends
US5939877A (en) * 1997-05-27 1999-08-17 Hewlett-Packard Company Graphical system and method for automatically scaling waveforms in a signal measurement system
JP4128641B2 (en) 1997-10-13 2008-07-30 株式会社東芝 Data backup method
US6378126B2 (en) * 1998-09-29 2002-04-23 International Business Machines Corporation Compilation of embedded language statements in a source code program
US6321338B1 (en) * 1998-11-09 2001-11-20 Sri International Network surveillance
JP3390357B2 (en) 1999-02-12 2003-03-24 日本電気株式会社 Tree structure difference output method and apparatus in tree structure data editing system
US20020027909A1 (en) * 2000-06-30 2002-03-07 Mariner Networks, Inc. Multientity queue pointer chain technique
US7222132B2 (en) * 2001-03-20 2007-05-22 Swsoft Holdings, Ltd. Common template file system tree for virtual environments and virtual servers
US7203701B1 (en) * 2002-02-20 2007-04-10 Trilogy Development Group, Inc. System and method for an interface to provide visualization and navigation of a directed graph
US6694323B2 (en) * 2002-04-25 2004-02-17 Sybase, Inc. System and methodology for providing compact B-Tree
US6857001B2 (en) 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7072904B2 (en) * 2002-12-02 2006-07-04 Microsoft Corporation Deletion and compaction using versioned nodes
US7711545B2 (en) 2003-07-02 2010-05-04 Language Weaver, Inc. Empirical methods for splitting compound words with application to machine translation
US20050010592A1 (en) 2003-07-08 2005-01-13 John Guthrie Method and system for taking a data snapshot
US8060619B1 (en) * 2003-11-07 2011-11-15 Symantec Operating Corporation Direct connections to a plurality of storage object replicas in a computer network
US20060277221A1 (en) * 2005-06-01 2006-12-07 Green Hills Software, Inc. Transactional file system with client partitioning
US20070009713A1 (en) * 2005-07-05 2007-01-11 Hoeschele Allen H Scored applique for instrument panels
US7762076B2 (en) * 2005-10-20 2010-07-27 United Technologies Corporation Attachment of a ceramic combustor can
US7535475B2 (en) * 2005-11-01 2009-05-19 Adobe Systems Incorporated Virtual view tree
US7921367B2 (en) * 2005-12-20 2011-04-05 Oracle International Corp. Application generator for data transformation applications
US7660804B2 (en) * 2006-08-16 2010-02-09 Microsoft Corporation Joint optimization of wrapper generation and template detection
US7769779B2 (en) 2006-11-02 2010-08-03 Microsoft Corporation Reverse name mappings in restricted namespace environments
US7802179B2 (en) 2006-12-21 2010-09-21 Microsoft Corporation Synchronizing data between different editor views
US8072467B2 (en) * 2007-01-31 2011-12-06 Microsoft Corporation Request-driven on-demand processing
US9043367B2 (en) * 2007-05-23 2015-05-26 Oracle International Corporation Self-learning data lenses for conversion of information from a first form to a second form
US9037613B2 (en) * 2007-05-23 2015-05-19 Oracle International Corporation Self-learning data lenses for conversion of information from a source form to a target form
US9063979B2 (en) * 2007-11-01 2015-06-23 Ebay, Inc. Analyzing event streams of user sessions
US20090199090A1 (en) * 2007-11-23 2009-08-06 Timothy Poston Method and system for digital file flow management
US20090254594A1 (en) * 2008-04-02 2009-10-08 Microsoft Corporation Techniques to enhance database performance

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5204958A (en) * 1991-06-27 1993-04-20 Digital Equipment Corporation System and method for efficiently indexing and storing a large database with high data insertion frequency
US7035802B1 (en) * 2000-07-31 2006-04-25 Matsushita Electric Industrial Co., Ltd. Recognition system using lexical trees
US20040093329A1 (en) * 2001-02-01 2004-05-13 Axel Von Bergen Database system and query optimiser
US20040003348A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Hybrid tree for mixed user interface elements and sequential data

Also Published As

Publication number Publication date
US20200183667A1 (en) 2020-06-11
KR101764941B1 (en) 2017-08-03
US10564944B2 (en) 2020-02-18
US11372630B2 (en) 2022-06-28
US20110167088A1 (en) 2011-07-07
KR20120115304A (en) 2012-10-17
WO2011084876A2 (en) 2011-07-14
JP2013516701A (en) 2013-05-13
EP2521978A2 (en) 2012-11-14
EP2521978A4 (en) 2014-04-02
HK1174708A1 (en) 2013-06-14
EP2521978B1 (en) 2020-06-24
JP5734311B2 (en) 2015-06-17
CA2786588A1 (en) 2011-07-14
CN102696026A (en) 2012-09-26
CN102696026B (en) 2016-01-20

Similar Documents

Publication Publication Date Title
WO2011084876A3 (en) Efficient immutable syntax representation with incremental change
CA2834864C (en) Database system and method
UY32509A (en) SYSTEM AND METHOD FOR IDENTIFYING TREES THROUGH THE USE OF LIDAR TREE MODELS
WO2012177394A3 (en) Dynamically updating a running page
WO2011112957A3 (en) Query model over information as a networked service
WO2012052786A3 (en) Earth model
WO2010014185A3 (en) Federated community search
WO2012027022A8 (en) Search engine optmization assistant
WO2010101790A3 (en) Content rendering on a computer
BR112016010082A2 (en) fungal endophytes to improve crop yield and pest protection
CL2009000898A1 (en) Transformed yeast strain that has altered urea transporter; method of modifying said yeast; Useful to produce a fermented beverage or food product, as well as the product produced with said yeast.
EP2372519A3 (en) Storage optimization selection within a virtualization environment
AR072608A1 (en) INTERGENERIC HYBRID PLANTS AND METHODS FOR THE PRODUCTION OF THE SAME
WO2011149961A3 (en) Systems and methods for identifying intersections using content metadata
WO2010117396A3 (en) Airspace deconfliction system
WO2013103374A3 (en) Linking source code to running element
WO2012026668A3 (en) Statistical machine translation method using dependency forest
HK1218005A1 (en) Protective patient footwear design and manufacturing system and methods
WO2015002790A3 (en) Generating and optimizing protocols
FI20115269A0 (en) Delayed update of shared information
WO2014188290A3 (en) Fast and secure retrieval of dna sequences
WO2011098231A9 (en) Method, computer program product and computer-readable storage medium for the generic creation of a tree structure for describing an it method
MX2012007245A (en) Flavor-enriching agent.
WO2011109583A3 (en) Bottom-up optimized search system and method
WO2012177543A3 (en) Automatic code decoration for code review

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10842771

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2786588

Country of ref document: CA

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2012548049

Country of ref document: JP

Ref document number: 2010842771

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 20127018073

Country of ref document: KR

Kind code of ref document: A