TWI735541B - 代碼提示資訊的產生方法及裝置 - Google Patents
代碼提示資訊的產生方法及裝置 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements 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項所述的方法,其中,所述產生與該輸入內容資訊對應的代碼提示資訊之後,該方法還包括:輸出該代碼提示資訊。
- 根據申請專利範圍第1項所述的方法,其中,所述獲取與該輸入狀態資訊對應的預置文法規則之前,該方法還包括:檢測該輸入內容資訊是否包含預置資訊,其中,該預置資訊為特殊分割字元資訊;若該輸入內容資訊包含預置資訊,則執行該獲取與該輸入狀態資訊對應的預置文法規則。
- 根據申請專利範圍第1項所述的方法,其中,所述將該非終結符集合中的非終結符對應的文法展開式與該起始終結符集合中的起始終結符的文法展開式進行關聯包括:當該非終結符對應的文法展開式與該起始終結符的文法展開式相等時,將該起始終結符的文法展開式確定為後續輸入內容資訊的提示候選資訊;該根據關聯結果,產生與該輸入內容資訊對應的代碼提示資訊包括:根據該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
- 根據申請專利範圍第1項所述的方法,其中,所述將該非終結符集合中的非終結符對應的文法展開式與該起 始終結符集合中的起始終結符的文法展開式進行關聯之前,該方法還包括:獲取該非終結符對應的起始終結符集合中的起始終結符對應的文法產生式;將該文法產生式中的所有的非終結符迴圈展開直至消除所有的非終結符後的結果,確定為該非終結符對應的文法展開式。
- 根據申請專利範圍第4項所述的方法,其中,所述根據該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊之前,該方法還包括:獲取該輸入狀態資訊對應的歷史輸入狀態資訊;根據該歷史輸入狀態資訊,對該起始終結符和該提示候選資訊進行排序;所述將該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊包括:將排序後的該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
- 根據申請專利範圍第2項所述的方法,其中,所述輸出該代碼提示資訊之後,該方法還包括:接收該代碼提示資訊對應的資訊選擇指令,其中,該資訊選擇指令用於指示從該代碼提示資訊中選擇資訊;根據該資訊更新該輸入內容資訊。
- 根據申請專利範圍第7項所述的方法,其中,所述根據該資訊更新該輸入內容資訊之後,該方法還包括: 將該資訊保存到歷史輸入狀態資訊中。
- 一種代碼提示資訊的產生裝置,其包括:獲取單元,用於獲取當前程式開發過程對應的輸入狀態資訊,該輸入狀態資訊包括輸入內容資訊和輸入語言環境資訊;該獲取單元,還用於獲取與該輸入狀態資訊對應的預置文法規則,該預置文法規則保存有不同語句資訊之間的關聯關係,不同輸入狀態資訊對應不同的預置文法規則;產生單元,用於根據該輸入內容資訊和與該輸入狀態資訊對應的預置文法規則,產生與該輸入內容資訊對應的代碼提示資訊;其中,該產生單元包括:獲取模組,用於獲取與該預置文法規則對應的有限狀態機,其中,該有限狀態機保存有不同語句資訊之間的轉換規則;產生模組,用於根據該輸入內容資訊和該轉換規則,產生該輸入內容資訊對應的後續輸入內容資訊對應的後跟符號集合,其中,該後跟符號集合包括該轉換規則的文法產生式集合、該文法產生式對應的非終結符集合和該文法產生式對應的起始終結符集合;關聯模組,用於將該非終結符集合中的非終結符對應的文法展開式與該起始終結符集合中的起始終結符的文法展開式進行關聯;產生模組,用於根據關聯結果,產生與該輸入內容資訊對應的代碼提示資訊。
- 根據申請專利範圍第9項所述的裝置,其中,該裝置還包括:輸出單元,用於輸出該代碼提示資訊。
- 根據申請專利範圍第9項所述的裝置,其中,該裝置還包括:檢測單元,該檢測單元,用於檢測該輸入內容資訊是否包含預置資訊,其中,該預置資訊為特殊分割字元資訊;該獲取單元,具體用於若該輸入內容資訊包含預置資訊,則執行該獲取與該輸入狀態資訊對應的預置文法規則。
- 根據申請專利範圍第9項所述的裝置,其中,該關聯模組,具體用於當該非終結符對應的文法展開式與該起始終結符的文法展開式相等時,將該起始終結符的文法展開式確定為後續輸入內容資訊的提示候選資訊;該產生模組,具體用於根據該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
- 根據申請專利範圍第9項所述的裝置,其中,該產生單元還包括:確定模組,該獲取模組,用於獲取該非終結符對應的起始終結符集合中的起始終結符對應的文法產生式;該確定模組,用於將該文法產生式中的所有的非終結符迴圈展開直至消除所有的非終結符後的結果,確定為該非終結符對應的文法展開式。
- 根據申請專利範圍第12項所述的裝置,其中, 該獲取模組,還用於獲取該輸入狀態資訊對應的歷史輸入狀態資訊;排序模組,用於根據該歷史輸入狀態資訊,對該起始終結符和該提示候選資訊進行排序;該確定模組,用於將排序後的該起始終結符和該提示候選資訊,確定為與該輸入內容資訊對應的代碼提示資訊。
- 根據申請專利範圍第10項所述的裝置,其中,該裝置還包括:接收單元,用於接收該代碼提示資訊對應的資訊選擇指令,其中,該資訊選擇指令用於指示從該代碼提示資訊中選擇資訊;更新單元,用於根據該資訊更新該輸入內容資訊。
- 根據申請專利範圍第15項所述的裝置,其中,該裝置還包括:保存單元,用於將該資訊保存到歷史輸入狀態資訊中。
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)
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)
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)
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 |
-
2016
- 2016-03-28 CN CN201610183039.0A patent/CN107239264B/zh active Active
-
2017
- 2017-02-20 TW TW106105606A patent/TWI735541B/zh active
- 2017-03-20 EP EP17773075.1A patent/EP3422181B1/en active Active
- 2017-03-20 WO PCT/CN2017/077252 patent/WO2017167045A1/zh active Application Filing
-
2018
- 2018-09-27 US US16/143,988 patent/US10678514B2/en active Active
Patent Citations (3)
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) | コンパイル装置、プログラム最適化装置、コンパイル処理方法及び記録媒体 |