JP2013516701A5 - - Google Patents

Download PDF

Info

Publication number
JP2013516701A5
JP2013516701A5 JP2012548049A JP2012548049A JP2013516701A5 JP 2013516701 A5 JP2013516701 A5 JP 2013516701A5 JP 2012548049 A JP2012548049 A JP 2012548049A JP 2012548049 A JP2012548049 A JP 2012548049A JP 2013516701 A5 JP2013516701 A5 JP 2013516701A5
Authority
JP
Japan
Prior art keywords
tree
node
pointer
consumer
parent
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.)
Granted
Application number
JP2012548049A
Other languages
English (en)
Other versions
JP5734311B2 (ja
JP2013516701A (ja
Filing date
Publication date
Priority claimed from US12/683,445 external-priority patent/US10564944B2/en
Application filed filed Critical
Publication of JP2013516701A publication Critical patent/JP2013516701A/ja
Publication of JP2013516701A5 publication Critical patent/JP2013516701A5/ja
Application granted granted Critical
Publication of JP5734311B2 publication Critical patent/JP5734311B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (15)

  1. プロセッサと、
    モジュールを含むメモリであって、前記モジュールは、前記プロセッサに、少なくとも1つのコンシューマがアクセス可能な、ソース・コードの少なくとも1つの文を表現する木を表すデータ構造を生成させるように構成され、前記データ構造は、
    前記少なくとも1つのコンシューマが直接にはアクセスできない共有の読取専用の木を表す再利用可能な第1の木であって、前記読取専用の木は単方向のポインタを有するノードを含み、前記第1の木の前記ノードは親ノードへのポインタを有さず、前記読取専用の木に含まれる前記ノードはソース・コードの前記少なくとも1つの文の異なる各要素に対応している、第1の木と、
    前記少なくとも1つのコンシューマの前記第1の木へのアクセスを制御する少なくとも1つの根ノードを含む、前記少なくとも1つのコンシューマがアクセス可能な第2の木であって、前記第2の木の前記根ノードは前記第1の木の根ノードへのポインタを含む、第2の木と
    を含む、メモリと
    を備えたことを特徴とするシステム。
  2. 前記第1の木の要求されたノードへの経路上にある前記第1の木のノードごとに前記第2の木にノードを生成することにより、前記第2の木を要求に応じて構築し、前記生成されたノードは、前記要求されたノードへの前記経路上にある前記第1の木における次のノードに対応し、前記生成されたノードは、前記第1の木の対応する前記ノードへのポインタ、および前記第2の木の前記生成されたノードの親ノードへのポインタを含むことを特徴とする請求項1に記載のシステム。
  3. 前記第1の木は、相対的な情報を保持する秘密木であり、前記第2の木は、コンシューマ固有の情報を保持する公開木であることを特徴とする請求項1に記載のシステム。
  4. 前記木は、解析木、構文木、意味木、または束縛木を含むコンパイラ生成型の木であることを特徴とする請求項1に記載のシステム。
  5. 前記少なくとも1つのコンシューマから変更した木の要求を受信したことに応答して、新たな公開木および新たな秘密木を生成し、前記新たな秘密木は、前記第1の木の少なくとも1つの部分木を再利用することを特徴とする請求項3に記載のシステム。
  6. ソフトウェア開発コンピュータのIDEにおいて、コンシューマがアクセス可能なデータ構造を生成するステップであって、前記データ構造は、
    読取専用で秘密の、単方向をポイントする第1の木であって、ソース・コードの少なくとも1つの文を表現し、前記第1の木は少なくとも1つのノードを含み、前記少なくとも1つのノードは、前記第1の木の親ノードから前記第1の木の子ノードへのポインタを含む少なくとも1つの単方向ポインタを含み、前記少なくとも1つのノードは、ソース・コードの前記少なくとも1つの文の少なくとも1つの各要素に対応している、第1の木と、
    コンシューマがアクセス可能な第2の木であって、前記第2の木は前記第1の木へのアクセスを制御し、前記第2の木は、少なくとも根ノードを含み、前記第2の木の前記根ノードは前記第1の木の根ノードへのポインタを含む、第2の木と
    を表す、生成するステップを備えたことを特徴とする方法。
  7. 変更した第1の木を表す木の要求を受信したことに応答して、新たな公開木および新たな秘密木を生成するステップをさらに備え、前記新たな秘密木は、少なくとも1つのノードにおいて前記第1の秘密木と異なる木を表し、前記新たな公開木は、少なくとも1つのノードにおいて前記コンシューマがアクセス可能な第2の木と異なる木を表ことを特徴とする請求項6に記載の方法。
  8. 前記コンシューマ前記第2の木を用いて処理を終了したときに、前記第2の木をガベージ・コレクションするステップをさらに備えたことを特徴とする請求項6に記載の方法。
  9. 前記第2の木のノードは、前記第2の木の前記ノードから前記第2の木の前記ノードの子ノードへのポインタ、および前記第2の木の前記ノードから前記第2の木の前記ノードの親ノードへのポインタを含む、双方向ポインタを含み、前記第2の木の前記ノードは、前記第2の木の前記ノードから前記第1の木における対応するノードへのポインタを含み、前記第2の木のノードを、前記第1の木のノードへのアクセス要求をコンシューマから受信したことに応答して、要求に応じて生成することを特徴とする請求項6に記載の方法。
  10. 前記第1の木は秘密木であり、前記第2の木は公開木であることを特徴とする請求項6に記載の方法。
  11. 実行時に少なくとも1つのプロセッサにソース・コードの少なくとも1つの文を表現する木を表すデータ構造を生成させるコンピュータ実行可能命令を備えたコンピュータ可読記憶媒体であって、前記データ構造は、
    コンシューマがアクセスできない読取専用で再利用可能な第1の木であって、前記第1の木は単方向のポインタを有し、前記第1の木の親ノードは、前記親ノードの子ノードへのポインタを含み、前記親ノードは、前記第1の木の前記親ノードの親ノードへのポインタを含まず、前記親ノードおよび前記親ノードの子ノードはソース・コードの前記少なくとも1つの文の異なる要素に対応している、第1の木と、
    前記コンシューマがアクセス可能である再利用不能な第2の木であって、前記第2の木は双方向のポインタを有し、前記第2の木の親ノードは前記親ノードの子ノードへのポインタを含み、前記親ノードは前記第2の木の前記親ノードの親ノードへのポインタを含み、前記第2の木は前記第1の木へのコンシューマのアクセスを制御する、第2の木と
    を含むことを特徴とするコンピュータ可読記憶媒体。
  12. 実行時に前記少なくとも1つのプロセッサに前記データ構造を生成させるコンピュータ実行可能命令をさらに備え、前記第2の木を、前記第1の木のノードへの前記コンシューマのアクセス要求に応答して、要求に応じて生成することを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  13. 実行時に前記少なくとも1つのプロセッサに前記データ構造を生成させるコンピュータ実行可能命令をさらに備え、前記第1の木は相対的な内容を含み、前記第2の木はコンシューマ固有の内容を含むことを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
  14. 実行時に前記少なくとも1つのプロセッサに、前記第1の木の前記要求されたノードへの経路上にあるノードごとに前記第2の木にノードを生成することによって、要求に応じて前記第2の木を生成させるコンピュータ実行可能命令をさらに備え、前記生成されたノードは、前記要求されたノードへの前記経路上の前記第1の木における次のノードに対応し、前記第2の木の前記生成されたノードは、前記第1の木の対応するノードへのポインタを含むことを特徴とする請求項12に記載のコンピュータ可読記憶媒体。
  15. 実行時に前記少なくとも1つのプロセッサに、前記第2の木のノードへのアクセス要求を前記コンシューマから受信したことに応答して、前記第2の木の読取専用で再利用可能なバージョンを含む第3の木を生成させるコンピュータ実行可能命令をさらに備え、前記第3の木は、前記第3の木の親ノードから前記第3の木の前記親ノードの子ノードへの単方向ポインタを有し、前記第3の木への前記コンシューマのアクセスを制御する第4の木を生成し、前記第4の木は、前記コンシューマがアクセス可能な再利用不能な木を含み、前記第4の木は、前記第4の木の親ノードから前記第4の木の前記親ノードの子ノードへのポインタと、前記第4の木の子ノードから前記第4の木の前記子ノードの親ノードへのポインタと、前記第4の木のノードから前記第3の木の対応するノードへのポインタとを含む双方向のポインタを有することを特徴とする請求項11に記載のコンピュータ可読記憶媒体。
JP2012548049A 2010-01-07 2010-12-31 漸進的変化を伴う効率的な不変構文表現 Active JP5734311B2 (ja)

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 true JP2013516701A5 (ja) 2014-03-06
JP5734311B2 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)

* 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
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)

* 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
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

Similar Documents

Publication Publication Date Title
JP2013516701A5 (ja)
JP5197688B2 (ja) 統合環境生成器
CN106919434B (zh) 一种代码生成方法及装置
US10162738B2 (en) System, method, and computer readable medium for universal software testing
Fedosejev React. js essentials
US8997070B2 (en) Extension mechanism for scripting language compiler
KR101154730B1 (ko) 컴퓨터 프로그램의 구성 방법
US9524279B2 (en) Help document animated visualization
JP2014519630A (ja) 中間フォーマットを用いた、swfのhtmlへのクロスコンパイル
RU2014107726A (ru) Проецирование собственных интерфейсов прикладного программирования операционной системы в другие языки программирования
JP6479184B2 (ja) コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置
RU2004100525A (ru) Способ и система для записи макросов в синтаксисе, независимом от языка
CN103902269A (zh) 一种通过xml文件生成mib文件的系统及方法
CN103077038B (zh) 动态生成和编译.net项目的方法
André et al. Translating UML state machines to coloured Petri nets using Acceleo: A report
CN106484488A (zh) 一体化云编译方法和系统
JP2008276735A (ja) プログラムコード変換装置及びプログラムコード変換方法
RU2016147085A (ru) Осуществление доступа к семантическому контенту в системе разработки
IN2013CH05996A (ja)
CN112114794B (zh) 网站应用程序自动生成方法、装置和计算机存储介质
Herrera et al. A framework for the generation from UML/MARTE models of IPXACT HW platform descriptions for multi-level performance estimation
CN110554867B (zh) 一种应用程序的处理方法和装置
CN112181398A (zh) 配置文件处理装置、方法及存储介质
Zschaler Vml*: A generative infrastructure for variability management languages
JP2010152667A (ja) ソースコード自動生成プログラム