picoc编译器初始化过程分析

本文分析了Picoc编译器的初始化流程,包括平台、输入输出、栈、共享字符串表、变量、词法分析、类型、包含文件、库及调试等11个方面的初始化。重点介绍了Picoc如何构建运行环境、初始化数据结构与变量,并与系统连接。

前面提过了最近在 分析picoc的源代码,这篇文章先对picoc的初始化流程做一个简要的分析,其中涉及到的知识点做一些简要的解释。

一、关键数据结构Picoc_Struct

Picoc是通过Picoc_Struct数据结构将整个编译过程组织起来的,其定义位于文件“interpreter.h”中。

这个结构比较大,内容也比较多,这里只挑重要的截了两张图。主要需要注意的就是上面图中红框圈出的结构,整个picoc编译器就是依靠这些结构组织起来的,大部分的操作也是围绕着这些结构展开的。初始化流程中会这些结果的功能做介绍,这里先不介绍了。

二、初始化流程

Picoc启动后会对编译器进行初始化,由PicocInitialize()函数实现。由于过程比较清晰,这里就不画流程图了。初始化主要包括以下内容:

(1)平台初始化PlatformInit()

Picoc的平台初始化中只是将断点处理BreakHandler()与系统的程序终止信号SIGINT连接起来,以便使用断点调试功能。

(2)输入输出初始化BasicIOInit()

这个是将编译器的输入、输出和报错与系统的标准输入、输出和报错连接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值