KR101764941B1 - 점진적 변화를 이용한 효율적 불변 구문 표현 - Google Patents

점진적 변화를 이용한 효율적 불변 구문 표현 Download PDF

Info

Publication number
KR101764941B1
KR101764941B1 KR1020127018073A KR20127018073A KR101764941B1 KR 101764941 B1 KR101764941 B1 KR 101764941B1 KR 1020127018073 A KR1020127018073 A KR 1020127018073A KR 20127018073 A KR20127018073 A KR 20127018073A KR 101764941 B1 KR101764941 B1 KR 101764941B1
Authority
KR
South Korea
Prior art keywords
tree
node
public
private
consumer
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020127018073A
Other languages
English (en)
Korean (ko)
Other versions
KR20120115304A (ko
Inventor
매튜 제이 워렌
아브너 와이 아하로니
마즈 토르게센
레나우드 파쿼이
닐 엠 가프터
자레드 파슨스
데이비드 엔 샤크
알렉세이 브이 신가우즈
피터 골드
케빈 필치-비손
카렌 리우
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
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 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20120115304A publication Critical patent/KR20120115304A/ko
Application granted granted Critical
Publication of KR101764941B1 publication Critical patent/KR101764941B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (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)
KR1020127018073A 2010-01-07 2010-12-31 점진적 변화를 이용한 효율적 불변 구문 표현 Active KR101764941B1 (ko)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
KR20120115304A KR20120115304A (ko) 2012-10-17
KR101764941B1 true KR101764941B1 (ko) 2017-08-03

Family

ID=44225340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127018073A Active KR101764941B1 (ko) 2010-01-07 2010-12-31 점진적 변화를 이용한 효율적 불변 구문 표현

Country Status (7)

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

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 (ja) * 2010-11-05 2014-08-13 株式会社日立製作所 計算機のモニタリングシステム及びモニタリング方法
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
KR20250143751A (ko) * 2023-02-02 2025-10-02 엘지전자 주식회사 무선 통신 시스템에서 시맨틱 오류를 검출하기 위한 장치 및 방법
WO2025080156A1 (en) * 2023-10-12 2025-04-17 Huawei Cloud Computing Technologies Co., Ltd. Method and apparatus for modifying syntax tree

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010592A1 (en) * 2003-07-08 2005-01-13 John Guthrie Method and system for taking a data snapshot
US20080109908A1 (en) 2006-11-02 2008-05-08 Microsoft Corporation Reverse Name Mappings In Restricted Namespace Environments
US20100174524A1 (en) 2004-07-02 2010-07-08 Philipp Koehn Empirical Methods for Splitting Compound Words with Application to Machine Translation

Family Cites Families (33)

* 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
JP3526595B2 (ja) * 1993-10-29 2004-05-17 富士通株式会社 情報管理機構
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 (ja) 1997-10-13 2008-07-30 株式会社東芝 データ退避方法
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 (ja) 1999-02-12 2003-03-24 日本電気株式会社 木構造データ編集システムにおける木構造差分出力方法及び装置
US20020027909A1 (en) * 2000-06-30 2002-03-07 Mariner Networks, Inc. Multientity queue pointer chain technique
US7035802B1 (en) * 2000-07-31 2006-04-25 Matsushita Electric Industrial Co., Ltd. Recognition system using lexical trees
DE10104831A1 (de) * 2001-02-01 2002-08-08 Sap Ag Datenstruktur für Informationssysteme
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
US7188340B2 (en) * 2002-06-28 2007-03-06 Microsoft Corporation Hybrid tree for mixed user interface elements and sequential data
US7072904B2 (en) * 2002-12-02 2006-07-04 Microsoft Corporation Deletion and compaction using versioned nodes
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
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 (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050010592A1 (en) * 2003-07-08 2005-01-13 John Guthrie Method and system for taking a data snapshot
US20100174524A1 (en) 2004-07-02 2010-07-08 Philipp Koehn Empirical Methods for Splitting Compound Words with Application to Machine Translation
US20080109908A1 (en) 2006-11-02 2008-05-08 Microsoft Corporation Reverse Name Mappings In Restricted Namespace Environments

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101764941B1 (ko) 점진적 변화를 이용한 효율적 불변 구문 표현
US9182980B2 (en) Expansion and reduction of source code for code refactoring
US9696974B2 (en) Graph-based model for type systems
US9928156B2 (en) Missing include suggestions for external files
US20130152061A1 (en) Full fidelity parse tree for programming language processing
Havlak Interprocedural symbolic analysis
EP2521967A2 (en) Creating inferred symbols from code usage
Yallop Staged generic programming
Plaisted Source-to-source translation and software engineering
US10642714B2 (en) Mapping dynamic analysis data to source code
Sakka et al. Sound, fine-grained traversal fusion for heterogeneous trees
Söderberg et al. Incremental evaluation of reference attribute grammars using dynamic dependency tracking
JP2022119668A (ja) コード変更方法及びコード変更プログラム
Visser Understanding software through linguistic abstraction
Kalleberg et al. Fusing a transformation language with an open compiler
Boukham et al. A multi-target, multi-paradigm DSL compiler for algorithmic graph processing
CN113641361A (zh) 一种基于Clang的代码隐藏方法及装置
Balaji The FMS Manual: A developer's guide to the GFDL Flexible Modeling System
Overbey Immutable source-mapped abstract syntax tree: a design pattern for refactoring engine APIs
Laddad et al. Fluid quotes: metaprogramming across abstraction boundaries with dependent types
HK1174708B (en) A system and method for creating a data structure
Scheidgen et al. Model-based mining of source code repositories
Macedo et al. Efficient embedding of strategic attribute grammars via memoization
Cazzola et al. DEXTER and Neverlang: a union towards dynamicity
Shaikhha et al. A Compiler-Compiler for DSL Embedding

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20120711

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20150715

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20151202

Comment text: Request for Examination of Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20161021

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20170428

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20170728

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20170728

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20200630

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20210629

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20220615

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20230622

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20240625

Start annual number: 8

End annual number: 8