[發(fā)明專利]基于正則表達(dá)式的Gerber文件編譯器在審
| 申請?zhí)枺?/td> | 201410083777.9 | 申請日: | 2014-03-07 |
| 公開(公告)號: | CN103885810A | 公開(公告)日: | 2014-06-25 |
| 發(fā)明(設(shè)計)人: | 李松;莫廣鋒;汪迪 | 申請(專利權(quán))人: | 東莞市升力智能科技有限公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 北京信慧永光知識產(chǎn)權(quán)代理有限責(zé)任公司 11290 | 代理人: | 周詳 |
| 地址: | 523808 廣東省東莞市松山湖高新技術(shù)*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 正則 表達(dá)式 gerber 文件 編譯器 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及高級語言的編輯或解釋技術(shù)領(lǐng)域,尤其涉及一種基于正則表達(dá)式的Gerber文件編譯器。
背景技術(shù)
Gerber文件格式最早是由美國的Gerber公司提出并用于該公司自家的光學(xué)繪圖機,后為Ucamco公司所收購,現(xiàn)在Gerber文件格式的規(guī)范由Ucamco公司制定,最新版本已于2014年2月發(fā)布。Gerber文件是PCB行業(yè)軟件描述線路板(線路層、阻焊層、字符層等)圖像及鉆、銑等加工數(shù)據(jù)的文檔格式集合。在實際生產(chǎn)過程中,用戶或企業(yè)設(shè)計部門為了保護(hù)電路板設(shè)計的自主知識產(chǎn)權(quán),往往只提供電路板的Gerber文件給PCB生產(chǎn)制造部門。
遵循RS-274-X格式的Gerber文件以文本形式記錄了一系列的數(shù)據(jù)塊,根據(jù)規(guī)范文檔,這些數(shù)據(jù)塊包括三種類型,分別為坐標(biāo)數(shù)據(jù)(Coordinate?Data),功能指令(Function?Codes)和參數(shù)(Parameters)。每個獨立的數(shù)據(jù)塊之間以*號間隔開來,這三種類型實際上可分為RS-274-X參數(shù)和RS-274-D標(biāo)準(zhǔn)代碼(包含坐標(biāo)數(shù)據(jù)和功能指令)。
由于Gerber文件在PCB行業(yè)的廣泛應(yīng)用,國內(nèi)相關(guān)機構(gòu)也早已開展了許多相關(guān)研究。電子科技大學(xué)基于Gerber文件解析實現(xiàn)了PCB電路板的自動光學(xué)檢測,但是所開發(fā)的解析算法所使用的匹配工具基于C#自帶的正則表達(dá)式庫,盡管使用方便,但在執(zhí)行效率、匹配速度以及資源占用上被普遍認(rèn)為存在不足,無法在較為復(fù)雜的Gerber文件解析場合取得令人滿意的效果。
華中科技大學(xué)基于自主研發(fā)的Gerber文件解析算法,開發(fā)了適合柔性電路板的紫外加工系統(tǒng),該解析算法采用Boost.Regex正則表達(dá)式類庫作為匹配和分析工具。Boost.Regex正則表達(dá)式類庫是目前在相關(guān)研究中被視為在通用性和解析效率上均十分優(yōu)秀的類標(biāo)準(zhǔn)庫,但是所提出的解析算法限于應(yīng)用場合,并沒有完成對Gerber文檔標(biāo)準(zhǔn)的完全解析。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種基于正則表達(dá)式的Gerber文件編譯器,所述編譯器具有通用性強、編譯效率高的特點。
為解決上述技術(shù)問題,本發(fā)明所采取的技術(shù)方案是:一種基于正則表達(dá)式的Gerber文件編譯器,其特征在于:包括架構(gòu)部分以及算法實現(xiàn)部分,架構(gòu)部分包括編譯應(yīng)用模塊以及編譯應(yīng)用支持模塊,編譯應(yīng)用模塊與編譯應(yīng)用支持模塊之間通過API進(jìn)行調(diào)用并基于自定義消息進(jìn)行通信;在算法實現(xiàn)上,首先采用3型文法對Gerber文件進(jìn)行形式化描述,然后利用正則表達(dá)式為詞法分析和語法分析構(gòu)造相應(yīng)的規(guī)則表,依據(jù)規(guī)則表,編譯執(zhí)行詞法分析和語法分析線程,并同時進(jìn)行圖形信息匹配,匹配結(jié)果利用雙向鏈表進(jìn)行存儲。
進(jìn)一步的,所述編譯應(yīng)用支持模塊基于Gerber格式規(guī)范,以正則表達(dá)式為工具,用于實現(xiàn)對Gerber文件的詞法分析、語法分析、信息匹配以及中間代碼的生成;所述編譯應(yīng)用模塊用于根據(jù)需求對編譯應(yīng)用支持模塊生成的中間代碼進(jìn)行選取,并進(jìn)一步加工生成最終的加工數(shù)據(jù)。
進(jìn)一步的,所述編譯應(yīng)用模塊通過下述方法實現(xiàn):
1)將當(dāng)前的應(yīng)用實例的句柄通過SetCurrentHandler()這個接口函數(shù)傳入編譯應(yīng)用支持模塊;
2)調(diào)用StartAnalyzation()函數(shù)對編譯應(yīng)用支持模塊進(jìn)行編譯;
3)等待編譯完成,并在消息響應(yīng)函數(shù)中完成對Gerber文件編譯完成的消息的響應(yīng);
4)調(diào)用GetGerberInfor()函數(shù)讀取中間代碼,填充到記錄Gerber文件信息的一個結(jié)構(gòu)體中;
5)根據(jù)應(yīng)用需求進(jìn)行相關(guān)程序的編寫,完成編譯后端過程。
進(jìn)一步的,對于編譯應(yīng)用支持模塊的編譯過程,在編譯應(yīng)用模塊調(diào)用StartAnalyzation()函數(shù)后便開始啟動編譯過程,其實現(xiàn)流程為:
1)打開并以文本流的方式讀入Gerber文件;
2)創(chuàng)建詞法分析線程、語法分析線程和信息匹配線程,三個線程同時運行,通過信號量進(jìn)行同步;
3)在完成中間代碼的生成后向編譯應(yīng)用模塊發(fā)送WM_COMPILERFINISH這一自定義消息,完成編譯前端過程。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于東莞市升力智能科技有限公司,未經(jīng)東莞市升力智能科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410083777.9/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種使用Gerber文件提高焊錫機器人編程速度和精度的方法
- 基于Gerber文檔內(nèi)建建標(biāo)的電路板精準(zhǔn)檢測方法
- GERBER文件輸出方法
- 一種自動審核PCB工程文件的方法及系統(tǒng)
- PCB板的制作方法
- 一種Gerber圖形光柵化方法及系統(tǒng)
- 利用Skill程序?qū)崿F(xiàn)PCB板快速自動Gerberout的方法及系統(tǒng)
- Gerber文件轉(zhuǎn)化方法、系統(tǒng)、設(shè)備及存儲介質(zhì)
- Gerber文件轉(zhuǎn)化精度處理方法、系統(tǒng)、設(shè)備及存儲介質(zhì)
- 一種提高PCB檢查精度的方法及系統(tǒng)





