[发明专利]结构化文本编程语言的编译方法、编译器及电子设备在审
申请号: | 202310167261.1 | 申请日: | 2023-02-17 |
公开(公告)号: | CN116360788A | 公开(公告)日: | 2023-06-30 |
发明(设计)人: | 陈刘洋;杨怀印;徐超 | 申请(专利权)人: | 深圳市亿维自动化技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F9/50 |
代理公司: | 深圳中一联合知识产权代理有限公司 44414 | 代理人: | 任敏 |
地址: | 518000 广东省深圳市南山区粤海*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结构 文本 编程 语言 编译 方法 编译器 电子设备 | ||
1.一种结构化文本编程语言的编译方法,其特征在于,包括:
基于预设词法规则将待编译的源程序分割为一个或多个分词;
基于预设语法规则对各个所述分词进行语法分析,并基于分析出的语法正确的所述分词确定语法正确的目标语法树;
基于所述目标语法树生成所述源程序对应的目标代码;
基于预设内存分配算法确定所述各个所述分词的第一内存地址,并对各个所述第一内存地址进行内存优化;
基于内存优化后的所有所述第一内存地址对所述目标代码进行编译,得到所述源程序的编译结果。
2.根据权利要求1所述的结构化文本编程语言的编译方法,其特征在于,所述分词的分词类型包括注释符号、标识符号、关键字、变量、数值文字、四则运算符号、数组符号和/或结束符号;
对应地,所述基于预设词法规则将待编译的源程序分割为一个或多个分词,包括:
基于预设识别函数对所述源程序进行词法分析;所述预设识别函数是基于预设词法规则构建的;
基于所述词法分析的结果,将所述源程序分割为一个或多个分词类型包括注释符号、标识符号、关键字、变量、数值文字、四则运算符号、数组符号和/或结束符号的分词。
3.根据权利要求1所述的结构化文本编程语言的编译方法,其特征在于,所述基于分析出的语法正确的所述分词生成正确的目标语法树,包括:
基于语法正确的所述分词生成第一语法树;
对所述第一语法树进行语义分析,并基于所述语义分析的结果确定所述目标语法树。
4.根据权利要求3所述的结构化文本编程语言的编译方法,其特征在于,所述对所述第一语法树进行语义分析,并基于所述语义分析结果确定所述目标语法树,包括:
基于预设语义分析函数对所述第一语法树进行类型检查,确定所述第一语法树中语义错误的分词和语义正确的分词;
基于所述第一语法树中所有语义正确的所述分词,对所述第一语法树中的各个分词对应的数据类型进行更新;
基于所述第一语法树中所有语义正确的所述分词和更新后的各个所述分词对应的数据类型,确定所述目标语法树。
5.根据权利要求4所述的结构化文本编程语言的编译方法,其特征在于,还包括:
对所述第一语法树中语义错误的所述分词进行语义修正,将语义错误的所述分词修正为语义正确的分词。
6.根据权利要求1-5任一项所述的结构化文本编程语言的编译方法,其特征在于,所述预设内存分配算法包括静态内存分配算法和动态内存分配算法;所述基于预设内存分配算法确定所述各个所述分词的第一内存地址,包括:
确定各个所述分词的第一数据类型;所述第一数据类型包括直接指定地址类型和非直接指定地址类型;
将各个所述第一数据类型为所述直接指定地址类型的第一分词的预设内存地址分别确定为各个所述第一分词的第一内存地址;所述预设内存地址为预先基于所述静态内存分配算法为各个所述分词分配的内存地址;
基于所述动态内存分配算法,确定各个所述第一数据类型为所述非直接指定地址类型的第二分词的第一内存地址。
7.根据权利要求6所述的结构化文本编程语言的编译方法,其特征在于,所述基于所述动态内存分配算法,确定各个所述第一数据类型为所述非直接指定地址类型的第二分词的第一内存地址,包括:
确定各个所述第二分词的所需内存容量值与预设内存阈值之间的关系;
若所述第二分词的所述所需内存容量值小于所述预设内存阈值,则基于预设固定分配规则确定所述第二分词的所述第一内存地址;
若所述第二分词的所述所需内存容量值大于所述预设内存阈值,则基于所述第二分词的所述所需内存值确定所述第二分词的所述第一内存地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市亿维自动化技术有限公司,未经深圳市亿维自动化技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310167261.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种耳鸣声治疗方案智能生成系统
- 下一篇:一种自动导引运输车