JP2022540736A - キャラクタ推薦方法、キャラクタ推薦装置、コンピュータ装置およびプログラム - Google Patents

キャラクタ推薦方法、キャラクタ推薦装置、コンピュータ装置およびプログラム Download PDF

Info

Publication number
JP2022540736A
JP2022540736A JP2021546226A JP2021546226A JP2022540736A JP 2022540736 A JP2022540736 A JP 2022540736A JP 2021546226 A JP2021546226 A JP 2021546226A JP 2021546226 A JP2021546226 A JP 2021546226A JP 2022540736 A JP2022540736 A JP 2022540736A
Authority
JP
Japan
Prior art keywords
character
node
target
target character
code
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
JP2021546226A
Other languages
English (en)
Other versions
JP7236551B2 (ja
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 JP2022540736A publication Critical patent/JP2022540736A/ja
Application granted granted Critical
Publication of JP7236551B2 publication Critical patent/JP7236551B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Stored Programmes (AREA)

Abstract

本発明は、キャラクタ推薦方法および装置、コンピュータ装置並びに記憶媒体を提供する。当該方法は、コード入力インタフェースに入力されたコードを構文木に変換するステップであって、構文木は、複数のノード、複数のノードの間の階層関係および複数のノードの位置区間を含むステップ(302)と、コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木においてカーソルの位置に対応する少なくとも1つの参照ノードを決定するステップと、少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定するステップ(305)と、コード入力インタフェースに目標キャラクタを推薦するステップと、を含む。現在入力されたコードに基づいて後で入力する目標キャラクタを推薦することにより、開発者が自らキャラクタを入力する必要がなく、特に、開発者がキャラクタタイプを切り替える必要がある場合に、キーボードインタフェースを切り替える必要がなくなるため、開発者によるコード作成が容易となり、操作を簡素化し、入力時間を節約し、入力効率を向上させた。

Description

本出願は、2019年07月15日に提出された出願番号が201910636592.9であり、発明名称が「キャラクタ推薦方法および装置、並びに記憶媒体」である中国特許出願に基づいて優先権を要求し、その全ての内容は参照により本出願に組み込まれる。
本発明は、コンピュータの技術分野に関し、特にキャラクタ推薦方法および装置、コンピュータ装置並びに記憶媒体に関する。
コンピュータ装置は、一般的にコードに基づいて動作し、コードを実行することにより当該コードに対応する機能を実現する。コードの開発は、開発者が端末によって実現する必要があり、開発者は、端末にキャラクタを入力して、入力されたキャラクタでコードを構成する。
現在の端末は、一般的にタッチスクリーンを備えており、開発者は、当該端末がタッチスクリーンに提供した仮想キーボードによってキャラクタを入力する。タッチスクリーンのサイズが限られ、仮想キーボードのサイズも制限されるため、当該仮想キーボードに複数のキーボードインタフェースを設置し、異なるキーボードインタフェースに異なるタイプのキャラクタを表示する必要があり、当該キャラクタのタイプは、アルファベット、数字、演算子などを含むことができる。開発者は、コードを作成する過程においてキャラクタのタイプを切り替える必要がある場合、仮想キーボードのキーボードインタフェースを切り替えて、切り替え後のキーボードインタフェースを介して対応するタイプのキャラクタを入力しなければならないため、操作が煩雑であり、かかる時間が長く、入力効率が低い。
本発明の実施例は、操作を簡素化させるとともに入力時間を節約し、入力効率を向上させることができるキャラクタ推薦方法および装置、コンピュータ装置並びに記憶媒体を提供する。
本発明は、以下の技術案を講じる。
本発明の一方面によれば、
コード入力インタフェースに入力されたコードを構文木に変換するステップであって、前記構文木は、複数のノード、前記複数のノードの間の階層関係および前記複数のノードの位置区間を含み、前記複数のノードと、前記複数のノードの間の階層関係とは、前記コードの構文構造を示すためのものであり、前記ノードの位置区間は、前記コード入力インタフェースにおける前記ノードに対応するキャラクタ集合の位置区間を示すためのものである、ステップと、
前記コード入力インタフェースにおけるカーソルの位置および前記構文木に基づいて、前記構文木において前記カーソルの位置に対応する少なくとも1つの参照ノードを決定するステップと、
前記少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定するステップと、
前記コード入力インタフェースにおいて、前記目標キャラクタを推薦するステップと、を含むキャラクタ推薦方法を提供する。
本発明の他方面によれば、
コード入力インタフェースに入力されたコードを構文木に変換するための変換モジュールであって、前記構文木は、複数のノード、前記複数のノードの間の階層関係および前記複数のノードの位置区間を含み、前記複数のノードと、前記複数のノードの間の階層関係とは、前記コードの構文構造を示すためのものであり、前記ノードの位置区間は、前記コード入力インタフェースにおける前記ノードに対応するキャラクタ集合の位置区間を示すためのものである、変換モジュールと、
前記コード入力インタフェースにおけるカーソルの位置および前記構文木に基づいて、前記構文木において前記カーソルの位置に対応する少なくとも1つの参照ノードを決定するためのノード決定モジュールと、
前記少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定するためのキャラクタ決定モジュールと、
前記コード入力インタフェースにおいて、前記目標キャラクタを推薦するための推薦モジュールと、を備えるキャラクタ推薦装置を提供する。
本発明の他方面によれば、プロセッサとメモリとを備えており、前記メモリには、命令またはプログラムが記憶されており、前記命令または前記プログラムは、前記プロセッサによりロードされて実行することにより上記のキャラクタ推薦方法において実行する動作を実現するコンピュータ装置を提供する。
本発明の他方面によれば、命令またはプログラムが記憶されており、前記命令または前記プログラムは、プロセッサによりロードされて実行することにより上記のキャラクタ推薦方法において実行する動作を実現するコンピュータ読取可能な記憶媒体を提供する。
本発明の他方面によれば、コンピュータ命令を含み、前記コンピュータ命令は、コンピュータ読取可能な記憶媒体に記憶されるコンピュータプログラム製品を提供する。コンピュータ装置のプロセッサは、前記コンピュータ読取可能な記憶媒体から前記コンピュータ命令を読み取り、前記プロセッサが前記コンピュータ命令を実行することにより、前記コンピュータ装置に上記のキャラクタ推薦方法において実行される動作を実行させる。
本発明の実施例が提供するキャラクタ推薦方法および装置、コンピュータ装置並びに記憶媒体によれば、コード入力インタフェースに入力されたコードを構文木に変換することにより、当該コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木においてカーソルの位置に対応する少なくとも1つの参照ノードを決定し、当該少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定して、コード入力インタフェースに目標キャラクタを推薦する。現在入力されたコードに基づいて後で入力する目標キャラクタを推薦することにより、開発者が自らキャラクタを入力する必要がなく、特に開発者がキャラクタタイプを切り替える必要がある場合に、キーボードインタフェースを切り替える必要がなくなるため、開発者によるコード作成が容易となり、操作を簡素化し、入力時間を節約し、入力効率を向上させた。
以下、本発明の実施例の技術手段をより明瞭に説明するために、実施例の説明に必要な図面を簡単に説明するが、以下に説明する図面は、本発明の幾つかの実施例に関するものに過ぎず、当業者にとっては、創作的な労力を費やすことなくこれらの図面に基づいて他の図面を得ることができることは明らかなことである。
本発明の実施例が提供する1種の構文木の構造を示す図である。 本発明の実施例が提供する1種の実施環境を示す図である。 本発明の実施例が提供する1種のキャラクタ推薦方法を示すフローチャートである。 本発明の実施例が提供する1種のキャラクタ推薦方法を示すフローチャートである。 本発明の実施例が提供する1種のキャラクタ推薦ウィンドウを示す図である。 本発明の実施例が提供する1種のキャラクタ推薦装置の構成を示す図である。 本発明の実施例が提供する別種のキャラクタ推薦装置の構成を示す図である。 本発明の実施例が提供する1種の端末の構成を示す図である。 本発明の実施例が提供する1種のサーバの構成を示す図である。
以下、本発明の目的、技術手段および利点をより明瞭にするために、本発明の実施例について図面を参照しながらさらに詳細に説明する。
本発明の実施例を詳細に説明する前に、本発明の実施例に係る幾つかの名詞を説明する。
1、構文木:構文木は、ツリー状の表現形式によってコードの構文構造を表すことができ、当該構文木は、複数のノード、当該複数のノードの間の階層関係および当該複数のノードの位置区間を含み、当該複数のノードの階層関係によってコードの構文構造を決定することができ、当該複数のノードの位置区間によってコード入力インタフェースにおけるノードに対応するキャラクタ集合の位置区間を表す。
例えば、コードは、以下のとおりである。
vara=1;
varb=a+1;
当該コードは、図1に示すような構文木に変換することができ、構文木におけるルートノードは、スクリプトノード(script)であり、スクリプトノードの次の層のノードは、ソースコードノード(sourceType)であり、ソースコードノードの次の層のノードは、プログラムノード(program)である。
当該プログラムノードの次の層は、それぞれコードにおける2つの命令を表す2つの分岐を含む。
第1の分岐について、
当該プログラムノードの次の層における1番目のノードは、変数宣言ノード(VariableDeclaration)であり、変数宣言ノードは、1つのクラスノード(kind)に対応し、当該クラスノードに対応するクラスは、「var」であり、当該変数宣言ノードの次の層におけるノードは、変数宣言子ノード(VariableDeclarator)である。
当該変数宣言子ノードの次の層における1番目のノードは、識別子ノード(Identifier)であり、当該識別子ノードの次の層におけるノードは、名称ノード(name)であり、当該名称ノードに対応するキャラクタ集合は、「a」である。
当該変数宣言子ノードの次の層における2番目のノードは、リテラルノード(Literal)であり、当該リテラルノード(Literal)の次の層は、数値ノード(value)および文字列ノード(raw)を含み、リテラルノードに対応する数値は、「1」であり、リテラルノードに対応する文字列は、「1」である。
構文木における1番目の分岐は、1つの変数宣言命令を表し、当該変数宣言命令が採用するクラスは「var」であり、かつ、変数宣言子は、1つの識別子および1つのリテラルを含み、識別子が「a」であり、リテラルの数値が「1」であり、当該変数宣言子が「a=1」であることを表す。
第2の分岐について、
当該プログラムノードの次の層における2番目のノードは、変数宣言ノードであり、変数宣言ノードが1つのクラスノードに対応し、当該クラスノードに対応するクラスは「var」であり、当該変数宣言ノードの次の層におけるノードは変数宣言子ノードである。
当該変数宣言子ノードの次の層における1番目のノードは識別子ノードであり、当該識別子ノードの次の層におけるノードは名称ノードであり、当該名称ノードに対応するキャラクタ集合は「b」である。
当該変数宣言子ノードの次の層における2番目のノードは、二項演算式ノード(BinaryExpression)である。当該二項演算式ノードの次の層における1番目のノードは識別子ノードであり、当該識別子ノードの次の層におけるノードは名称ノードであり、当該名称ノードに対応するキャラクタ集合は「a」である。当該二項演算式ノードの次の層における2番目のノードに対応するキャラクタ集合は、「+」である。当該二項演算式ノードの次の層における3番目のノードはリテラルノードであり、当該リテラルノードの次の層は数値ノードおよび文字列ノードを含み、リテラルノードに対応する数値が「1」であり、リテラルノードに対応する文字列が「1」である。
構文木における2番目の分岐は、1つの変数宣言命令を表し、当該変数宣言命令が採用するクラスは「var」であり、かつ、変数宣言子は、1つの識別子および1つの二項演算式を含み、識別子が「b」であり、二項演算式は、1つの識別子、1つの演算子および1つのリテラルを含み、識別子が「a」であり、演算子が「+」であり、リテラルが「1」であり、当該変数宣言子が「b=a+1」であることを表す。
そのうち、構文木における「a」、「b」、「1」および「+」はいずれもキャラクタと呼ぶことができる。そして、「a」、「b」はいずれも識別子に属し、「+」は演算子に属する。
そして、構文木は、操作ノード、識別子ノードまたは他のタイプのノードを含むことができる。
当該操作ノードは、対応するキャラクタ集合が演算子を含むノードを指し、例えば、当該演算子は、加算記号、減算記号、乗算記号等であってもよい。コードに演算子が含まれ、かつ、当該演算子は当該演算子に対応する操作を実行するようにコードに指示するためのものであるため、演算子が含まれるコードを実行する過程において、当該演算子に対応する操作を実行する。
当該識別子ノードは、対応するキャラクタ集合が識別子であるノードを指し、例えば、当該識別子は、アルファベットキャラクタ、数字等であってもよい。例えば、当該識別子ノードに対応するキャラクタ集合は、「abc」、「dd」または他の識別子ノードであってもよい。そのうち、ノードに対応するキャラクタ集合は、少なくとも1つのキャラクタを含む。
そして、各ノードはいずれも位置区間を含み、かつ、当該位置区間は開始位置および終了位置を含み、当該開始位置は、コードにおけるノードに対応するキャラクタ集合の開始キャラクタの位置であり、当該終了位置は、コードにおけるノードに対応するキャラクタ集合の終了キャラクタの位置である。
図1に示す構文木を例として、名称が「b」である識別子ノードに対応するキャラクタ集合の位置区間を決定する場合、当該キャラクタ集合は「b」のみであり、コードにおける開始位置が13であり、終了位置が14である。
本発明の実施例は、開発者がコードを編集する時に、開発者に対してキャラクタを推薦することができるキャラクタ推薦方法を提供する。
1つの可能な実施形態では、本発明の実施例が提供するキャラクタ推薦方法は、端末に適用することができる。当該端末は、コード入力インタフェースにおけるコードを取得し、取得したコードに基づいて構文木を生成し、当該構文木を解析し、推薦対象となる目標キャラクタを決定して、当該目標キャラクタを開発者に推薦する。
別の可能な実施形態では、本発明の実施例が提供するキャラクタ推薦方法は、端末およびサーバで構成された実施環境に適用することができる。
図2は、本発明の実施例が提供する1種の実施環境を示す図である。図2に示すように、当該実施環境は、サーバ201と端末202とを含み、当該サーバ201および端末202は、通信ネットワークを介して接続されている。
そのうち、当該サーバ201は、1台のサーバであってもよく、または複数台のサーバで構成されたサーバクラスタであってもよく、または1つのクラウドコンピューティングサービスセンタであってもよい。当該端末202は、携帯電話、タブレットコンピュータ、パーソナルコンピュータなどの装置であってもよい。
端末202は、コード入力インタフェースに入力されたコードを取得して、当該コードをサーバ201に送信し、サーバ201は、当該コードを構文木に変換し、当該構文木を解析し、推薦対象となる目標キャラクタを決定して、決定した目標キャラクタを端末202に送信し、端末202は当該目標キャラクタを開発者に推薦する。
本発明の実施例が提供するキャラクタ推薦方法は、コードを作成する場面に適用することができ、端末は、開発者に対してコード入力インタフェースを提供し、開発者は、当該コード入力インタフェースにキャラクタを入力することにより、コードを構成することができる。本発明の実施例が提供する方法を採用すれば、開発者がコード入力インタフェースに既に入力したコードを解析するだけで、開発者に対して目標キャラクタを推薦することができ、開発者は、当該目標キャラクタを選択することにより、選択した目標キャラクタをカーソルの位置に入力することができる。
図3は、本発明の実施例が提供する1種のキャラクタ推薦方法を示すフローチャートである。図3に示すように、当該方法は、端末が実行するものであって、以下のステップを含む。
301において、コード入力インタフェースに入力されたコードを取得する。
端末は、開発者に対してコード入力インタフェースを提供し、開発者は、端末が提供するコード入力インタフェースにキャラクタを入力し、入力したキャラクタによってコードを構成する。
そのうち、当該コード入力インタフェースは、端末にインストールされた指定のアプリケーションプログラムの入力インタフェースであってもよく、当該指定のアプリケーションプログラムは、コードを入力するためのコードエディタであってもよく、開発者が当該コードエディタにコードを入力すると、当該コードエディタに入力したコードを実行させることができ、コードの実行に問題が発生した場合、発生した問題に基づいて当該コードエディタで修正することができる。
または、当該コード入力インタフェースは、端末自身に配置されたアプリケーションプログラムの入力インタフェースであってもよく、例えば、当該入力インタフェースは、端末に配置されたメモ、手帳等のアプリケーションプログラムの入力インタフェースであってもよい。
端末が提供するコード入力インタフェースは、カーソルをさらに含み、当該カーソルは、コード入力インタフェースの任意の位置に位置することができ、開発者がキャラクタを入力する場合、端末は、開発者が入力したキャラクタを受信して、キャラクタをカーソルの位置に入力する。開発者がキャラクタの入力位置を変化しようとする場合、コード入力インタフェースにおけるカーソルの位置を変化させるだけであればよい。
好ましくは、本発明の実施例では、端末は、開発者に対してコード入力インタフェースを提供するだけでなく、開発者に対して仮想キーボードを提供し、かつ、当該仮想キーボードはコード入力インタフェースに表示され、開発者は、キャラクタを入力しようとする場合、仮想キーボードにおけるキャラクタを選択し、端末は、仮想キーボードにおけるキャラクタに対する選択操作を検出した場合、当該キャラクタをカーソルの位置に入力する。
端末の表示スクリーンのサイズが限られるため、当該端末が提供するコード入力インタフェースのサイズも限られ、さらに仮想キーボードのサイズも制限され、仮想キーボードに複数のキーボードインタフェースが設置され、異なるキーボードインタフェースに異なるタイプのキャラクタを表示し、当該キャラクタのタイプは、アルファベット、数字、演算子などを含むことができる。
開発者がコード入力インタフェースにあるタイプのキャラクタを入力しようとする場合、まずはコード入力インタフェースに当該タイプのキャラクタが含まれるキーボードインタフェースを表示し、開発者が当該キーボードインタフェースにおいて必要なキャラクタを選択した場合、端末は、当該キャラクタに対する選択操作を検出し、当該キャラクタをカーソルの位置に入力することができる。開発者がコード入力インタフェースに別のタイプのキャラクタを入力しようとする場合、キーボードインタフェースにおける切り替えオプションをトリガし、端末は、切り替えオプションに対するトリガ操作を検出した場合、当該別のタイプのキャラクタが含まれるキーボードインタフェースに切り替え、開発者が当該キーボードインタフェースにおいて必要なキャラクタを選択した場合、端末は、当該キャラクタに対する選択操作を検出し、当該キャラクタをカーソルの位置に入力することができる。
そのうち、当該トリガ操作は、クリック操作、ダブルクリック操作、長押し操作または他の操作であってもよい。
本発明の実施例では、開発者がコード入力インタフェースにコードを入力すると、端末は、当該コード入力インタフェースに入力されたコードを取得し、入力されたコードに基づいて後続の動作を実行することができる。
そのうち、端末によるコード入力インタフェースに入力されたコードの取得は、ステップ3011~3013のいずれか1つを含むことができる。
3011において、端末は、コード入力インタフェースに入力されたコードのキャラクタの総数を検出し、当該キャラクタの総数に変更が発生した場合、当該コード入力インタフェースに入力されたコードを取得する。
例えば、現在のコード入力インタフェースに入力されたコードのキャラクタの総数が1000であり、その後、当該コード入力インタフェースに入力されたコードのキャラクタの総数が999に変更した場合、当該コード入力インタフェースにおけるキャラクタに変更が発生したことを表すため、端末は、当該コード入力インタフェースに入力されたコードを取得する。
3012において、端末は、予め設定された時間ごとにコード入力インタフェースに入力されたコードを取得する。そのうち、当該予め設定された時間は、1分間、2分間または他の数値であってもよい。
3013において、端末は、コード入力インタフェースに入力されたコードのキャラクタの総数を検出し、当該キャラクタの総数と前回のコード入力インタフェースにおけるコードの取得時の総数との差値が予め設定された数値以上である場合、コード入力インタフェースに入力されたコードを取得する。
そのうち、当該予め設定された数値は、5、10、20または他の数値であってもよい。
例えば、予め設定された数値が5であり、端末が検出したコード入力インタフェースに入力されたコードのキャラクタの総数が1000であり、その後、端末が検出したコード入力インタフェースに入力されたコードのキャラクタの総数が997となった場合、その差値が3であって5よりも小さいため、端末は、当該コード入力インタフェースに入力されたコードを取得しない。一方、端末が検出したコード入力インタフェースに入力されたコードのキャラクタの総数が990となった場合、その差値が10であって5よりも大きいため、コード入力インタフェースに入力されたコードを取得する。
302において、コード入力インタフェースに入力されたコードを構文木に変換する。
端末は、コード入力インタフェースに入力されたコードの構文構造に基づいて複数のノードを決定し、そして、当該複数のノードの階層関係を決定して、当該複数のノードの階層関係に応じて当該コード入力インタフェースに入力されたコードの構文木を構築することにより、コード入力インタフェースに入力されたコードを構文木に変換する効果を実現し、構文木の構築を完了する。
そのうち、当該構文木は、抽象構文木であってもよく、または他のタイプの構文木であってもよい。そして、当該構文木は、複数のノード、複数のノードの間の階層関係および複数のノードの位置区間を含み、複数のノードと複数のノードの間の階層関係とは、コードの構文構造を示すためのものであり、ノードの位置区間は、コード入力インタフェースにおけるノードに対応するキャラクタ集合の位置区間を示すためのものである。
当該位置区間は、ノードに対応するキャラクタ集合の開始位置および終了位置を含む。そして、コードでのノードに対応するキャラクタ集合における開始キャラクタの位置で開始位置を表し、コードでの当該キャラクタ集合における終了キャラクタの位置で終了位置を表す。
1つの可能な実現形態では、当該開始キャラクタよりも前のキャラクタの総数を位置区間の開始位置とし、当該終了キャラクタよりも前のキャラクタの総数を位置区間の終了位置とする。
例えば、構文木の構造のコードは、以下のとおりである。
Figure 2022540736000002
当該ノード「identifier」に対応するキャラクタ集合は「tips」であり、当該ノードに対応する開始位置は183であり、終了位置は187である。
端末は、コード入力インタフェースに入力されたコードを構文木に変換して、当該構文木を用いてコードの構文構造をツリー状の形式で表現し、構文木を生成して端末の識別に供することにより、後では端末は生成した構文木に基づいてキャラクタの推薦動作を実行することができる。
1つの可能な実現形態では、コード入力インタフェースに入力されたコードを取得した後、当該コードに含まれるキャラクタに対して字句解析を行うことにより、当該コードにおけるキャラクタを単語に分割し、分割した単語に基づいて複数のノードを決定し、さらに分割したノードに対して構文解析を行って、当該ノードに対応する複数のキャラクタ集合の間の階層関係を得、当該複数のキャラクタ集合の間の階層関係に基づいて当該コードの構文木を構築し、当該構文木でコードの構文構造を表す。
そのうち、当該字句解析は、コードに含まれるキャラクタを単語に分割することを表し、コードに対して字句解析を行う過程において、当該コードにおけるキャラクタを順に読み取り、現在のコードの言語規則に基づいて当該コードを分割し、分割した複数の単語を得る。構文解析は、分割したノードに対して構文を解析し、複数のノードの間の階層関係を決定することを表す。
本発明の実施例は、コード入力インタフェースにおけるコードを構文木に変換することにより、端末は、変換した構文木を識別し、当該構文木に基づいてコードの構文構造を決定し、後では当該構文木で表された構文構造に基づいてキャラクタを推薦することができる。
303において、構文木におけるノードをトラバースする。
304において、カーソルの位置が現在トラバースしたノードの位置区間に属すると、ノードを参照ノードとして決定する。
端末が後でキャラクタを推薦する場合、現在のコード入力インタフェースにおけるカーソルの位置に基づいて当該カーソルの位置にどのようなキャラクタを入力すべきかを推定するため、コード入力インタフェースにおいてカーソルの位置を決定し、構文木における複数のノードから、構文木における位置区間がカーソルの位置を含むノードを決定し、当該ノードを参照ノードとして決定することにより、後では当該参照ノードに基づいて推薦対象となる目標キャラクタを決定することができる。
当該構文木における各ノードはいずれも位置区間を含み、端末は、コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木における各ノードをトラバースし、カーソルの位置および構文木における各ノードの位置区間に基づいて、構文木における当該カーソルの位置に対応する少なくとも1つの参照ノードを決定する。
そのうち、構文木は複数のノードを含み、かつ、当該複数のノードは操作ノード、識別子ノードまたは他のタイプのノードを含むため、当該少なくとも1つの参照ノードも、操作ノード、識別子ノードまたは他のタイプのノードのうちの少なくとも1種を含んでもよい。
本発明の実施例では、トラバースは、ルールに従って、構文木における各ノードにアクセスすることを表し、そして、各ノードに対して1回だけアクセスする。
1つの可能な実現形態では、上記ルールは、前順トラバーサル、間順トラバーサル、後順トラバーサルまたは他の方式のトラバーサルであってもよい。
そのうち、前順トラバーサルは、構文木に従って上から下へ、左から右への順に構文木における各ノードを順次トラバースすることを指す。間順トラバーサルは、構文木に従って左のノードを先にトラバースした後に右のノードをトラバースするという順序で構文木における各ノードを順次トラバースすることを指す。後順トラバーサルは、構文木に従って右のノードを先にトラバースした後に左のノードをトラバースするという順序で構文木における各ノードを順次トラバースすることを指す。
構文木に含まれるノードをトラバースする過程において、端末は、コード入力インタフェースから現在のカーソルの位置を取得し、カーソルの位置を各ノードの位置区間とそれぞれ比較して、カーソルの位置がトラバースしたノードの位置区間に属するか否かを決定し、カーソルの位置がトラバースしたノードの位置区間に属すると、当該ノードを参照ノードとして決定する。
そのうち、当該位置区間は、開始位置および終了位置を含む。従って、カーソルの位置が構文木におけるノードの位置区間の開始位置以上であり、かつ、カーソルの位置が当該ノードの位置区間の終了位置以下である場合、当該ノードを参照ノードとする。
1つの可能な実現形態では、当該カーソルの位置は、カーソルよりも前のキャラクタの総数で表され、ノードの開始位置は、ノードに対応する開始キャラクタよりも前のキャラクタの総数で表され、ノードの終了位置は、ノードに対応する終了キャラクタよりも前のキャラクタの総数で表される。
従って、カーソルよりも前のキャラクタの総数がノードに対応する開始キャラクタよりも前のキャラクタの総数以上であり、かつ、カーソルよりも前のキャラクタの総数が当該ノードに対応する終了キャラクタよりも前のキャラクタの総数以下である場合、カーソルの位置が当該ノードの位置区間に属すると決定し、当該ノードを参照ノードとする。
本発明の実施例は、カーソルの位置が構文木におけるノードの位置区間に属するか否かを判断することにより、構文木におけるノードが参照ノードであるか否かを決定し、後では決定した参照ノードに基づいて推薦対象となるキャラクタを決定し、カーソルの位置に基づいて推薦対象となるキャラクタを決定することができ、推薦対象となるキャラクタの正確率を向上させた。
305において、少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定する。
当該ステップ305は、ステップ3051~3053のうちのいずれか1つを含む。
3051において、少なくとも1つの参照ノードにおける操作ノードおよび操作ノードに対応する操作タイプを決定し、演算子データベースから操作タイプに属する演算子を目標キャラクタとして取得する。
本発明の実施例では、操作ノードがさらに設置されてもよく、当該操作ノードは、構文木において当該ノードに対応するキャラクタ集合に演算子が含まれることを指示するためのノードである。そして、当該操作ノードは、予め設定された操作ノードである。当該操作ノードは、開発者が設定してもよく、端末によって設定してもよい。
決定した少なくとも1つの参照ノードのそれぞれを操作ノードと比較し、当該少なくとも1つの参照ノードに操作ノードと同じである参照ノードが含まれる場合、当該参照ノードを操作ノードとして決定することができ、当該操作ノードは、対応するキャラクタ集合に対応する操作タイプを指示し、当該操作ノードの操作タイプを取得し、演算子データベースから当該操作ノードの操作タイプに属する演算子を目標キャラクタとして取得する。
そのうち、当該操作ノードは、対応するキャラクタ集合に演算子が含まれるノードを指す。
例えば、当該少なくとも1つの参照ノードは、プログラムノード、変数宣言ノードおよび名称ノードを含み、当該変数宣言ノードは操作ノードである場合、当該変数宣言ノードに属する「+」、「()」、「=」を取得し、取得した演算子を目標キャラクタとする。
そのうち、当該演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである。そして、当該演算子データベースは、端末に記憶される。または、当該演算子データベースは、サーバに記憶され、端末は、少なくとも1つの参照ノードを解析する場合、演算子取得要求をサーバに送信し、サーバは、当該演算子取得要求を受信すると、当該演算子データベースに記憶された少なくとも1種の操作タイプに属する演算子を端末に送信する。
3052において、少なくとも1つの参照ノードの位置区間の順序に従って少なくとも1つの参照ノードを接続して、ノードパスを構成し、ノードパスを解析し、解析結果に基づいてノードパスが属する操作タイプを決定し、演算子データベースから操作タイプに属する少なくとも1つの演算子を目標キャラクタとして取得する。
1つの可能な実施形態では、決定した少なくとも1つの参照ノードが複数の参照ノードを含むと、当該複数の参照ノードにおける各参照ノードの開始位置を取得し、当該複数の参照ノードの開始位置に応じてソートし、かつ、当該複数の参照ノードの順序に従って当該複数の参照ノードを接続して、ノードパスを構成し、当該ノードパスを解析して解析結果を取得し、当該解析結果に基づいて当該ノードパスが属する操作タイプを決定し、演算子データベースから操作タイプに属する少なくとも1つの演算子を目標キャラクタとして取得する。
そのうち、当該参照ノードの開始位置は、参照ノードの左位置とも呼ばれ、当該複数の参照ノードの左位置で当該複数の参照ノードをソートして、ノードパスを構成することができる。
そのうち、当該ノードパスを解析する場合、当該ノードパスにおける各ノードに基づいて解析し、各ノードの間の関係を総合的に考慮して、当該ノードパスが属する操作タイプを決定し、後では当該操作タイプに基づいて操作タイプに属する少なくとも1つの演算子を取得する。
例えば、当該複数の参照ノードの位置区間の前後順序に従ってノードパスを決定した後、当該ノードパスの開始位置から終了位置までの順序に従って解析を開始し、当該ノードパスにおける各ノードに対応するキャラクタ集合が表す操作を決定し、当該ノードパスに変数宣言ノードが含まれ、かつ当該変数宣言ノードの後に識別子ノードおよび名称ノードが接続される場合、当該ノードパスの操作タイプが付値操作であることを表すため、当該付値操作に属する「=」を推薦し、当該演算子を目標キャラクタとする。
そのうち、演算子データベースは、少なくとも1つの操作タイプに属する演算子を記憶するためのものである。そして、当該演算子データベースは、端末に記憶される。または、当該演算子データベースは、サーバに記憶され、端末は、決定したノードパスを解析する場合、演算子取得要求をサーバに送信し、サーバは、当該演算子取得要求を受信すると、当該演算子データベースに記憶された少なくとも1種の操作タイプに属する演算子を端末に送信する。
本発明の実施例が提供するステップ3051およびステップ3052のそれぞれは、少なくとも1つの参照ノードに基づいて演算子データベースから推薦対象となる演算子を決定し、後では決定した演算子を目標キャラクタとして開発者に推薦することができるため、開発者がキーボードインタフェースを切り替えて演算子を入力する必要がなく、演算子を自動的に推薦するという効果を実現し、開発者の操作を簡素化し、操作時間を節約し、入力効率を向上させた。
3053において、少なくとも1つの参照ノードにおける最後の識別子ノードに対応するキャラクタを決定し、識別子データベースから当該キャラクタが含まれる識別子を取得して、当該識別子を目標キャラクタとする。
本発明の実施例では、識別子ノードがさらに設置されてもよく、当該識別子ノードは、構文木における当該ノードに対応するキャラクタ集合に識別子が含まれることを指示するためのノードである。そして、当該識別子は、予め設定された識別子である。当該識別子は、開発者が設定してもよく、端末によって設定してもよい。
決定した少なくとも1つの参照ノードのそれぞれを識別子ノードと比較し、当該少なくとも1つの参照ノードに識別子ノードと同じである参照ノードが含まれる場合、当該参照ノードを識別子ノードとして決定し、当該少なくとも1つの参照ノードから最後の1つの識別子ノードを決定し、当該最後の1つの識別子ノードに基づいて対応するキャラクタを決定し、識別子データベースから当該キャラクタが含まれる識別子を取得して、当該識別子を目標キャラクタとすることができる。
1つの可能な実施形態では、当該少なくとも1つの参照ノードから最後の1つの識別子ノードを決定し、当該識別子ノードに対応するキャラクタを決定し、識別子データベースから当該キャラクタを開始キャラクタとするキャラクタ集合を取得して、当該キャラクタ集合を目標キャラクタとする。
例えば、識別子ノードに対応するキャラクタは「ab」であり、当該識別子データベースに含まれるキャラクタ集合は「abcd」である場合、当該「abcd」は「ab」を開始キャラクタとするキャラクタ集合であるため、「abcd」を目標キャラクタとする。
別の可能な実施形態では、当該少なくとも1つの参照ノードから最後の1つの識別子ノードを決定し、当該最後の1つの識別子ノードに基づいて対応するキャラクタを決定し、識別子データベースから当該キャラクタが含まれるキャラクタ集合を取得して、当該キャラクタ集合におけるキャラクタを目標キャラクタとする。
例えば、識別子ノードに対応するキャラクタは「ab」であり、当該識別子データベースに含まれるキャラクタ集合は「cabd」、「abcd」である場合、当該「cabd」にキャラクタ「ab」が含まれ、かつ当該「abcd」にもキャラクタ「ab」が含まれるため、「cabd」、「abcd」を目標キャラクタとする。
そのうち、識別子ノードは、対応するキャラクタ集合が識別子であるノードを指し、識別子データベースは、少なくとも1つの識別子を記憶するためのものである。
本発明の実施例が提供するステップ3053は、少なくとも1つの参照ノードに基づいて識別子データベースから推薦対象となるキャラクタを決定し、後では決定したキャラクタを目標キャラクタとして開発者に推薦することができるため、開発者が1つのキャラクタ集合における全てのキャラクタを手動で入力することなくキャラクタの自動補完を実現することができ、開発者の操作を簡素化し、操作時間を節約し、入力効率を向上させた。
なお、説明すべき第1の点は、ステップ3051~3053のうちの少なくとも2つを互いに結合することができ、ステップ3051~3053の実行に先立って、少なくとも1つの参照ノードのうちの最後の1つの参照ノードに対応するキャラクタを決定し、識別子データベースに当該キャラクタが含まれるか否かを判断し、識別子データベースに当該キャラクタが含まれると決定した場合、当該ステップ3053を実行し、識別子データベースに当該キャラクタが含まれないと決定した場合、ステップ3051またはステップ3052を実行する。当該ステップ3052をステップ3053と結合した場合、操作フローは、図4に示すように、識別子データベースに最後の1つの参照ノードに対応するキャラクタが含まれるか否かを判断し、YESであればステップ3052を実行し、NOであればステップ3053を実行する。
説明すべき第2の点は、ステップ3053において、識別子を目標キャラクタとすることのみを例として説明する。別の実施例では、当該少なくとも1つの参照ノードから最後の1つの識別子ノードを決定し、当該最後の1つの識別子ノードに対応するキャラクタを決定し、識別子データベースから当該キャラクタを開始キャラクタとするキャラクタ集合を取得して、当該キャラクタ集合における当該識別子ノードに対応するキャラクタ以外の残りのキャラクタを目標キャラクタとする。
例えば、識別子ノードに対応するキャラクタは「ab」であり、当該識別子データベースに含まれるキャラクタ集合は「abcd」である場合、当該「abcd」は「ab」を開始キャラクタとするキャラクタ集合であるため、「cd」を目標キャラクタとする。
306において、コード入力インタフェースに決定した目標キャラクタを推薦する。
推薦対象となる目標キャラクタを決定した後、目標キャラクタをコード入力インタフェースに推薦することができ、開発者がキーボードインタフェースを再度切り替え、切り替え後のキーボードインタフェースを介して目標キャラクタを入力する必要がない。
説明すべきことは、本発明の実施例は、端末がステップ301~305を実行することのみを例として説明しているが、別の実施例では、サーバがステップ301~305を実行し、サーバが少なくとも1つの目標キャラクタを決定した後、当該少なくとも1つの目標キャラクタを端末に送信し、端末がステップ306を実行するようにしてもよい。
本発明の実施例が提供する方法では、コード入力インタフェースに入力されたコードを構文木に変換することにより、当該コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木においてカーソルの位置に対応する少なくとも1つの参照ノードを決定し、当該少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定して、コード入力インタフェースに目標キャラクタを推薦する。現在入力されたコードに基づいて後で入力する目標キャラクタを推薦することにより、開発者が自らキャラクタを入力する必要がなく、特に、開発者がキャラクタタイプを切り替える必要がある場合に、キーボードインタフェースを切り替える必要がなくなるため、開発者によるコード作成が容易となり、操作を簡素化し、入力時間を節約し、入力効率を向上させた。
そして、本発明の実施例が提供する方法は、開発者に対して演算子を推薦することができるだけでなく、開発者が開始キャラクタを入力した時に、キャラクタの自動補完を自動的に実現することもできるため、操作を簡素化し、入力時間を節約し、入力効率を向上させた。
上記の実施例によれば、上記のステップ306は、以下のいくつかの選択可能な方式を含むことができる。
第1種の可能な実施形態では、ステップ306は、解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに複数の目標キャラクタを表示するステップ3061を含むことができる。
解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、当該キャラクタ推薦ウィンドウに複数の目標キャラクタを表示し、後では、開発者は、キャラクタ推薦ウィンドウに表示された複数の目標キャラクタから必要な目標キャラクタを選択して、当該必要な目標キャラクタをカーソルの位置に入力することができる。
そのうち、当該キャラクタ推薦ウィンドウは、コード入力インタフェースの上層に位置する。そして、当該キャラクタ推薦ウィンドウは、コード入力インタフェースに移動することができる。
1つの可能な実施形態では、当該キャラクタ推薦ウィンドウは、カーソルの位置に生成されてもよく、または、当該キャラクタ推薦ウィンドウは、コード入力インタフェースにおけるカーソルの位置以外の他の位置に生成されてもよい。
例えば、図5に示すように、カーソルがキャラクタ集合「value」の後に位置する場合、生成されたキャラクタ推薦ウィンドウに、「.」、「()」、「+」および「=」を表示することができる。
当該方法は、ステップ3061の後に、複数の目標キャラクタのうちの第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した第1の目標キャラクタをカーソルの位置に入力するステップをさらに含むことができる。
端末は、コード入力インタフェースにキャラクタ推薦ウィンドウを表示し、かつ、当該キャラクタ推薦ウィンドウに少なくとも1つの目標キャラクタが含まれ、開発者は、当該キャラクタ推薦ウィンドウに表示された少なくとも1つの目標キャラクタから第1の目標キャラクタを選択することができ、端末は、第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した第1の目標キャラクタをカーソルの位置に入力する。
そのうち、当該選択操作は、シングルクリック操作、ダブルクリック操作、長押し操作または他の操作であってもよい。
第2種の可能な実施形態では、ステップ306は、解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、複数の目標キャラクタのうちの第2の目標キャラクタをカーソルの位置に入力するステップ3062を含むことができる。コード入力インタフェースにキャラクタ推薦ウィンドウを生成して、キャラクタ推薦ウィンドウに第2の目標キャラクタ以外の他の目標キャラクタを表示する。
解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、複数の目標キャラクタから第2の目標キャラクタを選択し、当該第2の目標キャラクタをカーソルの位置に入力した後、コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに第2の目標キャラクタ以外の他の目標キャラクタを表示する。
例えば、決定した複数の目標キャラクタがそれぞれA、B、C、Dである場合、Aをカーソルの位置に入力し、キャラクタ推薦ウィンドウにB、C、Dを表示する。
当該方法は、ステップ3062の後に、キャラクタ推薦ウィンドウにおける第3の目標キャラクタに対する選択操作を検出したことに応じて、第3の目標キャラクタで第2の目標キャラクタを置き換えるステップをさらに含むことができる。
キャラクタ推薦ウィンドウにおける第3の目標キャラクタに対する選択操作を検出したことに応じて、最初に入力した第2の目標キャラクタがエラーキャラクタであると決定し、当該第3の目標キャラクタで第2の目標キャラクタを置き換えることにより、正確な目標キャラクタをカーソルの位置に入力するという効果を実現する。
そのうち、当該選択操作は、シングルクリック操作、ダブルクリック操作、長押し操作または他の操作であってもよい。
第3の種の可能な実施形態では、ステップ306は、解析結果に基づいて推薦対象となる1つの目標キャラクタを決定したことに応じて、1つの目標キャラクタをカーソルの位置に入力するステップ3603を含むことができる。
解析結果に基づいて推薦対象となる1つの目標キャラクタを決定したことに応じて、この時、当該目標キャラクタを開発者に表示する必要がなく、当該目標キャラクタをカーソルの位置に直接入力することができ、開発者がコード入力インタフェースにおいて目標キャラクタを再度選択する必要がなく、開発者の操作が容易となり、操作効率を向上させた。
説明すべきことは、1つの可能な実施形態では、ステップ3061およびステップ3062において、コード入力インタフェースにおけるキャラクタ推薦ウィンドウは、クローズオプションをさらに含み、開発者が推薦された複数の目標キャラクタを使用する必要がない場合、当該クローズオプションをトリガすることができ、端末は、当該クローズオプションに対するトリガ操作を検出したことに応じて、クローズ命令を受信したと決定し、当該キャラクタ推薦ウィンドウをクローズする。
別の可能な実施形態では、ステップ3061およびステップ3062において、開発者が推薦された複数の目標キャラクタを使用する必要がない場合、コード入力インタフェースにおけるキャラクタ推薦ウィンドウ以外の領域内に予め設定された操作をトリガすることができ、端末は、予め設定された操作を検出したことに応じて、クローズ命令を受信したと決定し、当該キャラクタ推薦ウィンドウをクローズする。
そのうち、予め設定された操作は、クリック操作、ダブルクリック操作、長押し操作または他の操作であってもよい。
本発明の実施例は、ステップ306を実行して、開発者が目標キャラクタを選択した後、端末は、当該目標キャラクタをカーソルの位置に入力し、その後、ステップ301~306を続いて実行し、開発者に目標キャラクタを続いて推薦し、開発者が目標キャラクタを続いて選択した後、端末は当該目標キャラクタをカーソルの位置に入力するようにしてもよい。
本発明の実施例は、確定した目標キャラクタをキャラクタ推薦ウィンドウに表示し、目標キャラクタに対する選択操作を検出したことに応じて、選択した目標キャラクタをカーソルの位置に加えることにより、開発者は、キーボードインタフェースを切り替えて目標キャラクタを入力する必要がなく、キャラクタ推薦ウィンドウから目標キャラクタを直接選択することができるため、操作を簡素化し、入力時間を節約し、入力効率を向上させた。
そして、本願の実施例は、目標キャラクタをカーソルの位置に直接入力することもでき、開発者は入力した目標キャラクタが正しいか否かを検査すればよく、開発者による目標キャラクタの入力操作を簡素化し、入力時間を節約し、入力効率を向上させた。
図6は、本発明の実施例が提供する1種のキャラクタ推薦装置の構成を示す図であり、図6に示すように、当該装置は、
コード入力インタフェースに入力されたコードを構文木に変換するためのものであって、構文木は、複数のノード、複数のノードの間の階層関係および複数のノードの位置区間を含み、複数のノードと、複数のノードの間の階層関係とは、コードの構文構造を示すためのものであり、ノードの位置区間は、コード入力インタフェースにおけるノードに対応するキャラクタ集合の位置区間を示すためのものである変換モジュール601と、
コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木においてカーソルの位置に対応する少なくとも1つの参照ノードを決定するためのノード決定モジュール602と、
少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定するためのキャラクタ決定モジュール603と、
コード入力インタフェースに目標キャラクタを推薦するための推薦モジュール604と、を備える。
1つの可能な実施形態では、推薦モジュール604は、
解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、コード入力インタフェースにキャラクタ推薦ウィンドウを生成するための生成ユニット6041と、
キャラクタ推薦ウィンドウに複数の目標キャラクタを表示するための表示ユニット6042と、を含む。
別の可能な実施形態では、当該装置は、複数の目標キャラクタのうちの第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した第1の目標キャラクタをカーソルの位置に入力するための入力モジュール605をさらに備える。
別の可能な実施形態では、推薦モジュール604は、解析結果に基づいて推薦対象となる1つの目標キャラクタを決定したことに応じて、1つの目標キャラクタをカーソルの位置に入力するための入力ユニット6043をさらに含む。
別の可能な実施形態では、推薦モジュール604は、
解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、複数の目標キャラクタのうちの第2の目標キャラクタをカーソルの位置に入力するための入力ユニット6043と、
コード入力インタフェースにキャラクタ推薦ウィンドウを生成するための生成ユニット6041と、
キャラクタ推薦ウィンドウに第2の目標キャラクタ以外の他の目標キャラクタを表示するための表示ユニット6042と、を含む。
別の可能な実施形態では、当該装置は、キャラクタ推薦ウィンドウにおける第3の目標キャラクタに対する選択操作を検出したことに応じて、第3の目標キャラクタで第2の目標キャラクタを置き換えるための置換モジュール606をさらに備える。
別の可能な実施形態では、ノード決定モジュール602は、
構文木におけるノードをトラバースするためのトラバースユニット6021と、
カーソルの位置が現在トラバースしたノードの位置区間に属すると、ノードを参照ノードとして決定するためのノード決定ユニット6022とを含む。
別の可能な実施形態では、キャラクタ決定モジュール603は、
少なくとも1つの参照ノードにおける操作ノードおよび操作ノードに対応する操作タイプを決定するためのものであって、操作ノードは、対応するキャラクタ集合に演算子が含まれるノードを指すタイプ決定ユニット6031と、
演算子データベースから操作タイプに属する演算子を目標キャラクタとして取得するためのものであって、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである第1の取得ユニット6032とを含む。
別の可能な実施形態では、キャラクタ決定モジュール603は、
少なくとも1つの参照ノードの位置区間の順序に従って少なくとも1つの参照ノードを接続して、ノードパスを構成するための接続ユニット6033と、
ノードパスを解析し、解析結果に基づいてノードパスが属する操作タイプを決定するための解析ユニット6034と、
演算子データベースから操作タイプに属する少なくとも1つの演算子を目標キャラクタとして取得するためのものであって、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである第2の取得ユニット6035とを含む。
別の可能な実施形態では、キャラクタ決定モジュール603は、
少なくとも1つの参照ノードにおける最後の1つの識別子ノードに対応するキャラクタを決定するためのものであって、識別子ノードは、対応するキャラクタ集合が識別子であるノードを指すキャラクタ決定ユニット6036と、
識別子データベースからキャラクタが含まれる識別子を取得して、識別子を目標キャラクタとするためのものであって、識別子データベースは、少なくとも1つの識別子を記憶するためのものである識別子取得ユニット6037とを含む。
上記の全ての選択可能な技術方案は、任意の組み合わせによって本発明の好適な実施例を形成することができ、ここでその説明を省略する。
説明すべきことは、上記の実施例が提供するキャラクタ推薦装置は、キャラクタを推薦するときに、上記の各機能モジュールの分割のみを例に挙げて説明したが、実際の応用にあたって、必要に応じて、上記の機能を異なる機能モジュールに完了させ、すなわち、コンピュータ装置の内部構成を異なる機能モジュールに分割して、以上に述べた全部または一部の機能を完成させるようにしてもよい。また、上記の実施例が提供するキャラクタ推薦装置の実施例は、キャラクタ推薦方法の実施例と同一の構想に属し、その具体的な実現過程は方法の実施例を参照できるので、ここでその説明を省略する。
図8は、本発明の実施例が提供する1種の端末の構成を示す図である。当該端末800は、例えば、スマートフォン、タブレットコンピュータ、MP3(Moving Picture Experts Group Audio LayerIII)プレーヤ、MP4(Moving Picture Experts Group Audio LayerIV)プレーヤ、ノートパソコン、卓上型パソコン、ヘッドマウントデバイスまたはそのほかの任意のスマート端末などのような携帯型の携帯端末であってもよい。端末800は、ユーザ機器、携帯端末、ラップトップ型端末、卓上型端末等の他の名称とも称され得る。
端末800は、一般的にプロセッサ801とメモリ802とを備える。
プロセッサ801は、4コアのプロセッサ、8コアのプロセッサなどのように1つまたは複数の処理コアを含んでもよい。プロセッサ801は、DSP(Digital Signal Processing)、FPGA(Field-Programmable Gate Array)、PLA(Programmable Logic Array)のうちの少なくとも1つのハードウェアによって実現され得る。プロセッサ801は、メインプロセッサとコプロセッサとを含み、メインプロセッサは、ウェイクアップ状態のデータを処理するためのプロセッサであり、CPU(Central Processing Unit)とも呼ばれる。コプロセッサは、待機状態のデータを処理するための低消費電力プロセッサである。幾つかの実施例では、プロセッサ801は、表示スクリーンに表示すべきコンテンツのレンダリングや描画を担当するためのGPU(Graphics Processing Unit)がさらに集積されてもよい。幾つかの実施例では、プロセッサ801は、機械学習に関する計算動作を行うためのAI(Artificial Intelligence)プロセッサをさらに含んでもよい。
メモリ802は、1つまたは複数のコンピュータ読取可能な記憶媒体を含んでもよく、当該コンピュータ読取可能な記憶媒体は、非一時的なものであってもよい。また、メモリ802は、高速ランダムアクセスメモリ、および1つまたは複数の磁気ディスク記憶装置、フラッシュメモリなどのような不揮発性メモリをさらに含んでもよい。幾つかの実施例では、メモリ802における非一時的なコンピュータ読取可能な記憶媒体は、プロセッサ801によって実行されることにより、本発明に係る方法の実施例が提供するキャラクタ推薦方法を実現するための少なくとも1つの命令を記憶するためのものである。
いくつかの実施例では、端末800は、周辺機器インタフェース803と少なくとも1つの周辺機器とをさらに含んでもよい。プロセッサ801、メモリ802および周辺機器インタフェース803は、バスまたは信号線によって接続される。各周辺機器は、バス、信号線または回路基板を介して周辺機器インタフェース803に接続されてもよい。具体的には、周辺機器は、RF(無線周波数)回路804、表示スクリーン805、カメラアセンブリ806、オーディオ回路807、測位アセンブリ808および電源809のうちの少なくとも1種を含む。
周辺機器インタフェース803は、I/O(Input/Output)に関する少なくとも1つの周辺機器をプロセッサ801およびメモリ802に接続するために用いられる。いくつかの実施例では、プロセッサ801、メモリ802および周辺装置インタフェース803は、同一のチップまたは回路基板に集積されている。いくつかの他の実施例では、プロセッサ801、メモリ802および周辺装置インタフェース803のうちのいずれか1つまたは2つは、独立したチップまたは回路基板で実現することができるが、本実施例ではこれに対して限定されない。
RF回路804は、電磁信号とも呼ばれるRF(Radio Frequency:無線周波数)信号を送受信するためのものである。RF回路804は、電磁信号を介して通信ネットワークおよび他の通信機器と通信を行う。RF回路804は、電気信号を電磁信号に変換して送信し、または受信した電磁信号を電気信号に変換する。好ましくは、RF回路804は、アンテナシステム、RF送受信機、1つまたは複数の増幅器、チューナ、発振器、デジタル信号プロセッサ、コーデックチップセット、およびユーザ身分モジュールカードなどを含んでもよい。RF回路804は、少なくとも1種の無線通信プロトコルによって他の端末と通信することができる。当該無線通信プロトコルは、メトロポリタンエリアネットワーク、各世代の移動通信網(2G、3G、4Gおよび5G)、無線ローカルエリアネットワークおよび/またはWi-Fi(Wireless Fidelity)ネットワークを含むが、これらに限定されない。いくつかの実施例では、RF回路804は、NFC(Near Field Communication)に関する回路をさらに備えていてもよいが、本発明ではこれに対して限定されない。
表示スクリーン805は、UI(User Interface)を表示するためのものである。当該UIは、図形、テキスト、アイコン、ビデオおよびそれらの任意の組み合わせを含むことができる。表示スクリーン805は、タッチスクリーンである場合、その表面または表面の上方におけるタッチ信号を収集する能力も有している。このタッチ信号は、制御信号としてプロセッサ801に入力して処理を行うことができる。この場合、表示スクリーン805は、仮想ボタンおよび/または仮想キーボード(ソフトボタンおよび/またはソフトキーボードとも言われる)を提供するためにも用いられる。いくつかの実施例では、表示スクリーン805は、1つであり、端末800の前面板に設置されてもよい。他の幾つかの実施例では、表示スクリーン805は、少なくとも2つであり、それぞれ端末800の異なる表面に設けられ、または折り畳んで設けられてもよい。さらにいくつかの実施例では、表示スクリーン805は、フレキシブル表示スクリーンであり、端末800の湾曲面または合わせ面に設けられてもよい。ひいては、表示スクリーン805は、非矩形の不規則な図形に設けられてもよく、すなわち、異形のものであってもよい。表示スクリーン805は、LCD(Liquid Crystal Display)、OLED(Organic Light-Emitting Diode)等の材質で製造されることができる。
カメラアセンブリ806は、画像またはビデオを採集するためのものである。好ましくは、カメラアセンブリ806は、フロントカメラとリアカメラとを含む。一般的に、フロントカメラは、端末の前面板に設けられ、リアカメラは、端末の背面に設けられる。いくつかの実施例では、リアカメラは、それぞれメインカメラ、被写界深度カメラ、広角カメラ、望遠カメラのいずれか1種である少なくとも2つであり、メインカメラと被写界深度カメラとの融合による背景ぼかし機能、メインカメラと広角カメラとの融合によるパノラマ撮影およびVR(Virtual Reality)撮影機能、または他の融合による撮影機能を実現することができる。いくつかの実施例では、カメラアセンブリ806は、フラッシュランプをさらに備えてもよい。フラッシュランプは、単色温度フラッシュランプであってもよいし、2色温度フラッシュランプであってもよい。2色温度フラッシュランプは、暖光フラッシュランプと冷光フラッシュランプとの組み合わせであり、異なる色温度での光線補償に用いることができる。
オーディオ回路807は、マイクおよびスピーカを含む。マイクは、ユーザや環境の音波を採集するとともに、音波を電気信号に変換してプロセッサ801に入力して処理を行い、またはRF回路804に入力して音声通信を実現するためのものである。マイクは、ステレオ音声の採集やノイズの低減の目的のために、端末800の異なる部位にそれぞれ設けられる複数あってもよい。マイクは、アレイマイクまたは全方向集音型マイクであってもよい。スピーカは、プロセッサ801またはRF回路804からの電気信号を音波に変換するためのものである。スピーカは、従来のフィルムスピーカであってもよいし、圧電セラミックスピーカであってもよい。スピーカが圧電セラミックスピーカである場合、電気信号を人間に聞こえる音波に変換可能であるだけでなく、距離測定などの用途として電気信号を人間に聞こえない音波に変換することもできる。いくつかの実施例では、オーディオ回路807は、イヤホンジャックをさらに備えていてもよい。
測位アセンブリ808は、ナビゲーションやLBS(Location Based Service)を実現するために、端末800の現在の地理位置を測位するためのものである。測位アセンブリ808は、米国のGPS(Global
Positioning System)、中国の北斗システム、ロシアのグレイスシステムまたは欧州連合のガリレオシステムに基づいた測位アセンブリである。
電源809は、端末800における各構成要素に電力を供給するためのものである。電源809は、交流電源、直流電源、一次電池または二次電池である。電源809が二次電池を含む場合、当該二次電池は、有線充電または無線充電を支持することができる。当該二次電池は、急速充電技術を支持するために用いられてもよい。
いくつかの実施例では、端末800は、1つまたは複数のセンサ810をさらに備える。当該1つまたは複数のセンサ810は、加速度センサ811と、ジャイロセンサ812と、圧力センサ813と、指紋センサ814と、光学センサ815と、近接センサ816とを含むが、これらに限定されるものではない。
加速度センサ811は、端末800で確立した座標系の3つの座標軸における加速度の大きさを検出することができる。例えば、加速度センサ811は、3つの座標軸における重力加速度の成分を検出するために用いられてもよい。プロセッサ801は、加速度センサ811から取得した重力加速度信号に基づいて、ユーザインタフェースを横方向ビューまたは縦方向ビューで表示するように表示スクリーン805を制御することができる。加速度センサ811は、ゲームまたはユーザの運動データを収集するためにも用いられてもよい。
ジャイロセンサ812は、端末800の機体方向および回動角度を検出することができ、ジャイロセンサ812は、加速度センサ811と協働してユーザによる端末800への3D動作を採集することができる。プロセッサ801は、ジャイロセンサ812が採集したデータに基づいて、動作感知(例えば、ユーザの傾斜操作に応じてUIを変化する)、撮影時の画像の安定化、ゲーム制御および慣性航法などのような機能を実現することができる。
圧力センサ813は、端末800のサイドフレームおよび/または表示スクリーン805の下層に設けることができる。圧力センサ813は、端末800のサイドフレームに設けられる場合、ユーザによる端末800の把持信号を検出することができ、プロセッサ801は、圧力センサ813が採集した把持信号に基づいて左右手の識別やショートカット操作を行うことができる。圧力センサ813が表示スクリーン805の下層に設けられる場合、プロセッサ801は、ユーザによる表示スクリーン805への押圧操作に基づいて、UIインタフェースにおける操作可能なコントロールを制御する。操作可能なコントロールは、ボタンコントロール、スクロールバーコントロール、アイコンコントロール、メニューコントロールのうちの少なくとも1種を含む。
指紋センサ814は、ユーザの指紋を採集するものであり、プロセッサ801は、指紋センサ814が採集した指紋に基づいてユーザの身分を識別し、または、指紋センサ814は、採集した指紋に基づいてユーザの身分を識別する。ユーザの身分が信頼できる身分であると識別した場合、プロセッサ801は、当該ユーザに対して、スクリーンのロック解除、暗号化情報の閲覧、ソフトウェアのダウンロード、支払いおよび設定の変更などを含む秘密的な操作の実行を許可する。指紋センサ814は、端末800の正面、背面または側面に設けられる。指紋センサ814は、端末800に物理キーやメーカーLogoが設けられる場合、物理キーやメーカーLogoと一体に集積されてもよい。
光学センサ815は、環境光の強度を採集するためのものである。1つの実施例では、プロセッサ801は、光学センサ815が採集した環境光の強度に応じて、表示スクリーン805の表示輝度を制御することができる。具体的には、環境光の強度が高い場合、表示スクリーン805の表示輝度を高める一方、環境光の強度が低い場合、表示スクリーン805の表示輝度を低くする。別の実施例では、プロセッサ801は、光学センサ815が採集した環境光の強度に応じて、カメラアセンブリ806の撮影パラメータを動的に調整してもよい。
近接センサ816は、距離センサとも呼ばれ、一般的に端末800の前面板に設けられている。近接センサ816は、ユーザと端末800の正面との間の距離を採集するためのものである。1つの実施例では、プロセッサ801は、近接センサ816によってユーザと端末800の正面との距離が徐々に小さくなることを検知した場合、ウェイクアップ状態からスリーブ状態に切り替えるように表示スクリーン805を制御する一方、近接センサ816によってユーザと端末800の正面との間の距離が徐々に大きくなることを検知した場合、スリーブ状態からウェイクアップ状態に切り替えるように表示スクリーン805を制御する。
当業者であれば、端末800は、図8に示す構成に限定されず、図示よりも多くまたは少ない要素を含んだり、複数の要素を組み合わせたり、異なる要素の配置を採用したりしてもよいことを理解すべきである。
図9は、本発明の実施例が提供する1種のサーバの構成を示す図であり、当該サーバ900は、構成や性能によっては大きく異なり、1以上のプロセッサ(central processing units、CPU)901と1つ以上のメモリ902とを含むことができ、そのうち、前記メモリ902には、前記プロセッサ901がロードして実行することにより上記の各方法の実施例が提供する方法を実現するための少なくとも1つの命令が記憶されている。もちろん、当該サーバは、入出力を行うために有線/無線ネットワークインタフェース、キーボードおよび入出力インタフェースなどの部材を有していてもよく、当該サーバは、機器の機能を実現するための他の部材を含んでいてもよく、ここではその説明を省略する。
サーバ900は、上記のキャラクタ推薦方法においてサーバが実行するステップを実行することができる。
本発明の実施例は、コンピュータ装置をさらに提供し、当該コンピュータ装置は、プロセッサとメモリとを含み、メモリには命令またはプログラムが記憶され、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
コード入力インタフェースに入力されたコードを構文木に変換し、構文木は、複数のノード、複数のノードの間の階層関係および複数のノードの位置区間を含み、複数のノードと複数のノードの間の階層関係とは、コードの構文構造を示すためのものであり、ノードの位置区間は、コード入力インタフェースにおけるノードに対応するキャラクタ集合の位置区間を示すためのものであり、
コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木においてカーソルの位置に対応する少なくとも1つの参照ノードを決定し、
少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定し、
コード入力インタフェースに目標キャラクタを推薦する動作を実現する。
1つの可能な実現形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに複数の目標キャラクタを表示する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、複数の目標キャラクタのうちの第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した第1の目標キャラクタをカーソルの位置に入力する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、解析結果に基づいて推薦対象となる1つの目標キャラクタを決定したことに応じて、1つの目標キャラクタをカーソルの位置に入力する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、複数の目標キャラクタのうちの第2の目標キャラクタをカーソルの位置に入力し、
コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに第2の目標キャラクタ以外の他の目標キャラクタを表示する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、キャラクタ推薦ウィンドウにおける第3の目標キャラクタに対する選択操作を検出したことに応じて、第3の目標キャラクタで第2の目標キャラクタを置き換える動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、構文木におけるノードをトラバースし、
カーソルの位置が現在トラバースしたノードの位置区間に属すると、ノードを参照ノードとして決定する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
少なくとも1つの参照ノードにおける操作ノードおよび操作ノードに対応する操作タイプを決定し、操作ノードは、対応するキャラクタ集合に演算子が含まれるノードを指し、
演算子データベースから操作タイプに属する演算子を目標キャラクタとして取得し、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
複数の参照ノードの位置区間の前後順序に従って複数の参照ノードを接続して、ノードパスを構成し、
ノードパスを解析し、解析結果に基づいてノードパスが属する操作タイプを決定し、
演算子データベースから操作タイプに属する少なくとも1つの演算子を目標キャラクタとして取得し、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
少なくとも1つの参照ノードにおける最後の1つの識別子ノードに対応するキャラクタを決定し、識別子ノードは、対応するキャラクタ集合が識別子であるノードを指し、
識別子データベースからキャラクタが含まれる識別子を取得して、識別子を目標キャラクタとし、識別子データベースは、少なくとも1つの識別子を記憶するためのものである動作を実現する。
本発明の実施例は、コンピュータ読取可能な記憶媒体をさらに提供し、当該コンピュータ読取可能な記憶媒体には、命令またはプログラムが記憶され、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
コード入力インタフェースに入力されたコードを構文木に変換し、構文木は、複数のノード、複数のノードの間の階層関係および複数のノードの位置区間を含み、複数のノードと複数のノードの間の階層関係とは、コードの構文構造を示すためのものであり、ノードの位置区間は、コード入力インタフェースにおけるノードに対応するキャラクタ集合の位置区間を示すためのものであり、
コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木においてカーソルの位置に対応する少なくとも1つの参照ノードを決定し、
少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定し、
コード入力インタフェースに目標キャラクタを推薦する動作を実現する。
1つの可能な実現形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに複数の目標キャラクタを表示する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、複数の目標キャラクタのうちの第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した第1の目標キャラクタをカーソルの位置に入力する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、解析結果に基づいて推薦対象となる1つの目標キャラクタを決定したことに応じて、1つの目標キャラクタをカーソルの位置に入力する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、複数の目標キャラクタのうちの第2の目標キャラクタをカーソルの位置に入力し、
コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに第2の目標キャラクタ以外の他の目標キャラクタを表示する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、キャラクタ推薦ウィンドウにおける第3の目標キャラクタに対する選択操作を検出したことに応じて、第3の目標キャラクタで第2の目標キャラクタを置き換える動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
構文木におけるノードをトラバースし、
カーソルの位置が現在トラバースしたノードの位置区間に属すると、ノードを参照ノードとして決定する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
少なくとも1つの参照ノードにおける操作ノードおよび操作ノードに対応する操作タイプを決定し、操作ノードは、対応するキャラクタ集合に演算子が含まれるノードを指し、
演算子データベースから操作タイプに属する演算子を目標キャラクタとして取得し、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
複数の参照ノードの位置区間の前後順序に従って複数の参照ノードを接続して、ノードパスを構成し、
ノードパスを解析し、解析結果に基づいてノードパスが属する操作タイプを決定し、
演算子データベースから操作タイプに属する少なくとも1つの演算子を目標キャラクタとして取得し、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
少なくとも1つの参照ノードにおける最後の1つの識別子ノードに対応するキャラクタを決定し、識別子ノードは、対応するキャラクタ集合が識別子であるノードを指し、
識別子データベースからキャラクタが含まれる識別子を取得して、識別子を目標キャラクタとし、識別子データベースは、少なくとも1つの識別子を記憶するためのものである動作を実現する。
本発明の実施例は、コンピュータプログラム製品をさらに提供し、コンピュータプログラム製品は、コンピュータ命令を含み、コンピュータ命令は、コンピュータ読取可能な記憶媒体に記憶される。コンピュータ装置のプロセッサは、コンピュータ読取可能な記憶媒体からコンピュータ命令を読み取り、プロセッサがコンピュータ命令を実行することにより、コンピュータ装置に、
コード入力インタフェースに入力されたコードを構文木に変換し、構文木は、複数のノード、複数のノードの間の階層関係および複数のノードの位置区間を含み、複数のノードと、複数のノードの間の階層関係とは、コードの構文構造を示すためのものであり、ノードの位置区間は、コード入力インタフェースにおけるノードに対応するキャラクタ集合の位置区間を示すためのものであり、
コード入力インタフェースにおけるカーソルの位置および構文木に基づいて、構文木においてカーソルの位置に対応する少なくとも1つの参照ノードを決定し、
少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定し、
コード入力インタフェースに目標キャラクタを推薦する動作を実行させる。
1つの可能な実現形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに複数の目標キャラクタを表示する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、複数の目標キャラクタのうちの第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した第1の目標キャラクタをカーソルの位置に入力する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、解析結果に基づいて推薦対象となる1つの目標キャラクタを決定したことに応じて、1つの目標キャラクタをカーソルの位置に入力する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、複数の目標キャラクタのうちの第2の目標キャラクタをカーソルの位置に入力し、
コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、キャラクタ推薦ウィンドウに第2の目標キャラクタ以外の他の目標キャラクタを表示する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、キャラクタ推薦ウィンドウにおける第3の目標キャラクタに対する選択操作を検出したことに応じて、第3の目標キャラクタで第2の目標キャラクタを置き換える動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
構文木におけるノードをトラバースし、
カーソルの位置が現在トラバースしたノードの位置区間に属すると、ノードを参照ノードとして決定する動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
少なくとも1つの参照ノードにおける操作ノードおよび操作ノードに対応する操作タイプを決定し、操作ノードは、対応するキャラクタ集合に演算子が含まれるノードを指し、
演算子データベースから操作タイプに属する演算子を目標キャラクタとして取得し、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
複数の参照ノードの位置区間の前後順序に従って複数の参照ノードを接続して、ノードパスを構成し、
ノードパスを解析し、解析結果に基づいてノードパスが属する操作タイプを決定し、
演算子データベースから操作タイプに属する少なくとも1つの演算子を目標キャラクタとして取得し、演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである動作を実現する。
別の可能な実施形態では、当該命令または当該プログラムは、プロセッサによりロードされて実行することにより、
少なくとも1つの参照ノードにおける最後の識別子ノードに対応するキャラクタを決定し、識別子ノードは、対応するキャラクタ集合が識別子であるノードを指し、
識別子データベースからキャラクタが含まれる識別子を取得して、識別子を目標キャラクタとし、識別子データベースは、少なくとも1つの識別子を記憶するためのものである動作を実現する。
また、本分野の一般的技術者であれば、上記の実施例の全部または一部のステップは、ハードウェアによって実行されてもよいし、関連するハードウェアが実行するようにプログラムによって指示してもよく、前記プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、上記の記憶媒体は、ROM、磁気ディスク、光ディスクなどであってもよい。
以上は、あくまでも本発明の好適な実施例に過ぎず、本発明を限定するものではなく、本発明の精神と原則内で行われるいかなる修正、均等置換、改善などは、いずれも本発明の保護範囲内に含まれるべきである。

Claims (15)

  1. コンピュータ装置が実行するキャラクタ推薦方法であって、
    コード入力インタフェースに入力されたコードを構文木に変換するステップであって、前記構文木は、複数のノード、前記複数のノードの間の階層関係および前記複数のノードの位置区間を含み、前記複数のノードと、前記複数のノードの間の階層関係とは、前記コードの構文構造を示すためのものであり、前記ノードの位置区間は、前記コード入力インタフェースにおける前記ノードに対応するキャラクタ集合の位置区間を示すためのものである、ステップと、
    前記コード入力インタフェースにおけるカーソルの位置および前記構文木に基づいて、前記構文木において前記カーソルの位置に対応する少なくとも1つの参照ノードを決定するステップと、
    前記少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定するステップと、
    前記コード入力インタフェースにおいて、前記目標キャラクタを推薦するステップと、を含む、
    ことを特徴とするキャラクタ推薦方法。
  2. 前記コード入力インタフェースにおいて、前記目標キャラクタを推薦する前記ステップが、
    前記解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、前記コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、前記キャラクタ推薦ウィンドウに前記複数の目標キャラクタを表示するステップを含む、
    ことを特徴とする請求項1に記載の方法。
  3. 前記キャラクタ推薦ウィンドウに前記複数の目標キャラクタを表示する前記ステップの後に、
    前記複数の目標キャラクタのうちの第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した前記第1の目標キャラクタを前記カーソルの位置に入力するステップをさらに含む、
    ことを特徴とする請求項2に記載の方法。
  4. 前記コード入力インタフェースにおいて、前記目標キャラクタを推薦する前記ステップが、
    前記解析結果に基づいて推薦対象となる1つの目標キャラクタを決定したことに応じて、前記1つの目標キャラクタを前記カーソルの位置に入力するステップを含む、
    ことを特徴とする請求項1に記載の方法。
  5. 前記コード入力インタフェースにおいて、前記目標キャラクタを推薦する前記ステップが、
    前記解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、前記複数の目標キャラクタのうちの第2の目標キャラクタを前記カーソルの位置に入力するステップと、
    前記コード入力インタフェースにキャラクタ推薦ウィンドウを生成し、前記キャラクタ推薦ウィンドウに前記第2の目標キャラクタ以外の他の目標キャラクタを表示するステップと、を含む、
    ことを特徴とする請求項1に記載の方法。
  6. 前記キャラクタ推薦ウィンドウに前記第2の目標キャラクタ以外の他の目標キャラクタを表示する前記ステップの後に、
    前記キャラクタ推薦ウィンドウにおける第3の目標キャラクタに対する選択操作を検出したことに応じて、前記第3の目標キャラクタで前記第2の目標キャラクタを置き換えるステップをさらに含む、
    ことを特徴とする請求項5に記載の方法。
  7. 前記コード入力インタフェースにおけるカーソルの位置および前記構文木に基づいて、前記構文木において前記カーソルの位置に対応する少なくとも1つの参照ノードを決定する前記ステップが、
    前記構文木におけるノードをトラバースするステップと、
    前記カーソルの位置が現在トラバースしたノードの位置区間に属すると、前記ノードを参照ノードとして決定するステップと、を含む、
    ことを特徴とする請求項1に記載の方法。
  8. 前記少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定する前記ステップが、
    前記少なくとも1つの参照ノードにおける操作ノードおよび前記操作ノードに対応する操作タイプを決定するステップであって、前記操作ノードとは、対応するキャラクタ集合に演算子が含まれるノードである、ステップと、
    演算子データベースから前記操作タイプに属する演算子を目標キャラクタとして取得するステップであって、前記演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである、ステップと、を含む、
    ことを特徴とする請求項1に記載の方法。
  9. 前記少なくとも1つの参照ノードは、複数の参照ノードを含んでおり、
    前記少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定する前記ステップが、
    前記複数の参照ノードの位置区間の前後順序に従って前記複数の参照ノードを接続して、ノードパスを構成するステップと、
    前記ノードパスを解析し、解析結果に基づいて前記ノードパスが属する操作タイプを決定するステップと、
    演算子データベースから前記操作タイプに属する少なくとも1つの演算子を目標キャラクタとして取得するステップであって、前記演算子データベースは、少なくとも1種の操作タイプに属する演算子を記憶するためのものである、ステップと、を含む、
    ことを特徴とする請求項1に記載の方法。
  10. 前記少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定する前記ステップが、
    前記少なくとも1つの参照ノードにおける最後の1つの識別子ノードに対応するキャラクタを決定するステップであって、前記識別子ノードとは、対応するキャラクタ集合が識別子であるノードである、ステップと、
    識別子データベースから前記キャラクタが含まれる識別子を取得して、前記識別子を目標キャラクタとするステップであって、前記識別子データベースは、少なくとも1つの識別子を記憶するためのものであるステップと、を含む、
    ことを特徴とする請求項1に記載の方法。
  11. コード入力インタフェースに入力されたコードを構文木に変換するための変換モジュールであって、前記構文木は、複数のノード、前記複数のノードの間の階層関係および前記複数のノードの位置区間を含み、前記複数のノードと、前記複数のノードの間の階層関係とは、前記コードの構文構造を示すためのものであり、前記ノードの位置区間は、前記コード入力インタフェースにおける前記ノードに対応するキャラクタ集合の位置区間を示すためのものである、変換モジュールと、
    前記コード入力インタフェースにおけるカーソルの位置および前記構文木に基づいて、前記構文木において前記カーソルの位置に対応する少なくとも1つの参照ノードを決定するためのノード決定モジュールと、
    前記少なくとも1つの参照ノードを解析し、解析結果に基づいて推薦対象となる目標キャラクタを決定するためのキャラクタ決定モジュールと、
    前記コード入力インタフェースにおいて、前記目標キャラクタを推薦するための推薦モジュールと、を備える、
    ことを特徴とするキャラクタ推薦装置。
  12. 前記推薦モジュールが、
    前記解析結果に基づいて推薦対象となる複数の目標キャラクタを決定したことに応じて、前記コード入力インタフェースにキャラクタ推薦ウィンドウを生成するための生成ユニットと、
    前記キャラクタ推薦ウィンドウに前記複数の目標キャラクタを表示するための表示ユニットと、を含む、
    ことを特徴とする請求項11に記載の装置。
  13. 前記複数の目標キャラクタのうちの第1の目標キャラクタに対する選択操作を検出したことに応じて、選択した前記第1の目標キャラクタを前記カーソルの位置に入力するための入力モジュールをさらに備える、
    ことを特徴とする請求項12に記載の装置。
  14. プロセッサとメモリとを備えており、
    前記メモリには、命令またはプログラムが記憶されており、
    前記命令または前記プログラムは、前記プロセッサによりロードされて実行することにより請求項1乃至10のいずれか1項に記載のキャラクタ推薦方法において実行する動作を実現する、
    ことを特徴とするコンピュータ装置。
  15. 請求項1乃至10のいずれか1項に記載のキャラクタ推薦方法を実行させる、
    ことを特徴とするプログラム。
JP2021546226A 2019-07-15 2020-06-16 キャラクタ推薦方法、キャラクタ推薦装置、コンピュータ装置およびプログラム Active JP7236551B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910636592.9 2019-07-15
CN201910636592.9A CN112230781B (zh) 2019-07-15 2019-07-15 字符推荐方法、装置及存储介质
PCT/CN2020/096289 WO2021008287A1 (zh) 2019-07-15 2020-06-16 字符推荐方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
JP2022540736A true JP2022540736A (ja) 2022-09-20
JP7236551B2 JP7236551B2 (ja) 2023-03-09

Family

ID=74111549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021546226A Active JP7236551B2 (ja) 2019-07-15 2020-06-16 キャラクタ推薦方法、キャラクタ推薦装置、コンピュータ装置およびプログラム

Country Status (4)

Country Link
US (1) US11537213B2 (ja)
JP (1) JP7236551B2 (ja)
CN (1) CN112230781B (ja)
WO (1) WO2021008287A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115756449B (zh) * 2022-12-02 2023-06-06 之江实验室 一种页面复用方法、装置、存储介质及电子设备
CN117632106A (zh) * 2023-11-21 2024-03-01 广州致远电子股份有限公司 代码补全方法、装置、设备以及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234288A1 (en) * 2006-01-20 2007-10-04 Aptana, Inc. Type inference system and method
US20090077091A1 (en) * 2007-09-18 2009-03-19 Gilad Khen System for development and hosting of network applications
US20160188301A1 (en) * 2014-12-29 2016-06-30 Yan Zang Source code editor

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074172B2 (en) * 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
JP5376163B2 (ja) * 2007-11-15 2013-12-25 日本電気株式会社 文書管理・検索システムおよび文書の管理・検索方法
CN102999318B (zh) * 2011-09-08 2016-01-20 国际商业机器公司 辅助编程的方法及装置
US9934224B2 (en) * 2012-05-15 2018-04-03 Google Llc Document editor with research citation insertion tool
CN102768681B (zh) * 2012-06-26 2014-10-22 北京奇虎科技有限公司 一种用于搜索输入的推荐系统及方法
US20140173563A1 (en) * 2012-12-19 2014-06-19 Microsoft Corporation Editor visualizations
CN116185209A (zh) * 2014-08-11 2023-05-30 张锐 手写输入字符的处理、数据拆分和合并及编解码处理方法
US9860063B2 (en) * 2015-02-27 2018-01-02 Microsoft Technology Licensing, Llc Code analysis tool for recommending encryption of data without affecting program semantics
CN106293124A (zh) * 2016-08-05 2017-01-04 努比亚技术有限公司 输入法切换装置、终端及方法
US10114624B1 (en) * 2017-10-12 2018-10-30 Devfactory Fz-Llc Blackbox matching engine
CN110020140B (zh) * 2017-11-15 2023-02-21 腾讯科技(深圳)有限公司 推荐内容显示方法、装置及系统
US10990504B2 (en) * 2018-01-08 2021-04-27 Ozcode Ltd. Time travel source code debugger incorporating future prediction
CN108388425B (zh) * 2018-03-20 2021-02-19 北京大学 一种基于lstm自动补全代码的方法
CN108595165A (zh) * 2018-04-25 2018-09-28 清华大学 一种基于代码中间表示的代码补全方法、装置及存储介质
CN109271038B (zh) * 2018-07-17 2023-06-27 努比亚技术有限公司 候选词推荐方法、终端及计算机可读存储介质
US11150875B2 (en) * 2018-09-27 2021-10-19 Microsoft Technology Licensing, Llc Automated content editor
CN109614103A (zh) * 2018-10-19 2019-04-12 北京硅心科技有限公司 一种基于字符的代码补全方法及系统
CN109739494B (zh) * 2018-12-10 2023-05-02 复旦大学 一种基于Tree-LSTM的API使用代码生成式推荐方法
CN109670022B (zh) * 2018-12-13 2023-09-29 南京航空航天大学 一种基于语义相似度的Java应用程序接口使用模式推荐方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070234288A1 (en) * 2006-01-20 2007-10-04 Aptana, Inc. Type inference system and method
US20090077091A1 (en) * 2007-09-18 2009-03-19 Gilad Khen System for development and hosting of network applications
US20160188301A1 (en) * 2014-12-29 2016-06-30 Yan Zang Source code editor

Also Published As

Publication number Publication date
CN112230781A (zh) 2021-01-15
CN112230781B (zh) 2023-07-25
US20210294432A1 (en) 2021-09-23
WO2021008287A1 (zh) 2021-01-21
JP7236551B2 (ja) 2023-03-09
US11537213B2 (en) 2022-12-27

Similar Documents

Publication Publication Date Title
CN111061574B (zh) 一种对象分享方法及电子设备
CN107885533B (zh) 管理组件代码的方法及装置
CN110471858B (zh) 应用程序测试方法、装置及存储介质
WO2019149028A1 (zh) 应用程序的下载方法及终端
CN112116690B (zh) 视频特效生成方法、装置及终端
EP3842106A1 (en) Method and device for processing control information, electronic equipment, and storage medium
JP7246502B2 (ja) ミニプログラム作成方法、装置、端末及びプログラム
CN110572716A (zh) 多媒体数据播放方法、装置及存储介质
CN110543350A (zh) 一种生成页面组件的方法及装置
CN111459466B (zh) 代码生成方法、装置、设备及存储介质
CN112000331A (zh) 页面渲染方法、装置、电子设备及存储介质
CN112068762A (zh) 应用程序的界面显示方法、装置、设备及介质
CN111125602B (zh) 页面构建方法、装置、设备和存储介质
JP7236551B2 (ja) キャラクタ推薦方法、キャラクタ推薦装置、コンピュータ装置およびプログラム
CN105635553B (zh) 一种图像拍摄方法和装置
CN111437600A (zh) 剧情展示方法、装置、设备及存储介质
CN112764600B (zh) 资源处理方法、装置、存储介质及计算机设备
CN113190307A (zh) 控件添加方法、装置、设备及存储介质
KR20220154825A (ko) 노트 생성 방법 및 전자기기
CN114168369A (zh) 日志显示方法、装置、设备及存储介质
CN112230910B (zh) 嵌入型程序的页面生成方法、装置、设备及存储介质
CN113467663B (zh) 界面配置方法、装置、计算机设备及介质
CN112905328B (zh) 任务处理方法、装置及计算机可读存储介质
CN110852093A (zh) 文本信息生成方法、装置、计算机设备及存储介质
CN111294320B (zh) 数据转换的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230131

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: 20230221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230227

R150 Certificate of patent or registration of utility model

Ref document number: 7236551

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150