TWI735541B - 代碼提示資訊的產生方法及裝置 - Google Patents

代碼提示資訊的產生方法及裝置 Download PDF

Info

Publication number
TWI735541B
TWI735541B TW106105606A TW106105606A TWI735541B TW I735541 B TWI735541 B TW I735541B TW 106105606 A TW106105606 A TW 106105606A TW 106105606 A TW106105606 A TW 106105606A TW I735541 B TWI735541 B TW I735541B
Authority
TW
Taiwan
Prior art keywords
information
input
grammar
input content
content information
Prior art date
Application number
TW106105606A
Other languages
English (en)
Other versions
TW201734848A (zh
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 TW201734848A publication Critical patent/TW201734848A/zh
Application granted granted Critical
Publication of TWI735541B publication Critical patent/TWI735541B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)

Abstract

本發明公開了一種代碼提示資訊的產生方法及裝置,涉及資訊技術領域。本發明主要用於解決產生的代碼提示資訊的精確度較低的技術問題和解决由於顯示的代碼提示資訊中存在大量無用資訊,造成顯示代碼提示資訊时存在系統資源浪費的問题。所述方法包括:獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;根據所述輸入內容資訊與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。

Description

代碼提示資訊的產生方法及裝置
本發明涉及資訊技術領域,尤其涉及一種代碼提示資訊產生方法及裝置。
近年來,整合式開發環境(Integrated Development Environment,IDE)已經成為程式設計和開發的主流工具,隨著程式設計語言複雜度的不斷提高,IDE中的代碼提示功能的應用也越來越廣泛,其中,程式開發人員可以根據代碼提示資訊進行後續輸入,代碼提示功能能夠減輕程式開發人員記憶語法規則以及語言要素的名稱的負擔、降低程式開發人員輸入的字元量和出錯率,提升程式開發的效率。
目前,在進行代碼提示時,首先把所有的語言要素的名稱作為代碼提示資訊顯示給程式開發人員,然後根據程式開發人員持續輸入的內容進行代碼提示資訊的過濾。然而,由於代碼提示資訊中大部分的資訊不是程式開發人員需要的,例如,在結構化查詢語言(Structured Query Language,SQL)中,程式開發人員輸入INSERT語句,現 有代碼提示資訊的顯示介面示意圖,如圖5所示,當程式開發人員持續輸入in時,現有過濾後的代碼提示資訊的顯示介面示意圖,如圖6所示,在圖5和圖6中的資訊不是程式開發人員需要的,程式開發人員在實際的開發過程中幾乎不會選擇這些資訊,顯示這些資訊會給程式開發人員造成干擾,導致產生的代碼提示資訊的精確度較低,同時顯示這些不必要的代碼提示資訊會造成系統資源的浪費。
有鑑於此,本發明實施例提供一種代碼提示資訊的產生方法及裝置,主要目的是解決產生的代碼提示資訊的精確度較低的技術問題。
與此同時,本發明實施例還提供一種代碼提示資訊的產生方法及裝置,主要目的是解决由於顯示的代碼提示資訊中存在大量無用資訊,造成顯示代碼提示資訊時存在系統資源浪費的問题。
為達到上述目的,本發明提供如下技術方案:一方面,本發明提供一種代碼提示資訊的顯示方法,包括:接收當前程式開發過程中通過操作介面獲取的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述 預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;根據所述輸入內容資訊和與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊並進行輸出。
另一方面,本發明提供一種代碼提示資訊的顯示裝置,包括:獲取單元,用於獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;所述獲取單元,還用於獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;產生單元,用於根據所述輸入內容資訊和與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。
借由上述技術方案,本發明實施例提供的技術方案至少具有下列優點:
本發明實施例提供的一種代碼提示資訊的產生方法及裝置。首先,獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不 同輸入狀態資訊對應不同的預置文法規則;根據所述輸入內容資訊和與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。與目前首先把所有的語言要素的名稱作為代碼提示資訊顯示給程式開發人員,然後根據程式開發人員持續輸入的內容進行代碼提示資訊的過濾相比,本發明實施例通過根據所述輸入內容資訊和與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊,能夠提升代碼提示資訊的精確度率,同時能夠避免由於在代碼提示資訊中顯示大量無用資訊而造成的系統資源的浪費。
上述說明僅是本發明技術方案的概述,為了能夠更清楚瞭解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
31‧‧‧獲取單元
32‧‧‧產生單元
41‧‧‧獲取單元
42‧‧‧產生單元
43‧‧‧輸出單元
44‧‧‧檢測單元
45‧‧‧接收單元
46‧‧‧更新單元
47‧‧‧保存單元
通過閱讀下文較佳實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明瞭。附圖僅用於示出較佳實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:圖1示出了本發明實施例提供的一種代碼提示資訊的產生方法的流程圖;圖2示出了本發明實施例提供的另一種代碼提示資訊 的產生方法的流程圖;圖3示出了本發明實施例提供的一種代碼提示資訊的產生裝置的結構示意圖;圖4示出了本發明實施例提供的另一種代碼提示資訊的產生裝置的結構示意圖;圖5示出了現有代碼提示資訊的顯示介面示意圖;圖6示出了現有過濾後的代碼提示資訊的顯示介面示意圖;圖7示出了本發明實施例代碼提示資訊的顯示介面示意圖;圖8示出了本發明實施例提供的程式開發過程中代碼提示的方法流程圖。
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
本發明實施例提供的一種代碼提示資訊的產生方法,如圖1所示,所述方法包括:
101、獲取當前程式開發過程對應的輸入狀態資訊。
其中,所述輸入狀態資訊包括輸入內容資訊和輸入語 言環境資訊。所述輸入內容資訊可以包括輸入的語句資訊和游標位置資訊,如輸入的語句資訊為INSERT。所述輸入語言環境資訊可以為程式開發過程中所使用的程式設計語言,如結構化查詢語言(Structured Query Language,SQL)、C語言等。程式設計語言一般是上下文無關文法定義的,所述上下文無關文法是形式語言理论中一种重要的变换文法,用来描述上下文無关語言,即程式設計語言中某一語句資訊或者語句資訊是否出現在特定位置上不依賴於上下文。
對於本發明實施例,用戶通常在整合式開發環境對應的文字編輯器中輸入語句資訊進行程式開發,因此,程式開發過程對應的輸入狀態資訊為通過文字編輯器獲取的輸入狀態資訊,步驟101具體可以為:獲取當前整合式開發環境對應的文字編輯器中的輸入狀態資訊。
102、獲取與輸入狀態資訊對應的預置文法規則。
其中,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則。所述預置文法規則可以為上下文無關文法規則。
由於相同語句資訊的不同語言對應的上下文無關文法規則不同,如語句資訊為設定陳述式,在Java語言和C語言中設定陳述式對應的上下文無關文法規則不同;相同語言的不同語句資訊對應的上下文無關文法規則不同,如INSERT語句在SQL語言中存在對應的上下文無關文法規則,但是在C語言中不存在對應的上下文無關文法規則。 因此在程式開發過程中不同輸入狀態資訊對應不同的上下文無關文法規則。
103、根據輸入內容資訊與輸入狀態資訊對應的預置文法規則,產生與輸入內容資訊對應的代碼提示資訊。
其中,與所述輸入內容資訊對應的代碼提示資訊可以為與所述輸入內容資訊相關的代碼提示資訊。所述代碼提示資訊用於對使用者後續輸入的內容進行提示,通過代碼提示資訊可以提升代碼编寫速度和减少拼寫和語法錯誤,從而提升程式開發的效率。
對於本發明實施例,具體可以根據預置文法規則中保存的不同語句資訊之間的關聯關係和所述輸入內容資訊,推導出與所述輸入內容資訊相關的內容資訊,然後將與所述輸入內容資訊相關的內容資訊確定為所述輸入內容資訊相關的代碼提示資訊。
例如,當前的輸入語言環境為SQL語言,當前的輸入內容資訊為“INSERT”,則根據INSERT在SQL語言中的上下文無關文法規則,產生與“INSERT”相關的內容資訊,如“INSERT OVERWRITE DIRECTORY”、“INSERT OVERWRITE LOCAL DIRECTORY”等,然後將與“INSERT”相關的內容資訊確定為與“INSERT”對應的代碼提示資訊。其中,INSERT在SQL語言中的上下文無關文法規則中保存有“INSERT”與“INSERT OVERWRITE DIRECTORY”、“INSERT OVERWRITE LOCAL DIRECTORY”等語句資訊之間的關聯關係。
本發明實施例通過根據所述輸入內容資訊和與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊相關的內容資訊,然後將與所述輸入內容資訊相關的內容資訊確定為所述輸入內容資訊對應的代碼提示資訊,能夠提升代碼提示資訊顯示的精確度,同時能夠避免由於在代碼提示資訊中顯示大量無用資訊而造成的系統資源的浪費。
本發明實施例提供的一種代碼提示資訊的產生方法。首先,獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;根據與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。與目前首先把所有的語言要素的名稱作為代碼提示資訊顯示給程式開發人員,然後根據程式開發人員持續輸入的內容進行代碼提示資訊的過濾相比,本發明實施例通過根據所述輸入內容資訊和與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊,能夠提升代碼提示資訊的精確度率,同時能夠避免由於在代碼提示資訊中顯示大量無用資訊而造成的系統資源的浪費。
本發明實施例提供的另一種代碼提示資訊的產生方法,如圖2所示,所述方法包括:
201、獲取當前程式開發過程對應的輸入狀態資訊。
其中,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊。所述輸入內容資訊和所述輸入語言環境資訊的相應描述可以參照圖1所述實施例的對應描述,在此不再贅述。
202、檢測輸入內容資訊是否包含預置資訊。
其中,所述預置資訊可以為特殊分割字元資訊,如“,”、“(”等,也可以為觸發字元,在此不進行限定。
203、若輸入內容資訊包含預置資訊,則執行獲取與輸入狀態資訊對應的預置文法規則。
其中,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則。所述預置文法規則可以為上下文無關文法規則。所述上下文無關文法規則的相應描述可以參照圖1所述實施例的對應描述,在此不再贅述。
204、獲取與預置文法規則對應的有限狀態機。
其中,所述有限狀態機保存有不同語句資訊之間的轉換規則。所述有限狀態機是表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型。
對於本發明實施例,在步驟204之前,所述方法還可以包括:將所述預置文法規則解析轉換成一個有限狀態機,具體可以通過文法規則識別器將所述預置文法規則解析轉換成一個有限狀態機,所述文法規則識別器具體可以 為開源語法分析器(ANTLR-Another Tool for Language Recognition,Antlr),產生編譯器的編譯器(Yet Another Compiler Compiler,yacc)等。
205、根據輸入內容資訊和有限狀態機中不同語句資訊之間的轉換規則,產生輸入內容資訊對應的後續輸入內容資訊對應的後跟符號集合。
其中,所述後跟符號集合包括所述轉換規則的文法產生式集合、所述文法產生式集合對應的非終結符集合和所述文法產生式集合對應的起始終結符集合。所述後續輸入內容資訊可以為與所述輸入內容資訊相關的內容資訊。
對於本發明實施例,步驟205具體可以為:首先將所述輸入內容資訊解析轉化為所述有限狀態機中的輸入內容資訊,具體可以通過語法解析器將所述輸入內容資訊解析轉化為所述有限狀態機中的輸入內容資訊;然後通過狀態轉換分析器根據所述有限狀態機中的輸入內容資訊和所述有限狀態機中的轉換規則,產生所述輸入內容資訊對應的後續輸入內容資訊對應的後跟符號集合。
在本發明實施例中,為了描述方便,將所述有限狀態機中的輸入內容資訊記為S;將所述後跟符號集合記為Follow(S);將所述轉換規則的文法產生式集合記為Rule(S);將所述文法產生式對應的非終結符集合記為N(S);和所述文法產生式對應的起始終結符集合E(S)。
例如,用戶在SQL開發環境中的輸入內容資訊為“INSERT[I]”,其中,[I]代表當前游標位置”,將所述 輸入內容資訊解析轉化為所述有限狀態機中的輸入內容資訊“INSERT”,根據“INSERT”和所述有限狀態機中不同語句資訊之間的轉換規則,可以產生Follow(S)={N(S)、E(S)、Rule(S)},其中,N(S)={insertClause} E(S)={INSERT} Rule(S)={{KW_INSERT KW_OVERWRITE destination ifNotExists?},{KW_INSERT KW_INTO KW_TABLE?tableOrPartition(LPAREN columnNameList RPAREN)?}}
206、將非終結符集合中的非終結符對應的文法展開式與起始終結符集合中的起始終結符的文法展開式進行關聯。
其中,非終結符對應的文法展開式是表示非終結符對應的文法產生式展開為終結符序列的結果。
對於本發明實施例,步驟206具體可以為:當所述非終結符對應的文法展開式與所述起始終結符的文法展開式相等時,將所述起始終結符的文法展開式確定為後續輸入內容資訊的提示候選資訊。
需要說明的是,在步驟206之前,所述方法還可以包括:獲取所述非終結符對應的起始終結符集合中的起始終結符對應的文法產生式;將所述文法產生式中的所有的非終結符迴圈展開直至消除所有的非終結符後的結果,確定為所述非終結符對應的文法展開式。
在此記所述非終結符對應的文法展開式為 Template(N),為了說明獲取Template(N)的過程,在此根據INSERT進行舉例,如下所示,其中,insertClause為非終結符,insertClause對應的文法產生式為rule1、rule2:insertClause:rule1|rule2;rule1={KW_INSERT KW_OVERWRITE destination ifNotExists?};rule2={KW_INSERT KW_INTO KW_TABLE?tableOrPartition(LPAREN columnNameList RPAREN)?};在rule1中的非終結符為destination、由於在SQL語言中destination應的文法產生式為rule3、rule4:destination:rule3| rule4;rule3={(KW_LOCAL)?KW_DIRECTORY StringLiteral tableRowFormat?tableFileFormat?};rule4={KW_TABLE tableOrPartition};ifNotExists,StringLiteral,tableRowFormat,tableFileFormat等文法產生式的定義,不進行詳細的描述,但是不影響說明產生Template(N)的過程。
非終結符destination的起始終結符First集合={DIRECTORY、LOCAL DIRECTORY、TABLE};所述非終結符destination的First集中的起始終結符DIRECTORY、LOCAL DIRECTORY對應的文法產生式均為rule3,展開後為DIRECTORY、LOCAL DIRECTORY,所述非終結符destination的First集中的起始終結符 TABLE的文法產生式均為rule4,展開式為TABLE;非終結符insertClause的First集合={INSERT};由於非終結符insertClause對應的First集合中的起始終結符為INSERT且所述E(S)相等,INSERT對應的文法產生式為rule1、rule2,將rule1中的非終結符destination迴圈展開直至消除所有的非終結符後的結果為:template1=INSERT OVERWRITE DIRECTORY template2=INSERT OVERWRITE LOCAL DIRECTORY template3=INSERT OVERWRITE TABLE
將rule2中的非終結符destination迴圈展開直至消除所有的非終結符後的結果為:tempalte4=INSERT INTO template5=INSERT INTO TABLE
因此,得到的如下文法展開式即為後續輸入內容資訊的提示候選資訊:template1=INSERT OVERWRITE DIRECTORY template2=INSERT OVERWRITE LOCAL DIRECTORY template3=INSERT OVERWRITE TABLE tempalte4=INSERT INTO template5=INSERT INTO TABLE。
207、根據關聯結果,產生與輸入內容資訊對應的代碼提示資訊。
對於本發明實施例,步驟207具體可以為:根據所述 起始終結符和所述提示候選資訊,確定為與所述輸入內容資訊對應的代碼提示資訊。
進一步地,在根據所述起始終結符和所述提示候選資訊,確定為與所述輸入內容資訊對應的代碼提示資訊之前,所述方法還可以包括:獲取所述輸入狀態資訊對應的歷史輸入狀態資訊,根據所述歷史輸入狀態資訊,對所述起始終結符和所述提示候選資訊進行排序。具體地,可以根據所述提示候選資訊和起始終結符在歷史輸入狀態資訊中出現的次數或者優先順序進行排序,在此不進行限定。
例如,得到的所述提示候選資訊為:template1=INSERT OVERWRITE DIRECTORY template2=INSERT OVERWRITE LOCAL DIRECTORY template3=INSERT OVERWRITE TABLE tempalte4=INSERT INTO template5=INSERT INTO TABLE。
可以對上述提示候選資訊和起始終結符INSERT進行排序,排序後的順序為:INSERT INSERT INTO INSERT INTO TABLE INSERT INTO OVERWRITE TABLE INSERT INTO OVERWRITE DIRECTORY INSERT INTO OVERWRITE LOCAL DIRECTORY
即為與所述INSERT對應的代碼提示資訊。
208、輸出與輸入內容資訊對應的代碼提示資訊。
對於本發明實施例,步驟208具體可以為:將與輸入內容資訊對應的代碼提示資訊發送給當前整合式開發環境對應的文字編輯器,然後由所述文字編輯器顯示與輸入內容資訊對應的代碼提示資訊。
例如,產生與“INSERT”對應的代碼提示資訊如下:INSERT INSERT INTO INSERT INTO TABLE INSERT INTO OVERWRITE TABLE INSERT INTO OVERWRITE DIRECTORY INSERT INTO OVERWRITE LOCAL DIRECTORY
所述代碼提示資訊的顯示介面示意圖,如圖7所示,代碼提示資訊的顯示介面可以為文字編輯器的顯示介面。
對於本發明實施例,在步驟208之後,所述方法還可以包括:接收所述代碼提示資訊對應的資訊選擇指令,其中,所述資訊選擇指令用於指示從所述代碼提示資訊中選擇資訊;根據所述資訊更新所述輸入內容資訊。
例如,程式開發人員根據所述資訊選擇指令選擇的資訊為:INSERT INTO TABLE,則可以用INSERT INTO TABLE更新當前輸入內容資訊INSERT。
進一步地,在所述根據所述資訊更新所述輸入內容資訊之後,所述方法還可以包括:將所述資訊保存到所述歷 史輸入狀態資訊中。通過將所述資訊保存到所述歷史輸入狀態資訊可以方便後續對所述起始終結符和所述提示候選資訊進行排序。
對於本發明實施例,具體的應用場景可以如下所示,但不限於此,包括:程式開發過程中代碼提示的方法,如圖8所示:
步驟1:當用戶在SQL開發環境對應的文字編輯器中輸入INSERT語句時,代碼提示資訊產生裝置通過文字編輯器獲取INSERT語句。
步驟2:代碼提示資訊產生裝置通過文法規則識別器對INSERT語句對應的上下文無關法規則進行識別,將INSERT語句對應的上下文無關法則解析轉換成一個有限狀態機,其中,INSERT語句對應的上下文無關法規則,如圖7所示。
步驟3:代碼提示資訊產生裝置通過狀態轉換分析器根據所述有限狀態機中的輸入內容資訊和所述有限狀態機中的轉換規則,產生INSERT語句對應的後續輸入內容資訊對應的後跟符號集合Follow(S)。
步驟4:代碼提示資訊產生裝置獲取Follow(S)。
步驟5:代碼提示資訊產生裝置根據所述INSERT語句和所述Follow(S),產生與INSERT語句對應的後續輸入內容資訊的提示候選資訊,如下所示:template1=INSERT OVERWRITE DIRECTORY template2=INSERT OVERWRITE LOCAL DIRECTORY template3=INSERT OVERWRITE TABLE tempalte4=INSERT INTO template5=INSERT INTO TABLE。
步驟6:代碼提示資訊產生裝置根據歷史狀態資訊對上述提示候選資訊和INSERT語句進行排序。
步驟7:代碼提示資訊產生裝置將排序後的上述提示候選資訊和INSERT語句確定為INSERT語句對應代碼提示資訊。
步驟8:輸出INSERT語句對應代碼提示資訊,如圖9所示。
步驟9:當用戶從如圖9所示的代碼提示資訊中選擇INSERT INTO語句時,獲取INSERT INTO語句並用INSERT INTO語句更新文字編輯器中的INSERT語句。
步驟10:將INSERT INTO語句保存到歷史狀態資訊中。
本發明實施例提供的另一種代碼提示資訊的產生方法。首先,獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;根據與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。與目前首先把所有的語言要素的名稱作為代碼提示資訊顯示給程式開發人員,然後根據程式 開發人員持續輸入的內容進行代碼提示資訊的過濾相比,本發明實施例通過根據所述輸入內容資訊與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊,能夠提升代碼提示資訊的精確度率,同時能夠避免由於在代碼提示資訊中顯示大量無用資訊而造成的系統資源的浪費。
進一步地,作為圖1所示方法的具體實現,本發明實施例提供一種代碼提示資訊的產生裝置,如圖3所示,所述裝置可以包括:獲取單元31、產生單元32。
獲取單元31,用於獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊。
所述獲取單元31,還用於獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則。
產生單元32,用於根據與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。
需要說明的是,該裝置實施例與前述方法實施例對應,為便於閱讀,本裝置實施例不再對前述方法實施例中的細節內容進行逐一贅述,但應當明確,本實施例中的裝置能夠對應實現前述方法實施例中的全部內容。
本發明實施例提供的一種代碼提示資訊的產生裝置。 首先,獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;根據與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。與目前首先把所有的語言要素的名稱作為代碼提示資訊顯示給程式開發人員,然後根據程式開發人員持續輸入的內容進行代碼提示資訊的過濾相比,本發明實施例通過根據與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊,能夠提升代碼提示資訊的精確度率,同時能夠避免由於在代碼提示資訊中顯示大量無用資訊而造成的系統資源的浪費。
進一步地,作為圖2所示方法的具體實現,本發明實施例提供另一種代碼提示資訊的產生裝置,如圖4所示,所述裝置可以包括:獲取單元41、產生單元42。
獲取單元41,用於獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊。
所述獲取單元41,還用於獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則。
產生單元42,用於根據所述輸入內容資訊和與所述 輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。
進一步地,所述裝置還包括:輸出單元43。
所述輸出單元43,用於輸出與所述輸入內容資訊對應的代碼提示資訊。
進一步地,所述裝置還包括:檢測單元44。
所述檢測單元44,用於檢測所述輸入內容資訊是否包含預置資訊,其中,所述預置資訊為特殊分割字元資訊。
所述獲取單元41,具體用於若所述輸入內容資訊包含預置資訊,則執行所述獲取與所述輸入狀態資訊對應的預置文法規則。
進一步地,所述產生單元41包括:獲取模組、產生模組、關聯模組和產生模組。
獲取模組,用於獲取與所述預置文法規則對應的有限狀態機,其中,所述有限狀態機保存有不同語句資訊之間的轉換規則。
產生模組,用於根據所述輸入內容資訊和所述轉換規則,產生所述輸入內容資訊對應的後續輸入內容資訊對應的後跟符號集合,其中,所述後跟符號集合包括所述轉換規則的文法產生式集合、所述文法產生式對應的非終結符集合和所述文法產生式對應的起始終結符集合。
關聯模組,用於將所述非終結符集合中的非終結符對應的文法展開式與所述起始終結符集合中的起始終結符的 文法展開式進行關聯。
產生模組,用於根據關聯結果,產生與所述輸入內容資訊對應的代碼提示資訊。
所述關聯模組,具體用於當所述非終結符對應的文法展開式與所述起始終結符的文法展開式相等時,將所述起始終結符的文法展開式確定為後續輸入內容資訊的提示候選資訊。
所述產生模組,具體用於根據所述起始終結符和所述提示候選資訊,確定為與所述輸入內容資訊對應的代碼提示資訊。
所述產生單元42還包括:確定模組。
所述獲取模組,用於獲取所述非終結符對應的起始終結符集合中的起始終結符對應的文法產生式。
所述確定模組,用於將所述文法產生式中的所有的非終結符迴圈展開直至消除所有的非終結符後的結果,確定為所述非終結符對應的文法展開式。
所述獲取模組,還用於獲取所述輸入狀態資訊對應的歷史輸入狀態資訊。
所述排序模組,用於根據所述歷史輸入狀態資訊,對所述起始終結符和所述提示候選資訊進行排序。
所述確定模組,用於將排序後的所述起始終結符和所述提示候選資訊,確定為與所述輸入內容資訊對應的代碼提示資訊。
進一步地,所述裝置還包括:接收單元45和更新單 元46。
接收單元45,用於接收所述代碼提示資訊對應的資訊選擇指令,其中,所述資訊選擇指令用於指示從所述代碼提示資訊中選擇資訊。
更新單元46,用於根據所述資訊更新所述輸入內容資訊。
進一步地,所述裝置還包括:保存單元47。
保存單元,用於將所述資訊保存到所述歷史輸入狀態資訊中。
需要說明的是,該裝置實施例與前述方法實施例對應,為便於閱讀,本裝置實施例不再對前述方法實施例中的細節內容進行逐一贅述,但應當明確,本實施例中的裝置能夠對應實現前述方法實施例中的全部內容。
本發明實施例提供的另一種代碼提示資訊的產生裝置。首先,獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;根據所述輸入內容資訊與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。與目前首先把所有的語言要素的名稱作為代碼提示資訊顯示給程式開發人員,然後根據程式開發人員持續輸入的內容進行代碼提示資訊的過濾相比,本發明實施例通過根據與所述輸入狀態 資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊,能夠提升代碼提示資訊的精確度率,同時能夠避免由於在代碼提示資訊中顯示大量無用資訊而造成的系統資源的浪費。
所述代碼提示資訊的顯示裝置包括處理器和記憶體,上述獲取單元、產生單元、輸出單元、檢測單元、更新單元、保存單元等均作為程式單元儲存在記憶體中,由處理器執行儲存在記憶體中的上述程式單元來實現相應的功能。
處理器中包含內核,由內核去記憶體中調取相應的程式單元。內核可以設置一個或以上,通過調整內核參數來解決在對圖表中被選中的圖形進行顯示時存在顯示卡頓的問題。
記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM),記憶體包括至少一個儲存晶片。
本申請還提供了一種電腦程式產品,當在資料處理設備上執行時,適於執行初始化有如下方法步驟的程式碼:獲取當前程式開發過程對應的輸入狀態資訊,所述輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與所述輸入狀態資訊對應的預置文法規則,所述預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則; 根據所述輸入內容資訊與所述輸入狀態資訊對應的預置文法規則,產生與所述輸入內容資訊對應的代碼提示資訊。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本申請是參照根據本申請實施例的代碼提示資訊的顯示方法、裝置、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方框、以及流程圖和/或方塊圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個 流程和/或方塊圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理設備上,使得在電腦或其他可程式設計設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。
電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備訪 問的資訊。按照本文中的界定,電腦可讀介質不包括暫存電腦可讀媒體(transitory media),如調製的資料訊號和載波。
以上僅為本申請的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍範圍之內。

Claims (16)

  1. 一種代碼提示資訊的產生方法,其包括:獲取當前程式開發過程對應的輸入狀態資訊,該輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;獲取與該輸入狀態資訊對應的預置文法規則,該預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;根據該輸入內容資訊和與該輸入狀態資訊對應的預置文法規則,產生與該輸入內容資訊對應的代碼提示資訊;其中,所述根據該輸入內容資訊和與該輸入狀態資訊對應的預置文法規則,產生與該輸入內容資訊對應的代碼提示資訊包括:獲取與該預置文法規則對應的有限狀態機,其中,該有限狀態機保存有不同語句資訊之間的轉換規則;根據該輸入內容資訊和該轉換規則,產生該輸入內容資訊對應的後續輸入內容資訊對應的後跟符號集合,其中,該後跟符號集合包括該轉換規則的文法產生式集合、該文法產生式對應的非終結符集合和該文法產生式對應的起始終結符集合;將該非終結符集合中的非終結符對應的文法展開式與該起始終結符集合中的起始終結符的文法展開式進行關聯;根據關聯結果,產生與該輸入內容資訊對應的代碼提示資訊。
  2. 根據申請專利範圍第1項所述的方法,其中,所述產生與該輸入內容資訊對應的代碼提示資訊之後,該方法還包括:輸出該代碼提示資訊。
  3. 根據申請專利範圍第1項所述的方法,其中,所述獲取與該輸入狀態資訊對應的預置文法規則之前,該方法還包括:檢測該輸入內容資訊是否包含預置資訊,其中,該預置資訊為特殊分割字元資訊;若該輸入內容資訊包含預置資訊,則執行該獲取與該輸入狀態資訊對應的預置文法規則。
  4. 根據申請專利範圍第1項所述的方法,其中,所述將該非終結符集合中的非終結符對應的文法展開式與該起始終結符集合中的起始終結符的文法展開式進行關聯包括:當該非終結符對應的文法展開式與該起始終結符的文法展開式相等時,將該起始終結符的文法展開式確定為後續輸入內容資訊的提示候選資訊;該根據關聯結果,產生與該輸入內容資訊對應的代碼提示資訊包括:根據該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
  5. 根據申請專利範圍第1項所述的方法,其中,所述將該非終結符集合中的非終結符對應的文法展開式與該起 始終結符集合中的起始終結符的文法展開式進行關聯之前,該方法還包括:獲取該非終結符對應的起始終結符集合中的起始終結符對應的文法產生式;將該文法產生式中的所有的非終結符迴圈展開直至消除所有的非終結符後的結果,確定為該非終結符對應的文法展開式。
  6. 根據申請專利範圍第4項所述的方法,其中,所述根據該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊之前,該方法還包括:獲取該輸入狀態資訊對應的歷史輸入狀態資訊;根據該歷史輸入狀態資訊,對該起始終結符和該提示候選資訊進行排序;所述將該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊包括:將排序後的該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
  7. 根據申請專利範圍第2項所述的方法,其中,所述輸出該代碼提示資訊之後,該方法還包括:接收該代碼提示資訊對應的資訊選擇指令,其中,該資訊選擇指令用於指示從該代碼提示資訊中選擇資訊;根據該資訊更新該輸入內容資訊。
  8. 根據申請專利範圍第7項所述的方法,其中,所述根據該資訊更新該輸入內容資訊之後,該方法還包括: 將該資訊保存到歷史輸入狀態資訊中。
  9. 一種代碼提示資訊的產生裝置,其包括:獲取單元,用於獲取當前程式開發過程對應的輸入狀態資訊,該輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;該獲取單元,還用於獲取與該輸入狀態資訊對應的預置文法規則,該預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;產生單元,用於根據該輸入內容資訊和與該輸入狀態資訊對應的預置文法規則,產生與該輸入內容資訊對應的代碼提示資訊;其中,該產生單元包括:獲取模組,用於獲取與該預置文法規則對應的有限狀態機,其中,該有限狀態機保存有不同語句資訊之間的轉換規則;產生模組,用於根據該輸入內容資訊和該轉換規則,產生該輸入內容資訊對應的後續輸入內容資訊對應的後跟符號集合,其中,該後跟符號集合包括該轉換規則的文法產生式集合、該文法產生式對應的非終結符集合和該文法產生式對應的起始終結符集合;關聯模組,用於將該非終結符集合中的非終結符對應的文法展開式與該起始終結符集合中的起始終結符的文法展開式進行關聯;產生模組,用於根據關聯結果,產生與該輸入內容資訊對應的代碼提示資訊。
  10. 根據申請專利範圍第9項所述的裝置,其中,該裝置還包括:輸出單元,用於輸出該代碼提示資訊。
  11. 根據申請專利範圍第9項所述的裝置,其中,該裝置還包括:檢測單元,該檢測單元,用於檢測該輸入內容資訊是否包含預置資訊,其中,該預置資訊為特殊分割字元資訊;該獲取單元,具體用於若該輸入內容資訊包含預置資訊,則執行該獲取與該輸入狀態資訊對應的預置文法規則。
  12. 根據申請專利範圍第9項所述的裝置,其中,該關聯模組,具體用於當該非終結符對應的文法展開式與該起始終結符的文法展開式相等時,將該起始終結符的文法展開式確定為後續輸入內容資訊的提示候選資訊;該產生模組,具體用於根據該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
  13. 根據申請專利範圍第9項所述的裝置,其中,該產生單元還包括:確定模組,該獲取模組,用於獲取該非終結符對應的起始終結符集合中的起始終結符對應的文法產生式;該確定模組,用於將該文法產生式中的所有的非終結符迴圈展開直至消除所有的非終結符後的結果,確定為該非終結符對應的文法展開式。
  14. 根據申請專利範圍第12項所述的裝置,其中, 該獲取模組,還用於獲取該輸入狀態資訊對應的歷史輸入狀態資訊;排序模組,用於根據該歷史輸入狀態資訊,對該起始終結符和該提示候選資訊進行排序;該確定模組,用於將排序後的該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
  15. 根據申請專利範圍第10項所述的裝置,其中,該裝置還包括:接收單元,用於接收該代碼提示資訊對應的資訊選擇指令,其中,該資訊選擇指令用於指示從該代碼提示資訊中選擇資訊;更新單元,用於根據該資訊更新該輸入內容資訊。
  16. 根據申請專利範圍第15項所述的裝置,其中,該裝置還包括:保存單元,用於將該資訊保存到歷史輸入狀態資訊中。
TW106105606A 2016-03-28 2017-02-20 代碼提示資訊的產生方法及裝置 TWI735541B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610183039.0 2016-03-28
CN201610183039.0A CN107239264B (zh) 2016-03-28 2016-03-28 代码提示信息的生成方法及装置

Publications (2)

Publication Number Publication Date
TW201734848A TW201734848A (zh) 2017-10-01
TWI735541B true TWI735541B (zh) 2021-08-11

Family

ID=59963449

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106105606A TWI735541B (zh) 2016-03-28 2017-02-20 代碼提示資訊的產生方法及裝置

Country Status (5)

Country Link
US (1) US10678514B2 (zh)
EP (1) EP3422181B1 (zh)
CN (1) CN107239264B (zh)
TW (1) TWI735541B (zh)
WO (1) WO2017167045A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108008947B (zh) * 2017-12-25 2020-08-25 上海达梦数据库有限公司 一种编程语句的智能提示方法、装置、服务器及存储介质
CN111176629B (zh) * 2019-12-24 2024-07-30 中国建设银行股份有限公司 一种应用开发的方法和装置
CN111339378A (zh) * 2020-02-27 2020-06-26 广东安创信息科技开发有限公司 一种运维管理中的字符命令审计方法及系统
CN113296755A (zh) * 2020-06-08 2021-08-24 阿里巴巴集团控股有限公司 代码结构树库构建方法和信息推送方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125773A1 (en) * 2003-12-09 2005-06-09 International Business Machines Corporation User configurable language independent code assist method, system, article of manufacture, and computer program product
CN102520966A (zh) * 2011-12-28 2012-06-27 东软集团股份有限公司 一种代码提示方法和装置
TW201314548A (zh) * 2011-09-16 2013-04-01 Tatung Co 產生程式框架檔的方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822592A (en) * 1994-06-28 1998-10-13 Us West Technologies, Inc. Method and system for determining source code location
US6026233A (en) * 1997-05-27 2000-02-15 Microsoft Corporation Method and apparatus for presenting and selecting options to modify a programming language statement
US6427230B1 (en) 1998-11-09 2002-07-30 Unisys Corporation System and method for defining and managing reusable groups software constructs within an object management system
US6427228B1 (en) 1999-05-12 2002-07-30 International Business Machines Corporation Combining a meta data file and java source code to dynamically create java classes and javabeans
US6714978B1 (en) 1999-12-04 2004-03-30 Worldcom, Inc. Method and system for processing records in a communications network
AU2001229464A1 (en) 2000-01-14 2001-07-24 Saba Software, Inc. Method and apparatus for a web content platform
US6675370B1 (en) 2000-02-02 2004-01-06 International Business Machines Corporation System and method for imbedding hyperlinked language grammar notation in a “literate” programming environment
US6941510B1 (en) 2000-06-06 2005-09-06 Groove Networks, Inc. Method and apparatus for efficient management of XML documents
US20030070159A1 (en) 2000-08-04 2003-04-10 Intrinsic Graphics, Inc. Object decription language
US20020049790A1 (en) 2000-08-08 2002-04-25 Ricker Jeffrey M Data interchange format transformation method and data dictionary used therefor
US7275079B2 (en) 2000-08-08 2007-09-25 International Business Machines Corporation Common application metamodel including C/C++ metamodel
US6957416B2 (en) 2001-01-31 2005-10-18 Hewlett-Packard Development Company, L.P. Document builder classes and methods
US6799718B2 (en) * 2001-07-10 2004-10-05 Borland Software Corp. Development assistance for mixed-language sources
US20030056195A1 (en) 2001-07-19 2003-03-20 Hunt Joseph R. Code generator
US7069547B2 (en) 2001-10-30 2006-06-27 International Business Machines Corporation Method, system, and program for utilizing impact analysis metadata of program statements in a development environment
US7058886B1 (en) 2001-12-18 2006-06-06 Open Invention Network Method and apparatus for declarative error handling and presentation
JP2005521947A (ja) 2002-03-25 2005-07-21 データ クオリティー ソリューションズ、インコーポレイテッド ビジネス・プロセス・マネジメントを企業する方法及びシステム
US7275207B2 (en) 2002-03-28 2007-09-25 International Business Machines Corporation System and method in an electronic spreadsheet for displaying and/or hiding range of cells
US20030221184A1 (en) 2002-05-22 2003-11-27 Gunjal Atul Narayan Template-based application development system
US8418081B2 (en) 2002-12-18 2013-04-09 International Business Machines Corporation Optimizing display space with expandable and collapsible user interface controls
US20040187090A1 (en) 2003-03-21 2004-09-23 Meacham Randal P. Method and system for creating interactive software
US7526753B2 (en) * 2003-06-18 2009-04-28 Microsoft Corporation System and method for creating, managing and using code segments
US7313784B2 (en) * 2003-12-09 2007-12-25 International Business Machines Corporation Language independent code assist user preferences configuration method, system, article of manufacture, and computer program product
US7562343B2 (en) * 2003-12-09 2009-07-14 International Business Machines Corporation User configurable language independent code assist engine method, system, article of manufacture, and computer program product
GB0425581D0 (en) * 2004-11-20 2004-12-22 Ibm Data processing system and method
US20070083855A1 (en) * 2005-10-06 2007-04-12 Patel Sushma B Method and apparatus to enhance context for specific instances of output text in source files
CN102591470A (zh) * 2011-01-13 2012-07-18 百度在线网络技术(北京)有限公司 一种用于确定提示信息的方法、装置和计算机设备
CN102880468B (zh) * 2012-09-12 2015-07-08 浙江大学 一种用于ecu程序开发的代码智能提示方法及其系统
US9201856B2 (en) * 2012-12-17 2015-12-01 Amadeus S.A.S. Recommendation engine for interactive search forms
CN104050183A (zh) * 2013-03-13 2014-09-17 腾讯科技(深圳)有限公司 浏览器输入框的内容匹配结果提示方法及装置
CN103294468B (zh) * 2013-05-23 2017-11-03 山西大学 一种数据输入项的数据提示及数据输入的编程方法
WO2015105498A1 (en) * 2014-01-10 2015-07-16 Hewlett-Packard Development Company, L.P. Auto completion of source code constructs
US9740462B2 (en) * 2014-08-27 2017-08-22 Sap Se Adaptive, context-aware, model-based suggestions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125773A1 (en) * 2003-12-09 2005-06-09 International Business Machines Corporation User configurable language independent code assist method, system, article of manufacture, and computer program product
TW201314548A (zh) * 2011-09-16 2013-04-01 Tatung Co 產生程式框架檔的方法
CN102520966A (zh) * 2011-12-28 2012-06-27 东软集团股份有限公司 一种代码提示方法和装置

Also Published As

Publication number Publication date
EP3422181B1 (en) 2020-09-23
EP3422181A1 (en) 2019-01-02
US10678514B2 (en) 2020-06-09
CN107239264A (zh) 2017-10-10
CN107239264B (zh) 2020-06-23
WO2017167045A1 (zh) 2017-10-05
EP3422181A4 (en) 2019-12-04
TW201734848A (zh) 2017-10-01
US20190026081A1 (en) 2019-01-24

Similar Documents

Publication Publication Date Title
EP3740863B1 (en) Code suggestion based on machine learning
TWI735541B (zh) 代碼提示資訊的產生方法及裝置
CN110502227B (zh) 代码补全的方法及装置、存储介质、电子设备
US10628130B2 (en) Code completion of custom classes with machine learning
US9081586B2 (en) Systems and methods for customizing optimization/transformation/ processing strategies
CN113641701B (zh) 一种数据查询方法、系统、异构加速平台及存储介质
CN109491658A (zh) 计算机可执行代码数据的生成方法及装置
TWI713015B (zh) 語言識別方法及裝置
US20110145799A1 (en) Path-sensitive dataflow analysis including path refinement
US11586839B2 (en) Code completion of method parameters with machine learning
WO2018161509A1 (zh) 条件编译预处理方法、终端及存储介质
US20240329943A1 (en) Source code synthesis for domain specific languages from natural language text
Chua et al. Text normalization infrastructure that scales to hundreds of language varieties
US11669307B2 (en) Code injection from natural language derived intent
EP3942404B1 (en) Code completion for overloaded methods
CN108021559B (zh) 自然语言理解系统以及语意分析方法
CN113220591A (zh) 生成测试数据的方法及装置
CN113031952A (zh) 深度学习模型的执行代码的确定方法、装置及存储介质
CN107679040B (zh) 自然语言处理设备以及文法规则侦错方法
CN118113302A (zh) 一种树状中间表示生成方法、系统、设备、介质、产品
WO2021225691A1 (en) Code completion with machine learning
CN116755700A (zh) 一种数据收集方法、装置及介质
CN114692612A (zh) 一种文本信息语法分析方法及装置
JPH0950429A (ja) コンパイラにおけるポインタベクトル化システム
JP2001034482A (ja) コンパイル装置、プログラム最適化装置、コンパイル処理方法及び記録媒体