[發(fā)明專利]配置文件的解析方法、系統(tǒng)及電子設(shè)備在審
| 申請?zhí)枺?/td> | 201911316226.1 | 申請日: | 2019-12-18 |
| 公開(公告)號: | CN111124479A | 公開(公告)日: | 2020-05-08 |
| 發(fā)明(設(shè)計(jì))人: | 閆安 | 申請(專利權(quán))人: | 北京像素軟件科技股份有限公司 |
| 主分類號: | G06F8/71 | 分類號: | G06F8/71 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 董艷芳 |
| 地址: | 102200 北京市昌平區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 配置文件 解析 方法 系統(tǒng) 電子設(shè)備 | ||
1.一種配置文件的解析方法,其特征在于,所述方法包括:
對需要解析的所述配置文件進(jìn)行讀取,獲得所述配置文件的讀取結(jié)果;
根據(jù)所述配置文件的讀取結(jié)果,對所述配置文件中的對象進(jìn)行映射,得到映射結(jié)果;
對所述配置文件的讀取結(jié)果中的每一行數(shù)據(jù)進(jìn)行解析得到解析結(jié)果;所述解析結(jié)果通過所對應(yīng)的所述映射結(jié)果,用于所述配置文件的訪問。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,對所述配置文件的讀取結(jié)果中的每一行數(shù)據(jù)進(jìn)行解析得到解析結(jié)果的步驟,包括:
遍歷所述配置文件的讀取結(jié)果,獲得所述配置文件的讀取結(jié)果中的所有換行符;
根據(jù)所述換行符,獲得所述配置文件的讀取結(jié)果中的每一行數(shù)據(jù);
對所述配置文件的讀取結(jié)果中的每一行數(shù)據(jù)進(jìn)行初級解析;
根據(jù)所述初級解析的結(jié)果,對所述行數(shù)據(jù)進(jìn)行高級解析。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述初級解析,包括:
判斷所述行數(shù)據(jù)是否為空數(shù)據(jù);
如果是,則返回空行類型;如果否,判斷所述行數(shù)據(jù)是否為注釋行;
如果是,則返回注釋行類型;如果否,對所述行數(shù)據(jù)進(jìn)行高級解析。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述高級解析,包括:
判斷所述行數(shù)據(jù)是否為條件編譯指令數(shù)據(jù),如果是,返回條件編譯指令類型;如果否,則對所述行數(shù)據(jù)執(zhí)行宏替換判斷步驟;
如果所述行數(shù)據(jù)能夠進(jìn)行宏替換,則執(zhí)行宏替換操作;如果所述行數(shù)據(jù)不能進(jìn)行宏替換,則對所述行數(shù)據(jù)執(zhí)行子配置文件操作;
判斷所述行數(shù)據(jù)是否包含#include字段,如果是,則對所述#include字段后包含的子配置文件進(jìn)行讀取;如果否,則對所述行數(shù)據(jù)執(zhí)行宏定義判斷步驟;
如果所述行數(shù)據(jù)中包含#define字段,則對所述#define字段后的數(shù)據(jù)存儲為宏;如果所述行數(shù)據(jù)中不包含#define字段,則執(zhí)行對象語句快的判斷;
如果所述行數(shù)據(jù)中是對象語句塊,則查找所述映射結(jié)果中的對象地址;如果所述行數(shù)據(jù)中不是對象語句塊,則進(jìn)行賦值語句判斷步驟;
如果所述行數(shù)據(jù)是賦值語句,則根據(jù)對應(yīng)的屬性名查找屬性地址并賦值;如果所述行數(shù)據(jù)不是賦值語句,則提示出錯。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述配置文件采用C語言或C++語言中的任意一種。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,判斷所述行數(shù)據(jù)是否為條件編譯指令數(shù)據(jù)的步驟,包括:
判斷行數(shù)據(jù)中是否包含#else、#endif、#ifdef和#ifndef中的任意一種。
7.根據(jù)權(quán)利要求4所述的方法,其特征在于,對所述#include字段后包含的子配置文件進(jìn)行讀取的步驟,包括:
獲得所述子配置文件的每一行數(shù)據(jù);
對所述子配置文件的每一行數(shù)據(jù)進(jìn)行初級解析;
根據(jù)所述初級解析的結(jié)果,對所述子配置文件的每一行數(shù)據(jù)進(jìn)行高級解析。
8.一種配置文件的解析系統(tǒng),其特征在于,所述系統(tǒng)包括:
文件讀取模塊,用于對需要解析的所述配置文件進(jìn)行讀取,獲得所述配置文件的讀取結(jié)果;
文件映射模塊,用于根據(jù)所述配置文件的讀取結(jié)果,對所述配置文件中的對象進(jìn)行映射,得到映射結(jié)果;
文件解析模塊,用于對所述配置文件的讀取結(jié)果中的每一行數(shù)據(jù)進(jìn)行解析得到解析結(jié)果;所述解析結(jié)果通過所對應(yīng)的所述映射結(jié)果,用于所述配置文件的訪問。
9.一種電子設(shè)備,其特征在于,包括:處理器和存儲裝置;所述存儲裝置上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序在被所述處理器運(yùn)行時執(zhí)行如權(quán)利要求1至7任一項(xiàng)所述的方法。
10.一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)上存儲有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器運(yùn)行時執(zhí)行上述權(quán)利要求1至7任一項(xiàng)所述的方法的步驟。
該專利技術(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/201911316226.1/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





