CN106126504A - A2l语法解析器及方法 - Google Patents
A2l语法解析器及方法 Download PDFInfo
- Publication number
- CN106126504A CN106126504A CN201610747868.7A CN201610747868A CN106126504A CN 106126504 A CN106126504 A CN 106126504A CN 201610747868 A CN201610747868 A CN 201610747868A CN 106126504 A CN106126504 A CN 106126504A
- Authority
- CN
- China
- Prior art keywords
- aml
- line
- chained list
- syntactic
- key word
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本发明公开了一种A2L语法解析器,包括:AML语法定义文件模块,采用AML语法描述ASAM标准语法;AML语法解析模块,用于逐行读取和解析AML语法定义文件,并生成AML语法信息关键词链表;A2L文件解析模块,用于逐行读取A2L文件,并与AML语法信息关键词链表作对照,生成A2L数据结构链表。本发明还公开了一种A2L语法解析方法,包括以下步骤:步骤1、采用AML语法描述ASAM标准语法;步骤2、逐行读取和解析AML语法定义文件,并生成AML语法信息关键词链表;步骤3、逐行读取A2L文件,并与AML语法信息关键词链表作对照,生成A2L数据结构链表。本发明能够对ASAM MCD‑2MC规范中定义的数据存储格式进行解析,并生成相关链表,以供其它程序访问。
Description
技术领域
本发明属于汽车语法解析技术,具体涉及一种A2L语法解析器及方法。
背景技术
目前没有专门用于对A2L语法进行解析的解析器,无法对A2L文件进行解读,只能不使用标准的A2L文件,而是通过定义一套类似的规则来存储A2L信息,由于这种文件不满足标准的规范,故无法同其它商业软件进行对接。而A2L文件的主要作用就是用于不同软件之间的对接,例如A2L编辑器生成A2L文件,而A2L文件又被商业标定软件读取。这些商业软件虽可读取A2L文件,但不能提供A2L解析的功能,所以有必要开发一种A2L语法解析器及方法。
发明内容
本发明的目的是提供一种A2L语法解析器及方法,能对ASAM MCD-2MC规范中定义的数据存储格式进行解析,并生成相关链表,以供其它程序访问。
本发明所述的A2L语法解析器,包括:
AML语法定义文件模块,采用AML语法描述ASAM标准语法;
AML语法解析模块,用于逐行读取和解析AML语法定义文件,并生成AML语法信息关键词链表;
A2L文件解析模块,用于逐行读取A2L文件,并与AML语法信息关键词链表作对照,生成A2L数据结构链表。
本发明所述的一种A2L语法解析方法,采用如本发明所述的A2L语法解析器,其解析方法包括以下步骤:
步骤1、采用AML语法描述ASAM标准语法;
步骤2、逐行读取和解析AML语法定义文件,并生成AML语法信息关键词链表;
步骤3、逐行读取A2L文件,并与AML语法信息关键词链表作对照,生成A2L数据结构链表。
所述步骤2具体为:
对AML语法定义文件进行逐行读取,识别出其中的关键词,并对关键词的属性做记录,同时递归访问其成员,最终生成AML语法信息关键词链表。
所述步骤3中逐行读取A2L文件,并与AML语法信息关键词链表作对照,具体为:
对A2L文件进行逐行读取,遍历步骤2中所生成的AML语法信息关键词链表,找到对应的关键词,并找到其对应的属性。
所述A2L数据结构链表为双向链表形式,其结构为List类型,能够被C/C++程序直接访问。
所述A2L数据结构链表由MEASUREMENT、CHARACTERISTIC、Curve、MAP、AXIS、计算公式、Group类型组成,其中:MEASUREMENT表示测量类变量,CHARACTERISTIC为标定类变量,Curve为一维表格类标定变量,MAP为二维表格类标定变量,AXIS为坐标轴类变量,计算公式为转换用公式类变量,Group为记录分组信息的链表。
本发明具有以下优点:
(1)能够解析ASAM MCD-2MC协议V1.6以上版本定义的A2L语法文件。
(2)提供DLL(动态链接库)文件形式的调用,其它能够调用DLL的编程语言均可使用。
(3)采用AML语法描述ASAM(自动化及测量系统标准协会)语法,语法定义与软件算法脱离。
(4)AML语法文件独立于程序,通过修改AML语法文件来实现对IF_DATA接口的定制。
(5)通过读取以A2L格式保存的文本文件,对其中的字符进行解析,从而生成对应的数据结构。
(6)支持对MEASUREMENT(测量类变量)、CHARACTERISTIC(标定类变量)、Curve(一维表格类标定变量)、MAP(二维表格类标定变量)、AXIS(坐标轴类变量)、计算公式、Group、array (数组)的读取和识别。
附图说明
图1为本发明的结构示意图;
图2为本发明的流程图;
图3为本发明中AML文件读取流程图;
图4为本发明中A2L文件读取流程图;
图5为本发明中A2L数据结构链表的示意图。
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示的A2L语法解析器,包括AML语法定义文件模块1、AML语法解析模块2和A2L文件解析模块3。其中:AML语法定义文件模块1采用AML语法描述ASAM标准语法。AML语法解析模块2用于逐行读取和解析AML语法定义文件,并生成AML语法信息关键词链表。A2L文件解析模块3用于逐行读取A2L文件,并与AML语法信息关键词链表作对照,生成A2L数据结构链表。
本发明所述的A2L语法解析器具有以下功能:
(1)能够解析ASAM MCD-2MC协议V1.6以上版本定义的A2L语法文件。ASAM协议分为若干个层次,A2L语法解析协议位于第二层,定义了数据的存储结构方式。
(2)提供DLL文件形式的调用,其它能够调用DLL的编程语言均可使用。
(3)采用AML语法描述ASAM语法,语法定义与软件算法脱离。
(4)AML语法文件独立于程序,通过修改AML语法文件来实现对IF_DATA接口的定制。
(5)通过读取以A2L格式保存的文本文件,对其中的字符进行解析,从而生成对应的数据结构。
(6)支持对MEASUREMENT、CHARACTERISTIC、Curve、MAP、AXIS、计算公式、Group、数组(array)的读取和识别。
本发明所述的一种A2L语法解析方法,采用如本发明所述的A2L语法解析器,其解析方法包括以下步骤:
步骤1、采用AML语法描述ASAM标准语法。
步骤2、对AML语法定义文件进行逐行读取,识别出其中的关键词,并对关键词的属性做记录,同时递归访问其成员,最终生成AML语法信息关键词链表。
如图3所示,对AML语法定义文件进行逐行读取,识别出其中的关键词,并对关键词的属性做记录,同时递归访问其成员,具体为:
2a、读取AML语法定义文件中的第一行字符;
2b、对该行字符进行关键词识别,识别出其中的关键词;
2c、判断是否为结束符,若是,结束,若否,则进入步骤2d;
2d、读取该关键词的属性字段;
2e、判断是否有成员,若是,读取该成员的信息,并进入步骤2d;若否,则进入下一行,并进入步骤2b。
步骤3、对A2L文件进行逐行读取,遍历步骤2中所生成的AML语法信息关键词链表,找到对应的关键词,并找到其对应的属性,生成A2L数据结构链表,参见图5。通过访问A2L数据结构链表,获取到A2L文件中所存储的A2L变量和参数信息。
如图4所示,对A2L文件进行逐行读取,遍历步骤2中所生成的AML语法信息关键词链表,找到对应的关键词,并找到其对应的属性,具体为:
3a、读取A2L文件中的第一行字符;
3b、与AML语法信息关键词链表对比;
3c、判断是否有关键词,若否,则读取A2L文件中的下一行字符,并进入步骤3b,若是,则进入步骤3d;
3d、读取该关键词的信息,并找到其对应的属性;
3e、判断是否有成员,若是,则将成员与AML语法信息关键词链表对比,并进入步骤3d,若否,则读取A2L文件中的下一行字符,并进入步骤3b。
所述A2L数据结构链表为双向链表形式,其结构为List类型,能够被C/C++程序直接访问,其余程序通过一定的处理接口也可以访问。
所述A2L数据结构链表由MEASUREMENT、CHARACTERISTIC、Curve、MAP、AXIS、计算公式、Group类型组成,其中:MEASUREMENT表示测量类变量,CHARACTERISTIC为标定类变量,Curve为一维表格类标定变量,MAP为二维表格类标定变量,AXIS为坐标轴类变量,计算公式为转换用公式类变量,Group为记录分组信息的链表。
Claims (6)
1.一种A2L语法解析器,其特征在于,包括:
AML语法定义文件模块(1),采用AML语法描述ASAM标准语法;
AML语法解析模块(2),用于逐行读取和解析AML语法定义文件,并生成AML语法信息关键词链表;
A2L文件解析模块(3),用于逐行读取A2L文件,并与AML语法信息关键词链表作对照,生成A2L数据结构链表。
2.一种A2L语法解析方法,其特征在于,采用如权利要求1所述的A2L语法解析器,其解析方法包括以下步骤:
步骤1、采用AML语法描述ASAM标准语法;
步骤2、逐行读取和解析AML语法定义文件,并生成AML语法信息关键词链表;
步骤3、逐行读取A2L文件,并与AML语法信息关键词链表作对照,生成A2L数据结构链表。
3.根据权利要求2所述的A2L语法解析方法,其特征在于:所述步骤2具体为:
对AML语法定义文件进行逐行读取,识别出其中的关键词,并对关键词的属性做记录,同时递归访问其成员,最终生成AML语法信息关键词链表。
4.根据权利要求2或3所述的A2L语法解析方法,其特征在于:所述步骤3中逐行读取A2L文件,并与AML语法信息关键词链表作对照,具体为:
对A2L文件进行逐行读取,遍历步骤2中所生成的AML语法信息关键词链表,找到对应的关键词,并找到其对应的属性。
5.根据权利要求2或3所述的A2L语法解析方法,其特征在于:所述A2L数据结构链表为双向链表形式,其结构为List类型。
6.根据权利要求2或3所述的A2L语法解析方法,其特征在于:所述A2L数据结构链表由MEASUREMENT、CHARACTERISTIC、Curve、MAP、AXIS、计算公式、Group类型组成,其中:MEASUREMENT表示测量类变量,CHARACTERISTIC为标定类变量,Curve为一维表格类标定变量,MAP为二维表格类标定变量,AXIS为坐标轴类变量,计算公式为转换用公式类变量,Group为记录分组信息的链表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610747868.7A CN106126504A (zh) | 2016-08-26 | 2016-08-26 | A2l语法解析器及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610747868.7A CN106126504A (zh) | 2016-08-26 | 2016-08-26 | A2l语法解析器及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106126504A true CN106126504A (zh) | 2016-11-16 |
Family
ID=57273586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610747868.7A Pending CN106126504A (zh) | 2016-08-26 | 2016-08-26 | A2l语法解析器及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126504A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108108183A (zh) * | 2017-12-29 | 2018-06-01 | 凯龙高科技股份有限公司 | 一种基于模型嵌入式软件开发的数据管理系统及方法 |
WO2018188222A1 (zh) * | 2017-04-14 | 2018-10-18 | 宁德时代新能源科技股份有限公司 | 一种a2l文件合并方法及装置 |
CN110262289A (zh) * | 2019-07-18 | 2019-09-20 | 潍柴动力股份有限公司 | A2l文件中变量的处理方法、装置和存储介质 |
CN110851665A (zh) * | 2019-11-12 | 2020-02-28 | 上海元城汽车技术有限公司 | 标定信息提取方法、装置、电子设备及存储介质 |
CN111796805A (zh) * | 2019-06-27 | 2020-10-20 | 上海市计量测试技术研究院 | 一种aml语言性能验证方法 |
CN111796998A (zh) * | 2019-06-27 | 2020-10-20 | 上海市计量测试技术研究院 | 一种aml语言性能验证系统 |
CN113076092A (zh) * | 2020-01-06 | 2021-07-06 | 广州汽车集团股份有限公司 | 一种车载控制器a2l文件的处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201750A (zh) * | 2006-12-13 | 2008-06-18 | 西安大唐电信有限公司 | 利用语法词法分析工具为编解码提供数据的方法 |
US20080229165A1 (en) * | 2007-03-16 | 2008-09-18 | Etas, Inc. | Address translation system for use in a simulation environment |
CN103136211A (zh) * | 2011-11-23 | 2013-06-05 | 北汽福田汽车股份有限公司 | 一种a2l文件的自动生成方法和装置 |
CN104636351A (zh) * | 2013-11-07 | 2015-05-20 | 北汽福田汽车股份有限公司 | A2l文件的生成方法及系统 |
CN104850570A (zh) * | 2014-08-29 | 2015-08-19 | 北汽福田汽车股份有限公司 | A2l文件自动生成方法及系统 |
-
2016
- 2016-08-26 CN CN201610747868.7A patent/CN106126504A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201750A (zh) * | 2006-12-13 | 2008-06-18 | 西安大唐电信有限公司 | 利用语法词法分析工具为编解码提供数据的方法 |
US20080229165A1 (en) * | 2007-03-16 | 2008-09-18 | Etas, Inc. | Address translation system for use in a simulation environment |
CN103136211A (zh) * | 2011-11-23 | 2013-06-05 | 北汽福田汽车股份有限公司 | 一种a2l文件的自动生成方法和装置 |
CN104636351A (zh) * | 2013-11-07 | 2015-05-20 | 北汽福田汽车股份有限公司 | A2l文件的生成方法及系统 |
CN104850570A (zh) * | 2014-08-29 | 2015-08-19 | 北汽福田汽车股份有限公司 | A2l文件自动生成方法及系统 |
Non-Patent Citations (2)
Title |
---|
ASAM: "Measurement and Calibration Data Specification", 《ASAM MCD-2MC VERSION 1.6》 * |
宋维群 等: "基于ASAM标准的标定数据库逻辑分析与编程实现", 《汽车技术》 * |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733674B (zh) * | 2017-04-14 | 2021-10-08 | 宁德时代新能源科技股份有限公司 | 一种a2l文件合并方法及装置 |
WO2018188222A1 (zh) * | 2017-04-14 | 2018-10-18 | 宁德时代新能源科技股份有限公司 | 一种a2l文件合并方法及装置 |
CN108733674A (zh) * | 2017-04-14 | 2018-11-02 | 宁德时代新能源科技股份有限公司 | 一种a2l文件合并方法及装置 |
CN108108183A (zh) * | 2017-12-29 | 2018-06-01 | 凯龙高科技股份有限公司 | 一种基于模型嵌入式软件开发的数据管理系统及方法 |
CN111796805B (zh) * | 2019-06-27 | 2024-05-07 | 上海市计量测试技术研究院 | 一种aml语言性能验证方法 |
CN111796805A (zh) * | 2019-06-27 | 2020-10-20 | 上海市计量测试技术研究院 | 一种aml语言性能验证方法 |
CN111796998A (zh) * | 2019-06-27 | 2020-10-20 | 上海市计量测试技术研究院 | 一种aml语言性能验证系统 |
CN111796998B (zh) * | 2019-06-27 | 2024-05-07 | 上海市计量测试技术研究院 | 一种aml语言性能验证系统 |
CN110262289A (zh) * | 2019-07-18 | 2019-09-20 | 潍柴动力股份有限公司 | A2l文件中变量的处理方法、装置和存储介质 |
CN110262289B (zh) * | 2019-07-18 | 2022-04-26 | 潍柴动力股份有限公司 | A2l文件中变量的处理方法、装置和存储介质 |
CN110851665B (zh) * | 2019-11-12 | 2022-07-12 | 上海元城汽车技术有限公司 | 标定信息提取方法、装置、电子设备及存储介质 |
CN110851665A (zh) * | 2019-11-12 | 2020-02-28 | 上海元城汽车技术有限公司 | 标定信息提取方法、装置、电子设备及存储介质 |
CN113076092B (zh) * | 2020-01-06 | 2023-08-15 | 广汽埃安新能源汽车有限公司 | 一种车载控制器a2l文件的处理方法及装置 |
CN113076092A (zh) * | 2020-01-06 | 2021-07-06 | 广州汽车集团股份有限公司 | 一种车载控制器a2l文件的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126504A (zh) | A2l语法解析器及方法 | |
CN111459982A (zh) | 一种数据查询方法、装置、终端设备及存储介质 | |
CN107622080B (zh) | 一种数据处理方法及设备 | |
CN112230934B (zh) | 一种转换代码语言的方法及装置 | |
CN106844369B (zh) | 对象化sql语句构造方法及装置 | |
CN112187713B (zh) | 报文转换的方法、装置、计算机设备和存储介质 | |
JP2022050327A (ja) | デジタルツインおよびグラフベース構造を用いたコンピュータ実装システムおよび方法 | |
CN113468204A (zh) | 一种数据查询方法、装置、设备、介质 | |
CN110362630B (zh) | 数据管理方法、装置、设备与计算机可读存储介质 | |
CN105867886B (zh) | 一种写表格的方法及装置 | |
CN108241620B (zh) | 查询脚本的生成方法及装置 | |
CN110569243B (zh) | 一种数据查询方法、数据查询插件和数据查询服务器 | |
CN106874173A (zh) | 页面模板的测试方法和装置 | |
CN116149666A (zh) | Sql语句的语法检查方法、系统、电子设备及可读存储介质 | |
CN105786478A (zh) | 用于数据处理的方法及设备 | |
CN112416966B (zh) | 即席查询方法、装置、计算机设备和存储介质 | |
CN113176877B (zh) | 实体类生成方法、装置及存储介质 | |
CN104834508A (zh) | 一种生成用于读写二进制文件代码的方法 | |
CN103365931A (zh) | 性能分析工具中快速定位函数性能记录的方法及装置 | |
US9754047B2 (en) | Dynamically adapting objects | |
CN118331890B (zh) | 基于token训练限定大语言模型的数据批量生成方法 | |
CN117272374A (zh) | 权限的控制方法及相关设备 | |
CN113553845B (zh) | 一种案由拆分评测方法、装置、电子设备及存储介质 | |
CN103019801A (zh) | 一种应用于高速数字io波形引擎的编译器 | |
CN118092921A (zh) | 文件生成方法、装置、设备、存储介质和计算机程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161116 |