JP2002527814A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2002527814A5 JP2002527814A5 JP2000576356A JP2000576356A JP2002527814A5 JP 2002527814 A5 JP2002527814 A5 JP 2002527814A5 JP 2000576356 A JP2000576356 A JP 2000576356A JP 2000576356 A JP2000576356 A JP 2000576356A JP 2002527814 A5 JP2002527814 A5 JP 2002527814A5
- Authority
- JP
- Japan
- Prior art keywords
- method described
- code
- instruction set
- code segment
- programming language
- 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.)
- Pending
Links
- 238000004590 computer program Methods 0.000 description 2
- 230000000875 corresponding Effects 0.000 description 2
- 101710003000 ORF1/ORF2 Proteins 0.000 description 1
- 101710043203 P23p89 Proteins 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
Description
【特許請求の範囲】
【請求項1】 オブジェクト指向プログラミング言語およびコンポーネントをサポートするプログラミング言語のいずれか一方のプログラミング言語でコンピュータ・ソース・コードを生成するための方法であって、
生成命令セットを提供するための生成命令提供ステップと、
前記いずれか一方のプログラミング言語で複数のコード・セグメントを自動的に生成するコード・セグメント生成ステップと、を含んでおり、
前記生成命令セットは、(a)少なくとも2つのノードおよびこれらノードに対応する少なくとも2つのノード識別子の定義と、(b)少なくとも2つの文脈変数を用いてパラメータ化されたターゲット・ソース・コードと、(c)少なくとも2つのフィルタ命令と、を含んでおり、前記少なくとも2つの文脈変数の各々は、前記少なくとも2つのノードおよび前記少なくとも2つのノード識別子のうちのいずれか1つを指しており、前記少なくとも2つの文脈変数は、互いに異なる少なくとも2つのノードを示しており、前記ターゲット・ソース・コードは、前記いずれか一方のプログラミング言語にとって有効な構文ステートメントであり、前記少なくとも2つのフィルタ命令の各々は、前記少なくとも2つのノードのうちの少なくとも1つを前記定義に従って選択するための選択基準を含んでおり、
前記コード・セグメント生成ステップは、前記パラメータ化されたターゲット・ソース・コードにおいて、前記少なくとも2つのフィルタ命令に応じて、前記少なくとも2つの文脈変数を、前記少なくとも2つのノード識別子のうちの選択されたノード識別子の値と置換することによって行われる、方法。
【請求項2】 前記コード・セグメント生成ステップの現在の文脈となるように、前記少なくとも2つのフィルタ命令を用いて選択されたノードを識別するステップをさらに含むとともに、前記コード・セグメント生成ステップにおける前記ノード識別子の前記値は、前記コード・セグメント生成ステップの前記現在の文脈から得られる、請求項1に記載の方法。
【請求項3】 前記コード・セグメント生成ステップにおける前記ノード識別子の前記値は、前記コード・セグメント生成ステップの前記現在の文脈の親ノードから得られる、請求項1および2のいずれか1つに記載の方法。
【請求項4】 複数のコード・セグメントを生成する前記ステップが新しいコンポーネントを生成することを含む、請求項1〜3のいずれか1つに記載の方法。
【請求項5】 複数のコード・セグメントを生成する前記ステップが新しい方法を生成することを含む、請求項1〜4のいずれか1つに記載の方法。
【請求項6】 複数のコンポーネントを定義する1セットのコード・セグメントが得られるまで、前記各ステップが繰り返される、請求項1〜5のいずれか1つに記載の方法。
【請求項7】 前記いずれか一方のプログラミング言語はJAVA TM である、請求項1〜6のいずれか1つに記載の方法。
【請求項8】 前記ノードがクラスである、請求項1〜7のいずれか1つに記載の方法。
【請求項9】 前記ノードが属性である、請求項1〜8のいずれか1つに記載の方法。
【請求項10】 前記ノード識別子が名前である、請求項1〜9のいずれか1つに記載の方法。
【請求項11】 前記ノード識別子がタイプである、請求項1〜10までのいずれか1つに記載の方法。
【請求項12】 前記コード・セグメント生成ステップが、前記コード・セグメントのプログラミング言語を選択することを含む、請求項1〜11のいずれか1つに記載の方法。
【請求項13】 所定の文脈変数リストの中から少なくとも1つの文脈変数を選択するステップをさらに含む、請求項1〜12のいずれか1つに記載の方法。
【請求項14】 前記少なくとも1つの文脈変数は、前記生成命令セットにおいて、当該文脈変数を文脈変数パラメータとして識別するリーディング・シンボル・キャラクタを用いて表現される、請求項1〜13のいずれか1つに記載の方法。
【請求項15】 前記コード・セグメント生成ステップにおいて用いられる前記生成命令セットの中の位置を指すポインタ・データを、前記コード・セグメントの各々について、自動的に生成するステップをさらに含む、請求項1〜14のいずれか1つに記載の方法。
【請求項16】 前記ポインタ・データが前記複数のコード・セグメントとは別個のファイルに格納される、請求項15に記載の方法。
【請求項17】 前記ポインタ・データが前記コード・セグメント全体にわたって注釈行として示される、請求項15に記載の方法。
【請求項18】 前記ソース・コードにおいて変更を要する少なくとも1つの部位を見つけるステップと、
前記部位からの前記ポインタ・データを使用することにより、前記生成命令セットにおいて、前記ソース・コードにおける前記変更に対応する変更を要する複数の位置を見つけるステップと、
前記複数の位置の少なくとも一部において前記生成命令セットを変更するステップと、
前記変更された前記生成命令セットを用いて、前記コード・セグメント生成ステップを繰り返すステップと、をさらに含む、請求項15〜17のいずれか1つに記載の方法。
【請求項19】 前記生成命令セットの作成ステップ、配置ステップおよびカスタマイズステップのうちの少なくとも1つをさらに含む、請求項1から18のいずれか1つに記載の方法。
【請求項20】 前記定義は複数のプログラミング言語に対して適用できる、請求項1〜19までのいずれか1つに記載の方法。
【請求項21】 第1のプログラミング言語で書かれた前記生成命令セットを第2のプログラミング言語に翻訳することによって、前記複数のコード・セグメントが前記第2のプログラミング言語で生成されるステップをさらに含む、請求項1〜20のいずれか1つに記載の方法。
【請求項22】 前記第1のプログラミング言語はJAVA TM であり、前記第2のプログラミング言語はC++である、請求項21に記載の方法。
【請求項23】 請求項1から22までのいずれか1つに記載のすべてのステップを実行するために適用されるコード手段を含み、コンピュータによる読み出しが可能な媒体に記録されたコンピュータ・プログラム。
【請求項24】 請求項1から22までのいずれか1つに記載のすべてのステップを実行するために適用されるコード手段を含み、電気的または電磁気的な信号としての形態を有するコンピュータ・プログラム。
【請求項25】 請求項1から22までのいずれか1つによって提供される生成命令セットを含む搬送波中に具象化されたコンピュータ・データ信号。
【請求項1】 オブジェクト指向プログラミング言語およびコンポーネントをサポートするプログラミング言語のいずれか一方のプログラミング言語でコンピュータ・ソース・コードを生成するための方法であって、
生成命令セットを提供するための生成命令提供ステップと、
前記いずれか一方のプログラミング言語で複数のコード・セグメントを自動的に生成するコード・セグメント生成ステップと、を含んでおり、
前記生成命令セットは、(a)少なくとも2つのノードおよびこれらノードに対応する少なくとも2つのノード識別子の定義と、(b)少なくとも2つの文脈変数を用いてパラメータ化されたターゲット・ソース・コードと、(c)少なくとも2つのフィルタ命令と、を含んでおり、前記少なくとも2つの文脈変数の各々は、前記少なくとも2つのノードおよび前記少なくとも2つのノード識別子のうちのいずれか1つを指しており、前記少なくとも2つの文脈変数は、互いに異なる少なくとも2つのノードを示しており、前記ターゲット・ソース・コードは、前記いずれか一方のプログラミング言語にとって有効な構文ステートメントであり、前記少なくとも2つのフィルタ命令の各々は、前記少なくとも2つのノードのうちの少なくとも1つを前記定義に従って選択するための選択基準を含んでおり、
前記コード・セグメント生成ステップは、前記パラメータ化されたターゲット・ソース・コードにおいて、前記少なくとも2つのフィルタ命令に応じて、前記少なくとも2つの文脈変数を、前記少なくとも2つのノード識別子のうちの選択されたノード識別子の値と置換することによって行われる、方法。
【請求項2】 前記コード・セグメント生成ステップの現在の文脈となるように、前記少なくとも2つのフィルタ命令を用いて選択されたノードを識別するステップをさらに含むとともに、前記コード・セグメント生成ステップにおける前記ノード識別子の前記値は、前記コード・セグメント生成ステップの前記現在の文脈から得られる、請求項1に記載の方法。
【請求項3】 前記コード・セグメント生成ステップにおける前記ノード識別子の前記値は、前記コード・セグメント生成ステップの前記現在の文脈の親ノードから得られる、請求項1および2のいずれか1つに記載の方法。
【請求項4】 複数のコード・セグメントを生成する前記ステップが新しいコンポーネントを生成することを含む、請求項1〜3のいずれか1つに記載の方法。
【請求項5】 複数のコード・セグメントを生成する前記ステップが新しい方法を生成することを含む、請求項1〜4のいずれか1つに記載の方法。
【請求項6】 複数のコンポーネントを定義する1セットのコード・セグメントが得られるまで、前記各ステップが繰り返される、請求項1〜5のいずれか1つに記載の方法。
【請求項7】 前記いずれか一方のプログラミング言語はJAVA TM である、請求項1〜6のいずれか1つに記載の方法。
【請求項8】 前記ノードがクラスである、請求項1〜7のいずれか1つに記載の方法。
【請求項9】 前記ノードが属性である、請求項1〜8のいずれか1つに記載の方法。
【請求項10】 前記ノード識別子が名前である、請求項1〜9のいずれか1つに記載の方法。
【請求項11】 前記ノード識別子がタイプである、請求項1〜10までのいずれか1つに記載の方法。
【請求項12】 前記コード・セグメント生成ステップが、前記コード・セグメントのプログラミング言語を選択することを含む、請求項1〜11のいずれか1つに記載の方法。
【請求項13】 所定の文脈変数リストの中から少なくとも1つの文脈変数を選択するステップをさらに含む、請求項1〜12のいずれか1つに記載の方法。
【請求項14】 前記少なくとも1つの文脈変数は、前記生成命令セットにおいて、当該文脈変数を文脈変数パラメータとして識別するリーディング・シンボル・キャラクタを用いて表現される、請求項1〜13のいずれか1つに記載の方法。
【請求項15】 前記コード・セグメント生成ステップにおいて用いられる前記生成命令セットの中の位置を指すポインタ・データを、前記コード・セグメントの各々について、自動的に生成するステップをさらに含む、請求項1〜14のいずれか1つに記載の方法。
【請求項16】 前記ポインタ・データが前記複数のコード・セグメントとは別個のファイルに格納される、請求項15に記載の方法。
【請求項17】 前記ポインタ・データが前記コード・セグメント全体にわたって注釈行として示される、請求項15に記載の方法。
【請求項18】 前記ソース・コードにおいて変更を要する少なくとも1つの部位を見つけるステップと、
前記部位からの前記ポインタ・データを使用することにより、前記生成命令セットにおいて、前記ソース・コードにおける前記変更に対応する変更を要する複数の位置を見つけるステップと、
前記複数の位置の少なくとも一部において前記生成命令セットを変更するステップと、
前記変更された前記生成命令セットを用いて、前記コード・セグメント生成ステップを繰り返すステップと、をさらに含む、請求項15〜17のいずれか1つに記載の方法。
【請求項19】 前記生成命令セットの作成ステップ、配置ステップおよびカスタマイズステップのうちの少なくとも1つをさらに含む、請求項1から18のいずれか1つに記載の方法。
【請求項20】 前記定義は複数のプログラミング言語に対して適用できる、請求項1〜19までのいずれか1つに記載の方法。
【請求項21】 第1のプログラミング言語で書かれた前記生成命令セットを第2のプログラミング言語に翻訳することによって、前記複数のコード・セグメントが前記第2のプログラミング言語で生成されるステップをさらに含む、請求項1〜20のいずれか1つに記載の方法。
【請求項22】 前記第1のプログラミング言語はJAVA TM であり、前記第2のプログラミング言語はC++である、請求項21に記載の方法。
【請求項23】 請求項1から22までのいずれか1つに記載のすべてのステップを実行するために適用されるコード手段を含み、コンピュータによる読み出しが可能な媒体に記録されたコンピュータ・プログラム。
【請求項24】 請求項1から22までのいずれか1つに記載のすべてのステップを実行するために適用されるコード手段を含み、電気的または電磁気的な信号としての形態を有するコンピュータ・プログラム。
【請求項25】 請求項1から22までのいずれか1つによって提供される生成命令セットを含む搬送波中に具象化されたコンピュータ・データ信号。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10401498P | 1998-10-13 | 1998-10-13 | |
US60/104,014 | 1998-10-13 | ||
US14521499P | 1999-07-23 | 1999-07-23 | |
US60/145,214 | 1999-07-23 | ||
PCT/CA1999/000929 WO2000022517A1 (en) | 1998-10-13 | 1999-10-12 | Component-based source code generator |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002527814A JP2002527814A (ja) | 2002-08-27 |
JP2002527814A5 true JP2002527814A5 (ja) | 2006-11-02 |
Family
ID=26801106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000576356A Pending JP2002527814A (ja) | 1998-10-13 | 1999-10-12 | コンポーネント・ベース型ソース・コード・ジェネレータ |
Country Status (11)
Country | Link |
---|---|
EP (1) | EP1121637B1 (ja) |
JP (1) | JP2002527814A (ja) |
CN (1) | CN1323415A (ja) |
AT (1) | ATE239937T1 (ja) |
AU (1) | AU6073099A (ja) |
BR (1) | BR9914537A (ja) |
CA (1) | CA2347191A1 (ja) |
DE (1) | DE69907714T2 (ja) |
HK (1) | HK1040787A1 (ja) |
IL (1) | IL142587A0 (ja) |
WO (1) | WO2000022517A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7631011B2 (en) * | 2005-07-29 | 2009-12-08 | Microsoft Corporation | Code generation patterns |
DE102010051211A1 (de) | 2010-07-20 | 2012-01-26 | Rohde & Schwarz Gmbh & Co. Kg | Funkgerät mit Parameterprüf- und Korrektursystem und Verfahren zum Betrieb eines Funkgeräts |
US9116780B2 (en) * | 2013-02-06 | 2015-08-25 | Google Inc. | Method for modeling source code having code segments that lack source location |
CN103984555B (zh) * | 2014-05-29 | 2017-03-15 | 四川航天系统工程研究所 | 一种树表结合驱动Windows/Linux平台通讯协议源代码自动生成方法 |
KR101632027B1 (ko) * | 2014-11-11 | 2016-06-20 | 포트리스이노베이션 주식회사 | 주석기반의 의사코드를 이용한 프로그램 변환 방법 및 그 방법을 구현하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
CN107423106B (zh) * | 2017-07-07 | 2021-04-23 | 北京小米移动软件有限公司 | 支持多框架语法的方法和装置 |
CN108563435B (zh) * | 2018-04-19 | 2019-09-27 | 北京百度网讯科技有限公司 | 代码生成的方法及装置 |
CN109410939B (zh) * | 2018-11-29 | 2022-03-08 | 中国人民解放军91977部队 | 基于语音指令集的通用数据维护方法 |
CN110377463A (zh) * | 2019-06-19 | 2019-10-25 | 深圳壹账通智能科技有限公司 | 接口测试方法、装置、终端及计算机可读存储介质 |
CN110134396B (zh) * | 2019-07-09 | 2019-10-15 | 南京唯实科技有限公司 | 一种基于Nodejs开发界面组件的开发框架及方法 |
CN114385175A (zh) * | 2020-10-20 | 2022-04-22 | 武汉斗鱼鱼乐网络科技有限公司 | 一种代码生成方法、装置、电子设备及存储介质 |
CN112631573B (zh) * | 2020-12-25 | 2024-05-10 | 平安银行股份有限公司 | 组件添加方法、装置、设备及计算机可读存储介质 |
CN113835693B (zh) * | 2021-09-15 | 2024-03-08 | 欧电云信息科技(江苏)有限公司 | 代码生成方法、装置、电子设备、存储介质 |
CN115048111B (zh) * | 2022-08-16 | 2022-11-15 | 深圳华锐分布式技术股份有限公司 | 基于元数据的代码生成方法、装置、设备及介质 |
CN115993955B (zh) * | 2023-03-23 | 2023-06-23 | 山东大学 | 对称密码算法的源代码生成和测试方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4734854A (en) * | 1985-10-08 | 1988-03-29 | American Telephone And Telegraph Company | System for generating software source code components |
US5623657A (en) * | 1993-12-30 | 1997-04-22 | International Business Machines Corporation | System for processing application programs including a language independent context management technique |
-
1999
- 1999-10-12 JP JP2000576356A patent/JP2002527814A/ja active Pending
- 1999-10-12 AT AT99947145T patent/ATE239937T1/de not_active IP Right Cessation
- 1999-10-12 WO PCT/CA1999/000929 patent/WO2000022517A1/en active IP Right Grant
- 1999-10-12 EP EP99947145A patent/EP1121637B1/en not_active Expired - Lifetime
- 1999-10-12 CA CA002347191A patent/CA2347191A1/en not_active Abandoned
- 1999-10-12 AU AU60730/99A patent/AU6073099A/en not_active Abandoned
- 1999-10-12 IL IL14258799A patent/IL142587A0/xx unknown
- 1999-10-12 CN CN99812093A patent/CN1323415A/zh active Pending
- 1999-10-12 DE DE69907714T patent/DE69907714T2/de not_active Expired - Fee Related
- 1999-10-12 BR BR9914537-5A patent/BR9914537A/pt not_active IP Right Cessation
-
2002
- 2002-03-26 HK HK02102319.8A patent/HK1040787A1/zh unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002527814A5 (ja) | ||
CN106293664A (zh) | 代码生成方法及装置 | |
US7765529B1 (en) | Transforming graphical objects in a graphical modeling environment | |
CN104035754A (zh) | 一种基于xml的自定义代码生成方法及生成器 | |
CN104793961A (zh) | 使用原生Web代码的快速JavaWeb开发方法及系统 | |
CN102779037A (zh) | 一种自动生成与统一维护java项目的可视化编程方法 | |
CN106649794A (zh) | 图片合成方法及装置 | |
US20040177355A1 (en) | Build and install for software applications | |
CN112596706A (zh) | 模式化代码生成方法、装置和计算机可读存储介质 | |
CN107220044B (zh) | 基于元模型驱动业务对象的方法和装置 | |
JP3418544B2 (ja) | プログラムのテストデータ自動生成装置 | |
CN111506306A (zh) | 一种Ansible剧本编写方法、装置和电子设备 | |
CN116028062A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
Cisco | Templates | |
Balasubramanian et al. | Towards model-based intent-driven adaptive software | |
JP3759630B2 (ja) | スパイラル型オブジェクト指向ソフトウェアの開発支援システム | |
CN105094845A (zh) | 流程建模装置和方法 | |
Kalnins | Business modelling. Languages and tools | |
KR101765324B1 (ko) | Sql과 다이어그램을 이용하는 소스코드 생성 장치 및 그의 처리 방법 | |
JP3887550B2 (ja) | クロスリファレンス構築装置、クロスリファレンス構築方法及びクロスリファレンス構築用プログラム | |
Gerhart et al. | Concepts for the model-driven generation of graphical editors in eclipse by using the graphiti framework | |
Vysoký et al. | INGRID: Creating Languages in MPS from ANTLR Grammars | |
Riemann et al. | From a physics discharge program to device control—Linking the scientific and technical world at Wendelstein 7-X | |
JP3314905B2 (ja) | 画面情報参照再生装置 | |
JPH0793185A (ja) | ソフトウェア自動試験システム |