CN106126504A - A2l语法解析器及方法 - Google Patents

A2l语法解析器及方法 Download PDF

Info

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
Application number
CN201610747868.7A
Other languages
English (en)
Inventor
张鹏
周琴
陈兴华
章信华
褚开星
邱奇
王纪方
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Hongjiang Machinery Co Ltd
Original Assignee
Chongqing Hongjiang Machinery 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 Chongqing Hongjiang Machinery Co Ltd filed Critical Chongqing Hongjiang Machinery Co Ltd
Priority to CN201610747868.7A priority Critical patent/CN106126504A/zh
Publication of CN106126504A publication Critical patent/CN106126504A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical 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语法解析器及方法。
发明内容
本发明的目的是提供一种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为记录分组信息的链表。
CN201610747868.7A 2016-08-26 2016-08-26 A2l语法解析器及方法 Pending CN106126504A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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文件自动生成方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
ASAM: "Measurement and Calibration Data Specification", 《ASAM MCD-2MC VERSION 1.6》 *
宋维群 等: "基于ASAM标准的标定数据库逻辑分析与编程实现", 《汽车技术》 *

Cited By (14)

* Cited by examiner, † Cited by third party
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