JP5734311B2 - 漸進的変化を伴う効率的な不変構文表現 - Google Patents
漸進的変化を伴う効率的な不変構文表現 Download PDFInfo
- Publication number
- JP5734311B2 JP5734311B2 JP2012548049A JP2012548049A JP5734311B2 JP 5734311 B2 JP5734311 B2 JP 5734311B2 JP 2012548049 A JP2012548049 A JP 2012548049A JP 2012548049 A JP2012548049 A JP 2012548049A JP 5734311 B2 JP5734311 B2 JP 5734311B2
- Authority
- JP
- Japan
- Prior art keywords
- tree
- node
- pointer
- consumer
- computer
- 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
Links
- 230000008859 change Effects 0.000 title description 12
- 230000015654 memory Effects 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 10
- 230000002457 bidirectional effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 19
- 238000011161 development Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4434—Reducing the memory space required by the program code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/48—Incremental 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)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
- Storage Device Security (AREA)
Description
コンピュータ言語の解析木(文法要素に分解された入力されたソース・コードを記述する、言語構文解析器の出力)、構文木、意味木、および束縛木(派生メンバ等、束縛情報を含む木)のような木は、多種多様なコンシューマに有用である。当該コンシューマには、コンパイラ、デバッガ、ソース・コード・エディタ、クラス・デザイナ、アーキテクチャ・エクスプローラ、メトリックのようなコード・アナライザ、ルール・チェッカ、およびソース・コード・リファクタリング・ツール等のような開発ツールが含まれる。データ完全性を維持しつつ同一の木に対して同時に複数のコンシューマがアクセスできるようにするために、木を不変の(読取専用の)構造として表現することができる。
参考図(FIG.1d)は、本明細書で開示した主題の諸態様に従う、漸進的変化を伴う効率的な不変構文表現のためのシステム100の1例を示す。システム100の全部または一部が、図1に関して後述するコンピュータのような1つまたは複数のコンピュータに存在することができる。システム100の全部または一部が、図2に関して後述するコンピュータのような1つまたは複数のソフトウェア開発コンピュータ(例えば、コンピュータ102)に存在することもできる。システム100またはその一部が、図2に関して後に説明および例示するもののような統合開発環境(例えば、IDE104)の一部を備えることができる。あるいは、システム100またはその一部を、スタンドアロンのシステムまたはプラグインもしくはアドインとして提供することができる。
本明細書で開示した主題の様々な態様に対するコンテキストを提供するため、図1および以下の議論は、様々な実施形態を実装できる適切なコンピューティング環境510の簡潔で一般的な説明を提供しようとするものである。本明細書で開示した主題を、プログラム・モジュールのような、1つまたは複数のコンピュータまたは他のコンピューティング装置により実行されるコンピュータ実行可能命令の一般的なコンテキストで説明するが、本明細書で開示した主題の一部を他のプログラム・モジュールとの組合せおよび/またはハードウェアとソフトウェアとの組合せで実装することもできることは当業者には理解されよう。一般に、プログラム・モジュールは、特定のタスクを実施するかまたは特定のデータ型を実装するルーチン、プログラム、オブジェクト、物理的中間生成物、データ構造等を含む。一般に、プログラム・モジュールの機能を様々な実施形態において必要に応じて組み合わせるかまたは分散させることができる。コンピューティング環境510は適切な動作環境の1例にすぎず、本明細書で開示した主題の使用範囲または機能範囲を限定しようとするものではない。
Claims (15)
- プロセッサと、
モジュールを含むメモリであって、前記モジュールは、前記プロセッサに、少なくとも1つのコンシューマがアクセス可能な、ソース・コードの少なくとも1つの文を表現する木を表すデータ構造を生成させるように構成され、前記データ構造は、
前記少なくとも1つのコンシューマが直接にはアクセスできない共有の読取専用の木を表す再利用可能な第1の木であって、前記読取専用の木は単方向のポインタを有するノードを含み、前記第1の木の前記ノードは親ノードへのポインタを有さず、前記読取専用の木に含まれる前記ノードはソース・コードの前記少なくとも1つの文の異なる各要素に対応している、第1の木と、
前記少なくとも1つのコンシューマの前記第1の木へのアクセスを制御する少なくとも1つの根ノードを含む、前記少なくとも1つのコンシューマがアクセス可能な第2の木であって、前記第2の木の前記根ノードは前記第1の木の根ノードへのポインタを含む、第2の木と
を含む、メモリと
を備えたことを特徴とするシステム。 - 前記第1の木の要求されたノードへの経路上にある前記第1の木のノードごとに前記第2の木にノードを生成することにより、前記第2の木を要求に応じて構築し、前記生成されたノードは、前記要求されたノードへの前記経路上にある前記第1の木における次のノードに対応し、前記生成されたノードは、前記第1の木の対応する前記ノードへのポインタ、および前記第2の木の前記生成されたノードの親ノードへのポインタを含むことを特徴とする請求項1に記載のシステム。
- 前記第1の木は、相対的な情報を保持する秘密木であり、前記第2の木は、コンシューマ固有の情報を保持する公開木であることを特徴とする請求項1に記載のシステム。
- 前記木は、解析木、構文木、意味木、または束縛木を含むコンパイラ生成型の木であることを特徴とする請求項1に記載のシステム。
- 前記少なくとも1つのコンシューマから変更した木の要求を受信したことに応答して、新たな公開木および新たな秘密木を生成し、前記新たな秘密木は、前記第1の木の少なくとも1つの部分木を再利用することを特徴とする請求項3に記載のシステム。
- ソフトウェア開発コンピュータのIDEにおいて、コンシューマがアクセス可能なデータ構造を生成するステップであって、前記データ構造は、
読取専用で秘密の、単方向をポイントする第1の木であって、ソース・コードの少なくとも1つの文を表現し、前記第1の木は、少なくとも1つのノードを含み、前記少なくとも1つのノードは、前記第1の木の親ノードから前記第1の木の子ノードへのポインタを含む少なくとも1つの単方向ポインタを含み、前記少なくとも1つのノードは、ソース・コードの前記少なくとも1つの文の少なくとも1つの各要素に対応している、第1の木と、
コンシューマがアクセス可能な第2の木であって、前記第2の木は前記第1の木へのアクセスを制御し、前記第2の木は、少なくとも根ノードを含み、前記第2の木の前記根ノードは前記第1の木の根ノードへのポインタを含む、第2の木と
を表す、生成するステップを備えたことを特徴とする方法。 - 変更した第1の木を表す木の要求を受信したことに応答して、新たな公開木および新たな秘密木を生成するステップをさらに備え、前記新たな秘密木は、少なくとも1つのノードにおいて前記第1の秘密木と異なる木を表し、前記新たな公開木は、少なくとも1つのノードにおいて前記コンシューマがアクセス可能な第2の木と異なる木を表すことを特徴とする請求項6に記載の方法。
- 前記コンシューマが前記第2の木を用いて処理を終了したときに、前記第2の木をガベージ・コレクションするステップをさらに備えたことを特徴とする請求項6に記載の方法。
- 前記第2の木のノードは、前記第2の木の前記ノードから前記第2の木の前記ノードの子ノードへのポインタ、および前記第2の木の前記ノードから前記第2の木の前記ノードの親ノードへのポインタを含む、双方向ポインタを含み、前記第2の木の前記ノードは、前記第2の木の前記ノードから前記第1の木における対応するノードへのポインタを含み、前記第2の木のノードを、前記第1の木のノードへのアクセス要求をコンシューマから受信したことに応答して、要求に応じて生成することを特徴とする請求項6に記載の方法。
- 前記第1の木は秘密木であり、前記第2の木は公開木であることを特徴とする請求項6に記載の方法。
- 実行時に少なくとも1つのプロセッサにソース・コードの少なくとも1つの文を表現する木を表すデータ構造を生成させるコンピュータ実行可能命令を備えたコンピュータ可読記憶媒体であって、前記データ構造は、
コンシューマがアクセスできない読取専用で再利用可能な第1の木であって、前記第1の木は単方向のポインタを有し、前記第1の木の親ノードは、前記親ノードの子ノードへのポインタを含み、前記親ノードは、前記第1の木の前記親ノードの親ノードへのポインタを含まず、前記親ノードおよび前記親ノードの子ノードはソース・コードの前記少なくとも1つの文の異なる要素に対応している、第1の木と、
前記コンシューマがアクセス可能である再利用不能な第2の木であって、前記第2の木は双方向のポインタを有し、前記第2の木の親ノードは前記親ノードの子ノードへのポインタを含み、前記親ノードは前記第2の木の前記親ノードの親ノードへのポインタを含み、前記第2の木は前記第1の木へのコンシューマのアクセスを制御する少なくとも1つの根ノードを含み、前記第2の木の前記根ノードは前記第1の木の根ノードへのポインタを含む、第2の木と
を含むことを特徴とするコンピュータ可読記憶媒体。 - 実行時に前記少なくとも1つのプロセッサに前記データ構造を生成させるコンピュータ実行可能命令をさらに備え、前記第2の木を、前記第1の木のノードへの前記コンシューマのアクセス要求に応答して、要求に応じて生成することを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
- 実行時に前記少なくとも1つのプロセッサに前記データ構造を生成させるコンピュータ実行可能命令をさらに備え、前記第1の木は相対的な内容を含み、前記第2の木はコンシューマ固有の内容を含むことを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
- 実行時に前記少なくとも1つのプロセッサに、前記第1の木の前記要求されたノードへの経路上にあるノードごとに前記第2の木にノードを生成することによって、要求に応じて前記第2の木を生成させるコンピュータ実行可能命令をさらに備え、前記生成されたノードは、前記要求されたノードへの前記経路上の前記第1の木における次のノードに対応し、前記第2の木の前記生成されたノードは、前記第1の木の対応するノードへのポインタを含むことを特徴とする請求項12に記載のコンピュータ可読記憶媒体。
- 実行時に前記少なくとも1つのプロセッサに、前記第2の木のノードへのアクセス要求を前記コンシューマから受信したことに応答して、前記第2の木の読取専用で再利用可能なバージョンを含む第3の木を生成させるコンピュータ実行可能命令をさらに備え、前記第3の木は、前記第3の木の親ノードから前記第3の木の前記親ノードの子ノードへの単方向ポインタを有し、前記第3の木への前記コンシューマのアクセスを制御する第4の木を生成し、前記第4の木は、前記コンシューマがアクセス可能な再利用不能な木を含み、前記第4の木は、前記第4の木の親ノードから前記第4の木の前記親ノードの子ノードへのポインタと、前記第4の木の子ノードから前記第4の木の前記子ノードの親ノードへのポインタと、前記第4の木のノードから前記第3の木の対応するノードへのポインタとを含む双方向のポインタを有することを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
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 (3)
Publication Number | Publication Date |
---|---|
JP2013516701A JP2013516701A (ja) | 2013-05-13 |
JP2013516701A5 JP2013516701A5 (ja) | 2014-03-06 |
JP5734311B2 true JP5734311B2 (ja) | 2015-06-17 |
Family
ID=44225340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012548049A Active JP5734311B2 (ja) | 2010-01-07 | 2010-12-31 | 漸進的変化を伴う効率的な不変構文表現 |
Country Status (8)
Country | Link |
---|---|
US (2) | US10564944B2 (ja) |
EP (1) | EP2521978B1 (ja) |
JP (1) | JP5734311B2 (ja) |
KR (1) | KR101764941B1 (ja) |
CN (1) | CN102696026B (ja) |
CA (1) | CA2786588A1 (ja) |
HK (1) | HK1174708A1 (ja) |
WO (1) | WO2011084876A2 (ja) |
Families Citing this family (10)
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 |
US10402499B2 (en) * | 2016-11-17 | 2019-09-03 | Goldman Sachs & Co. LLC | System and method for coupled detection of syntax and semantics for natural language understanding and generation |
DK3644196T3 (da) * | 2018-10-26 | 2022-08-01 | Tata Consultancy Services Ltd | Systemer og fremgangsmåde til lagring af data i et integreret array og en struktur baseret på en linked-liste |
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 |
Family Cites Families (36)
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 |
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 |
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 |
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 |
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 |
-
2010
- 2010-01-07 US US12/683,445 patent/US10564944B2/en active Active
- 2010-12-31 CN CN201080060863.8A patent/CN102696026B/zh active Active
- 2010-12-31 WO PCT/US2010/062653 patent/WO2011084876A2/en active Application Filing
- 2010-12-31 EP EP10842771.7A patent/EP2521978B1/en active Active
- 2010-12-31 KR KR1020127018073A patent/KR101764941B1/ko active IP Right Grant
- 2010-12-31 JP JP2012548049A patent/JP5734311B2/ja active Active
- 2010-12-31 CA CA2786588A patent/CA2786588A1/en not_active Abandoned
-
2013
- 2013-02-08 HK HK13101829.0A patent/HK1174708A1/zh unknown
-
2020
- 2020-02-17 US US16/792,706 patent/US11372630B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200183667A1 (en) | 2020-06-11 |
JP2013516701A (ja) | 2013-05-13 |
US11372630B2 (en) | 2022-06-28 |
CN102696026A (zh) | 2012-09-26 |
US20110167088A1 (en) | 2011-07-07 |
EP2521978A4 (en) | 2014-04-02 |
HK1174708A1 (zh) | 2013-06-14 |
CN102696026B (zh) | 2016-01-20 |
EP2521978A2 (en) | 2012-11-14 |
KR101764941B1 (ko) | 2017-08-03 |
US10564944B2 (en) | 2020-02-18 |
WO2011084876A3 (en) | 2011-11-17 |
CA2786588A1 (en) | 2011-07-14 |
KR20120115304A (ko) | 2012-10-17 |
EP2521978B1 (en) | 2020-06-24 |
WO2011084876A2 (en) | 2011-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5734311B2 (ja) | 漸進的変化を伴う効率的な不変構文表現 | |
US9182980B2 (en) | Expansion and reduction of source code for code refactoring | |
US8239823B2 (en) | Generating libraries for reflection without project compilation | |
US9928156B2 (en) | Missing include suggestions for external files | |
US8407667B2 (en) | Inferring missing type information for reflection | |
EP2521967B1 (en) | Creating inferred symbols from code usage | |
US10447764B2 (en) | Mapping selections between a browser and the original fetched file from a web server | |
US20130152061A1 (en) | Full fidelity parse tree for programming language processing | |
Plaisted | Source-to-source translation and software engineering | |
CN112379917A (zh) | 浏览器兼容性提升方法、装置、设备及存储介质 | |
US10642714B2 (en) | Mapping dynamic analysis data to source code | |
Monnier et al. | Evolution of emacs lisp | |
Husák et al. | PeachPie: Mature PHP to CLI compiler | |
Erwig et al. | Type-safe update programming | |
von Dincklage et al. | Integrating program analyses with programmer productivity tools | |
JP2019179383A (ja) | Api処理方法、端末、api処理プログラム | |
Overbey | Immutable source-mapped abstract syntax tree: a design pattern for refactoring engine APIs | |
Cazzola et al. | DEXTER and Neverlang: a union towards dynamicity | |
Nitu et al. | Building an Interface for the D Compiler Library | |
JP2022119668A (ja) | コード変更方法及びコード変更プログラム | |
bin Uzayr et al. | Browserify | |
Beevi et al. | MetaJC++: A flexible and automatic program transformation technique using meta framework | |
Mårtensson et al. | Extending a Small Language with a Java Bytecode Back End | |
Harindrari | Workflow Management System for Stratosphere: Design and Preliminary Implementation | |
Waite | A SUIF Interface Module for Eli |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20130701 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130717 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140916 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140917 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141215 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150316 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150414 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5734311 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |