- 0
- 0
- 约4.08万字
- 约 48页
- 2025-08-10 发布于云南
- 举报
编译原理实验要求
构建S-ONNX模型的编译器S-ONNXCompiler
目录
TOC\o1-3\h\z\u20612一、背景简介 3
25628二、任务一:撰写S-ONNXCompiler词法分析和语法分析程序 3
245072.1S-ONNX的词法规则 3
317062.2S-ONNX的语法规则 6
92112.3撰写S-ONNXCompiler的词法和词法分析程序 8
31184三、任务二:撰写S-ONNXCompiler语义分析与代码生成程序 8
6613.1S-ONNX模型的语义分析需求 9
109153.2S-ONNX模型的中间代码生成要求 11
20043.3S-ONNXCompiler的语义和代码生成任务 13
23264四、任务三:撰写错误处理程序 13
8656五、任务四:对S-ONNXComplier进行测试 13
19705六、实验报告要求 28
19203七、anltr4开源工具简介 29
5127八、手工撰写词法分析程序参考案例 32
272698.1Tiny语言的词法规则定义 32
86048.2基于自动机模型的Tiny语言的词法程序 32
7954九、手工撰写语法分析程序参考案例 42
18409.1Tiny语言语法规则定义 42
49329.2语法分析程序实现步骤 42
ONNX(OpenNeuralNetworkExchange)是一种开放的神经网络模型交换格式,广泛应用于不同深度学习框架之间的模型共享和迁移。ONNX通过标准化的模型表示,使得开发者能够在TensorFlow、PyTorch、Caffe等多种框架之间无缝地传递和部署神经网络模型,其核心是计算图,包括节点(NodeProto)、张量(TensorProto)和操作符(Operator)。
ONNX编译技术是将ONNX模型进行解析、优化,并生成适用于不同硬件平台的代码,以实现模型的高效推理和跨平台运行。本实验项目将对ONNX模型进行裁剪,形成S-ONNX(SimplifiedOpenNeuralNetworkExchange),保留了ONNX模型的核心结构和语义。本实验项目要求研制一款编译器S-ONNXCompiler(S-ONNXCompiler的编程语言不限),S-ONNXCompiler编译器需要完成以下任务:
依据S-ONNX的词法规则,把输入的S-ONNX源代码切分为词法单元,例如关键字、专用符号、标识符、常量等,为后续的语法分析提供基础;
根据S-ONNX的语法规则,对词法分析得到的词法单元序列进行分析,判断其是否符合S-ONNX的语法结构,并生成抽象语法树;
根据S-ONNX的语义要求,对S-ONNX模型进行语义检查;
在完成上述分析的基础上,将S-ONNX模型转换为三地址码表示的中间代码。
在以上实验的基础上,按照实验要求撰写实验报告。
任务一:撰写S-ONNXCompiler词法和语法分析程序
S-ONNX的词法规则
S-ONNX语言的关键字(31个):
关键字
含义
ModelProto
定义了S-ONNX模型的整体结构。一个完整的S-ONNX模型通常由ModelProto消息表示,这个消息包含了模型的多个重要部分,像版本信息、图结构、算子集导入等。
graph
用于定义神经网络模型中的计算图,是S-ONNX模型的核心部分,在其内部组织节点、输入、输出等元素,构建完整的模型计算逻辑
name
用于唯一标识各种元素
node
代表计算图中的节点,每个节点执行特定的运算操作,如卷积、加法等,是构成计算图的基本单元
input
指定模型的输入张量信息,包括输入的名称、数据类型、形状等,用于明确模型的输入数据
output
表示模型的输出张量信息,定义了模型计算后的输出结果
op_type
在定义节点时,用于指定节点所执行的操作类型,如“Conv”表示卷积操作、“Add”表示加法操作等
attribute
为节点添加额外的属性信息,例如卷积操作中的卷积核大小、步长等参数
initializer
当一个输入永不改变(例如线性回归的系数)时,将其转换为存储在图中的常量,即初始化器
doc_string
模型的可读文档,允许使用Markdown格式书写
domain
一个反向DNS名称,用于指示模型命名空间或域,如‘org.onnx’
model_version
模型本身的版本,以整数编码
producer_name
生成模型的工具名称
producer_version
生成工具的版本
type
一般用于指定张量、节点输入输出等的类型
您可能关注的文档
最近下载
- 重庆天齐锂电新材料有限公司新建1000吨_年高能锂电材料电池级金属锂项目环评报告.pdf VIP
- DB65T 3694-2015 现行哈萨克文与西里尔哈萨克文编码字符转换规则.docx VIP
- TGXAS 1044-2025《中医护理三级查房规范》(发布稿).pdf VIP
- 华为云服务登录.doc VIP
- 采砂场工业用水水资源论证论证表详解.doc VIP
- Onkyo安桥TX-NR828中文说明书.pdf
- 采砂场工业用水水资源论证论证表分析报告.doc
- 【中考】2025年广东佛山数学试卷(原卷+答案).docx VIP
- 2021年广东省佛山市中考数学真题及答案.pdf VIP
- SpaceX火星探索任务成本预算与风险管理分析报告.docx
原创力文档

文档评论(0)