TW201327211A - 代碼智慧生成系統及方法 - Google Patents

代碼智慧生成系統及方法 Download PDF

Info

Publication number
TW201327211A
TW201327211A TW101101016A TW101101016A TW201327211A TW 201327211 A TW201327211 A TW 201327211A TW 101101016 A TW101101016 A TW 101101016A TW 101101016 A TW101101016 A TW 101101016A TW 201327211 A TW201327211 A TW 201327211A
Authority
TW
Taiwan
Prior art keywords
macro
function
user
variable
data type
Prior art date
Application number
TW101101016A
Other languages
English (en)
Inventor
Chih-Kuang Chang
Zhong-Kui Yuan
Na Yu
Li Jiang
jian-hua Liu
Original Assignee
Hon Hai Prec Ind Co Ltd
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 Hon Hai Prec Ind Co Ltd filed Critical Hon Hai Prec Ind Co Ltd
Publication of TW201327211A publication Critical patent/TW201327211A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

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

Abstract

本發明提供一種代碼智慧生成方法。該方法透過用戶在巨集介面內添加變數以及為變數指定資料類型,調用指定目錄下的功能函數,智慧輸出符合預定語法規則的語言代碼。

Description

代碼智慧生成系統及方法
本發明涉及一種智慧編程系統及方法,尤其是關於一種代碼智慧生成系統及方法。
在執行工件量測作業時,量測人員往往需要對較多工件進行量測,手動量測浪費工時,而且量測誤差偏大。利用量測軟體量測較多種工件時,通常需要使用編輯器內學習模式下記錄的操作代碼。然而,這些操作代碼不能滿足所有量測人員的量測需求,大多時候還是需要量測人員手動編寫代碼。例如:針對量測資料分析時,需要編寫符合VB規則的語言代碼,但不是所有的量測人員都懂得VB語言,不精通此語言的量測人員在編輯代碼的時候效率慢且易出錯。
鑒於以上內容,有必要提出一種代碼智慧生成系統及方法,其可以智慧地生成符合預定語言規則的量測代碼。
所述代碼智慧生成方法運行於一個資料處理裝置中。該資料處理裝置包括一個量測軟體。該量測軟體包括一個腳本編輯器。所述腳本編輯器的巨集選項被選擇時,彈出一個巨集介面。所述資料處理裝置的一個指定目錄下或者一個巨集檔案夾內包含多個功能函數。該方法包括:初始化巨集介面內的資料類型列表及巨集名稱列表,將所有的資料類型導入到所述資料類型列表中,及將所述資料處理裝置中指定目錄下或者巨集檔案夾內的所有功能函數的名稱導入到巨集名稱列表中;接收用戶於巨集介面內輸入的變數名稱;接收用戶在巨集介面內選擇或者輸入的資料類型;當用戶輸入的變數名稱或者資料類型符合預定的語法規則時,根據用戶輸入的變數名稱及資料類型生成一條或者多條變數聲明,並將所有的變數名稱添加到巨集介面的巨集結果列表中;接收用戶從巨集名稱列表中選擇的功能函數及從巨集結果列表中指定的變數名稱;生成賦予結果的功能函數;接收用戶於變數聲明中選擇的需要添加到上述功能函數中的變數;從所述資料處理裝置的指定目錄下或者巨集檔案夾內調用上述功能函數,執行該功能函數,並輸出執行結果;及根據上述所有的操作生成腳本程式,並顯示在腳本編輯器。
所述代碼智慧生成系統運行於一個資料處理裝置中。該資料處理裝置包括一個量測軟體。該量測軟體包括一個腳本編輯器。所述腳本編輯器的巨集選項被選擇時,彈出一個巨集介面。所述資料處理裝置的一個指定目錄下或者一個巨集檔案夾內包含多個功能函數。該代碼智慧生成系統包括:初始化模組,用於初始化巨集介面內的資料類型列表及巨集名稱列表,將所有的資料類型導入到所述資料類型列表中,及將所述資料處理裝置中指定目錄下或者巨集檔案夾內的所有功能函數的名稱導入到巨集名稱列表中;接收模組,用於接收用戶於巨集介面內輸入的變數名稱;所述接收模組還用於接收用戶在巨集介面內選擇或者輸入的資料類型;生成模組,用於當用戶輸入的變數名稱或者資料類型符合預定的語法規則時,根據用戶輸入的變數名稱及資料類型生成一條或者多條變數聲明,並將所有的變數名稱添加到巨集介面的巨集結果列表中;上述接收模組還用於接收用戶從巨集名稱列表中選擇的功能函數及從巨集結果列表中指定的變數名稱;上述生成模組還用於生成賦予結果的功能函數;上述接收模組還用於接收用戶於變數聲明中選擇的需要添加到上述功能函數中的變數;執行模組,用於執行模組從所述資料處理裝置的指定目錄下或者巨集檔案夾內調用上述功能函數,執行該功能函數,並輸出執行結果;及上述執行模組還用於根據上述所有的操作生成腳本程式,並顯示在腳本編輯器。
相較於習知技術,本發明所提供的代碼智慧生成系統及方法只需用戶添加變數以及為變數指定資料類型,調用指定目錄下的巨集,就能智慧生成符合預定語言規則的量測代碼,避免因不懂語言規則而出現的錯誤。
參閱圖1所示,係本發明代碼智慧生成系統較佳實施例的應用環境圖。該代碼智慧生成系統21應用於量測軟體2的腳本編輯器(Script Editor)20中。所述量測軟體2安裝在一台資料處理裝置1中,如電腦、伺服器等。該資料處理裝置1還包括處理單元3及儲存單元4等其他元件。
所述代碼智慧生成系統21包括由程式化代碼組成的各個功能模組(詳見圖2),用於根據用戶輸入的變數以及為變數指定資料類型,在指定目錄下調用的巨集,智慧生成符合預定語言規則的量測代碼。
處理單元3用於執行所述代碼智慧生成系統21的程式化代碼,提供代碼智慧生成系統21的各功能(詳見圖3中描述)。
儲存單元4用於儲存所述代碼智慧生成系統21的程式化代碼。該儲存單元4可以為智慧媒體卡(smart media card)、安全數位卡(secure digital card)、快閃記憶體卡(flash card)等儲存設備。
參閱圖2所示,係本發明代碼智慧生成系統21較佳實施例的功能模組圖。該代碼智慧生成系統21包括初始化模組210、接收模組211、判斷模組212、生成模組213、及執行模組214。以下結合圖3A與圖3B說明功能模組210~214的各功能。
參閱圖3A與圖3B所示,係本發明代碼智慧生成方法較佳實施例的方法流程圖。根據不同的需求,該3A與圖3B所示流程圖中步驟的順序可以改變,某些步驟可以省略。
步驟S10,在資料處理裝置1中運行量測軟體2。
步驟S11,量測軟體2的腳本編輯器20被開啟。
步驟S12,用戶在腳本編輯器20內編寫一段常用的功能函數,將該功能函數保存為.bas格式,並將該.bas格式的函數儲存到資料處理裝置1中的指定目錄或者一個Macro(巨集)檔案夾內。所述的功能函數也可以稱為巨集,是一段可執行某種功能,如計算長度,測量角度等的程式段。例如,某一功能函數kk可以是:
Function kk(a As Integer,b As Integer) As Integer;
Return a+b;
End Function。
步驟S13,用戶判斷是否還有其他功能函數需要編寫。若判斷結果為是,則流程返回上述的步驟S11。否則,若判斷結果為否,則流程執行下述的步驟S14。
這裏需要說明書的是,儲存在指定目錄或者Macro檔案夾內的各個功能函數可供以後多次調用。因此,當用戶所需要的功能函數都已經儲存在所述指定目錄或者Macro檔案夾內時,圖3A中的步驟S11至步驟S13可以省略。
步驟S14,量測軟體2的腳本編輯器20被開啟。
步驟S15,腳本編輯器20中的巨集選項被選擇,並彈出巨集介面,參閱圖4所示。
步驟S16,初始化模組210初始化巨集介面內的資料類型列表及巨集名稱列表。本實施例中,所述初始化是指將所有可能的資料類型導入到該資料類型列表中,及將所述資料處理裝置1中指定目錄下或者Macro檔案夾內的所有功能函數的名稱導入到巨集名稱列表中。所述資料類型可以包括整型(Integer)、長整型(Long)、單精確度浮點型(Single)、雙精度浮點型(Double)等。
在步驟S17,接收模組211接收用戶於巨集介面內輸入的變數名稱。例如,所述變數名稱可以是變數a、b、或者c等。
步驟S18,接收模組211接收用戶在巨集介面內選擇或者輸入的資料類型。如上所述,初始化模組210已經將所有可能的資料類型導入到該巨集介面內的資料類型列表中,因此,用戶可以從資料類型列表中選擇所需要的資料類型。然而,若資料類型列表中沒有所需要的資料類型,則用戶可以手動輸入其所需要的資料類型。若用戶選擇或者輸入的資料類型為整型(Integer),則表示變數a、b、或者c為整型(Integer)。
步驟S19,接收模組211根據用戶的操作判斷是否還有其他變數需要輸入。當用戶在該巨集介面內輸入了另一個變數名稱時,則接收模組211判斷還有其他變數需要輸入,則流程返回上述的步驟S17。否則,若用戶沒有在該巨集介面內輸入另一個變數名稱,則接收模組211判斷沒有其他變數需要輸入,則流程執行下述的步驟S20。
在步驟S20中,判斷模組212判斷上述用戶輸入的變數名稱或者資料類型是否符合預定的語法規則。例如,若上述功能函數都是以VB語言編寫,則判斷模組212判斷上述用戶輸入的變數名稱或者資料類型是否符合VB語法規則。若不符合預定的語法規則,則執行步驟S21,判斷模組212生成一個錯誤提示對話方塊,以提示錯誤。步驟S21之後返回上述的步驟S17。否則,若符合預定的語法規則,則流程執行下述的步驟S22。
在步驟S22中,生成模組213根據用戶輸入的變數名稱及資料類型生成一條或者多條變數聲明,並將所有的變數名稱添加到巨集介面的巨集結果列表中。應該可以理解,一個變數聲明對應一個變數。該變數聲明包括如下格式:Dim_變數名稱_As_資料類型,如,Dim_a_As_Integer;Dim_b_As_Integer;Dim_c_As_Integer等。
步驟S23,接收模組211接收用戶從巨集名稱列表中選擇的功能函數及從巨集結果列表中指定的變數名稱。例如,用戶可以從巨集名稱列表中選擇功能函數“kk”,及從巨集結果列表中指定變數名稱為c。
步驟S24,生成模組213生成賦予結果的功能函數,如c=LoadMacro(“kk”)。
步驟S25,接收模組211接收用戶於變數聲明中選擇的需要添加到上述功能函數中的變數,如選擇Dim_a_As_Integer及Dim_b_As_Integer。
步驟S26,執行模組214從所述資料處理裝置1的指定目錄下或者Macro檔案夾內調用上述功能函數,執行該功能函數,並輸出執行結果。其中,若上述功能函數可以執行計算長度的功能,則輸出的執行結果為所計算出來的長度。若上述功能函數可以執行測量角度的功能,則輸出的執行結果為所測量出來的角度。
步驟S27,生成模組213根據上述所有的操作生成腳本程式,並顯示在腳本編輯器20中。該腳本程式包括上述用戶輸入的變數名稱、資料類型,所調用的功能函數等。
綜上所述,本發明符合發明專利要件,爰依法提出專利申請。惟,以上所述者僅爲本發明之較佳實施例,本發明之範圍並不以上述實施例爲限,舉凡熟悉本案技藝之人士援依本發明之精神所作之等效修飾或變化,皆應涵蓋於以下申請專利範圍內。
1...資料處理裝置
2...量測軟體
20...腳本編輯器
21...代碼智慧生成系統
3...處理單元
4...儲存單元
210...初始化模組
211...接收模組
212...判斷模組
213...生成模組
214...執行模組
圖1係本發明代碼智慧生成系統較佳實施例的應用環境圖。
圖2係本發明代碼智慧生成系統較佳實施例的功能模組圖。
圖3A與圖3B係本發明代碼智慧生成方法較佳實施例的方法流程圖。
圖4演示了一個巨集介面的示意圖。
21...代碼智慧生成系統
210...初始化模組
211...接收模組
212...判斷模組
213...生成模組
214...執行模組

Claims (10)

  1. 一種代碼智慧生成方法,運行於一個資料處理裝置中,該資料處理裝置包括一個量測軟體,該量測軟體包括一個腳本編輯器,所述腳本編輯器的巨集選項被選擇時,彈出一個巨集介面,所述資料處理裝置的一個指定目錄下或者一個巨集檔案夾內包含多個功能函數,其中,所述代碼智慧生成方法包括:
    初始化巨集介面內的資料類型列表及巨集名稱列表,將所有的資料類型導入到所述資料類型列表中,及將所述資料處理裝置中指定目錄下或者巨集檔案夾內的所有功能函數的名稱導入到巨集名稱列表中;
    接收用戶於巨集介面內輸入的變數名稱;
    接收用戶在巨集介面內選擇或者輸入的資料類型;
    當用戶輸入的變數名稱或者資料類型符合預定的語法規則時,根據用戶輸入的變數名稱及資料類型生成一條或者多條變數聲明,並將所有的變數名稱添加到巨集介面的巨集結果列表中;
    接收用戶從巨集名稱列表中選擇的功能函數及從巨集結果列表中指定的變數名稱;
    生成賦予結果的功能函數;
    接收用戶於變數聲明中選擇的需要添加到上述功能函數中的變數;
    從所述資料處理裝置的指定目錄下或者巨集檔案夾內調用上述功能函數,執行該功能函數,並輸出執行結果;及
    根據上述所有的操作生成腳本程式,並顯示在腳本編輯器。
  2. 如申請專利範圍第1項所述之代碼智慧生成方法,還包括:
    當用戶輸入的變數名稱或者資料類型不符合預定的語法規則時,給出錯誤提示。
  3. 如申請專利範圍第1項所述之代碼智慧生成方法,其中,所述預定的語法規則為VB語法規則。
  4. 如申請專利範圍第1項所述之代碼智慧生成方法,其中,所述變數聲明包括如下格式:Dim_變數名稱_As_資料類型。
  5. 如申請專利範圍第1項所述之代碼智慧生成方法,其中,所述腳本程式包括用戶所輸入的變數名稱、資料類型,及所調用的功能函數。
  6. 一種代碼智慧生成系統,運行於一個資料處理裝置中,該資料處理裝置包括一個量測軟體,該量測軟體包括一個腳本編輯器,所述腳本編輯器的巨集選項被選擇時,彈出一個巨集介面,所述資料處理裝置的一個指定目錄下或者一個巨集檔案夾內包含多個功能函數,其中,所述代碼智慧生成系統包括:
    初始化模組,用於初始化巨集介面內的資料類型列表及巨集名稱列表,將所有的資料類型導入到所述資料類型列表中,及將所述資料處理裝置中指定目錄下或者巨集檔案夾內的所有功能函數的名稱導入到巨集名稱列表中;
    接收模組,用於接收用戶於巨集介面內輸入的變數名稱;
    所述接收模組還用於接收用戶在巨集介面內選擇或者輸入的資料類型;
    生成模組,用於當用戶輸入的變數名稱或者資料類型符合預定的語法規則時,根據用戶輸入的變數名稱及資料類型生成一條或者多條變數聲明,並將所有的變數名稱添加到巨集介面的巨集結果列表中;
    上述接收模組還用於接收用戶從巨集名稱列表中選擇的功能函數及從巨集結果列表中指定的變數名稱;
    上述生成模組還用於生成賦予結果的功能函數;
    上述接收模組還用於接收用戶於變數聲明中選擇的需要添加到上述功能函數中的變數;
    執行模組,用於執行模組從所述資料處理裝置的指定目錄下或者巨集檔案夾內調用上述功能函數,執行該功能函數,並輸出執行結果;及
    上述執行模組還用於根據上述所有的操作生成腳本程式,並顯示在腳本編輯器。
  7. 如申請專利範圍第6項所述之代碼智慧生成系統,還包括:
    判斷模組,用於判斷上述用戶輸入的變數名稱或者資料類型是否符合預定的語法規則,及當用戶輸入的變數名稱或者資料類型不符合預定的語法規則時,給出錯誤提示。
  8. 如申請專利範圍第6項所述之代碼智慧生成系統,其中,所述預定的語法規則為VB語法規則。
  9. 如申請專利範圍第6項所述之代碼智慧生成系統,其中,所述變數聲明包括如下格式:Dim_變數名稱_As_資料類型。
  10. 如申請專利範圍第6項所述之代碼智慧生成系統,其中,所述腳本程式包括用戶所輸入的變數名稱、資料類型,及所調用的功能函數。
TW101101016A 2011-12-30 2012-01-11 代碼智慧生成系統及方法 TW201327211A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110456009XA CN103186377A (zh) 2011-12-30 2011-12-30 代码智能生成系统及方法

Publications (1)

Publication Number Publication Date
TW201327211A true TW201327211A (zh) 2013-07-01

Family

ID=48677556

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101101016A TW201327211A (zh) 2011-12-30 2012-01-11 代碼智慧生成系統及方法

Country Status (3)

Country Link
US (1) US20130174119A1 (zh)
CN (1) CN103186377A (zh)
TW (1) TW201327211A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677313B2 (en) * 2009-11-30 2014-03-18 Accenture Global Services Limited Functional design creation tool
CN103645907B (zh) * 2013-11-29 2016-12-07 广州视源电子科技股份有限公司 历史需求编译方法以及历史需求编译器
CN111857679B (zh) * 2019-04-29 2024-03-15 西门子(中国)有限公司 用于生成脚本程序的方法、装置及脚本程序处理系统
CN112764731A (zh) * 2021-01-19 2021-05-07 上海擎昆信息科技有限公司 一种软件接口维护方法、系统、计算机设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6608623B1 (en) * 1999-05-24 2003-08-19 Parametric Technology Corporation Feature-based macro language for definition of customized analytic and customized geometric functionality
US20070266015A1 (en) * 2006-05-12 2007-11-15 Microsoft Corporation User Created Search Vertical Control of User Interface
US8316314B2 (en) * 2010-06-30 2012-11-20 Thermo Electron Scientific Instruments Llc Intelligent multi-functional macros language for analytical measurements

Also Published As

Publication number Publication date
CN103186377A (zh) 2013-07-03
US20130174119A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
US10642721B2 (en) Generation of automated testing scripts by converting manual test cases
US9619211B2 (en) Code suggestion in a software development tool
US10146672B2 (en) Method and system for automated user interface (UI) testing through model driven techniques
US9454525B2 (en) Information extraction in a natural language understanding system
KR101706425B1 (ko) 코드의 단위 테스트를 위한 장치 및 방법
US9471468B2 (en) System, method, and computer program to improve the productivity of unit testing
NL2010546A (en) Method and apparatus for automatically generating a test script for a graphical user interface.
CN108459792B (zh) 一种流量切换方法、装置、及计算机设备
US10481893B1 (en) Identifying and resolving firmware component dependencies
US8930923B2 (en) Generating debugging extension source code utilizing debugging information
US9582270B2 (en) Effective feature location in large legacy systems
US11030074B2 (en) Code update based on detection of change in runtime code during debugging
US20150143267A1 (en) SYSTEM AND METHOD FOR DEVELOPING A RULE-BASED EVENT-DRIVEN MULTI-LAYERED FRONTEND FOR BUSINESS SERVICES AND RENDERING THE GUIs ON MULTIPLE CLIENT DEVICES
JP2023086678A (ja) 深層学習フレームワークに基づいて深層学習モデルを生成して適用する方法及び装置
CN111913694A (zh) 一种自动识别平台编译的方法和系统
US10387124B2 (en) System and method for creating domain specific language
TW201327211A (zh) 代碼智慧生成系統及方法
CN107797805B (zh) 一种代码封装方法、装置及计算机可读存储介质
CN112685040A (zh) 安卓系统中界面文件的生成方法、装置、设备及存储介质
US20130111432A1 (en) Validation of a system model including an activity diagram
Sprouse et al. The berkeley phonetics machine
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
JP2015146178A (ja) テストコンテキストの生成
JP7410269B2 (ja) テスト・ベクタを使用した高水準コンストラクトの最適化の自動検証
KR20140005014A (ko) 멀티 플랫폼 게임 제작에서의 그래픽 콘텐츠 최적화 방법