工作进度6-语意处理模块

 最近在忙活语意层面的东西。

      这部分内容的实现进度不像之前作语法处理模块那样顺畅。

     一方面,自己以前的开发经验主要还是集中在语法方面,在语意方面的积累并不是

很厚,这次又是重起炉灶,从头开发设计编译器,无论是在流程框架上,还是在实

现细节上都需要花费不少时间去梳理,熟悉。

     另一方面,从语法描述到语法树这个层次所涉及的变换的跨度并不是很大,所处理

的各个元素之间也相对独立,处理起来也方便一些,而语意层面涉及到的变换和抽象

明显增多,待处理元素之间的交互也增加,需要处理的事情也就复杂起来。

     比方说,在语法处理模块中,只要是符合语法规则的源文件输入,都会被读入并生成

相应的语法结构。而在语意层面,则要对语法阶段生成的数据进行语意判断,结合完整

的源文件输入形成的上下文信息来作相应处理。

     更具体一些,以表达式处理为例,一个表达式只要是符合语言的语法规则,就会在语法处

理阶段被读入并生成相应的语法树。而在语意处理阶段,我们就至少需要对这个表达式作如下

处理:

    1). 表达式里使用的变量是否存在相应的定义语句?

    2). 表达式里涉及到的运算操作(加/减 等)和其对应的操作数的类型是否兼容?比如,

    通常来说,是不允许对浮点操作数执行移位这样的操作的.

    3). 表达式里是否使用到了常量,如果用到了的话,需要将该常量名替换为具体的

    数值或是建立起该常量名到相应常量值的链接关系,以便于在表达式求值过程中的
   
    使用。


      除了表达式处理以外,语意层面还会涉及到作用域(Scope),函数/过程调用的实参校验

等工作。

     而要完成语意层面的这些工作,往往需要将不同的语法元素的信息以某种方式整合起

来进行处理,而在语法层面,通常来说,只要处理好当前源文件输入所对应的语法单元

可以了。所以,在语意层面的处理中,涉及到的信息更多,信息的组合方式更丰富,为了

完成处理需要引入的变换和抽象也相应增多。这也就给设计人员带来了更大的挑战。

     花了将近两周的时间,眼下总算是将语意层面的工作梳理出了一个框架,这两周自己编

写的代码总量也不到100行,绝大多数时间都花在思考,设计和讨论上了。期间也经历过

数次思路上的反复,每次都感觉自己掌握全局了,在跟同事讨论过后,或是一觉醒来,才

发现自己又漏了些东西没有考虑到。从无知到自以为有知,再认识到自己无知,这种循环,

可说是反反复复,及至到现在,也不敢说自己的思路已经完善具体了,只能说眼下有一个相

对清晰的框架和脉络,可以在此基础上开始具体的设计开发工作了。在具体执行的过程中自

己还需要针对发现的问题作出相应的调整,不过,有了这两周的工作基础,我想那应该大抵

是细节上的修正了。
先看效果: https://renmaiwang.cn/s/jkhfz Hue系列产品将具备高度的个性化定制能力,并且借助内置红、蓝、绿三原色LED的灯泡,能够混合生成1600万种不同色彩的灯光。 整个操作流程完全由安装于iPhone上的应用程序进行管理。 这一创新举措为智能照明控制领域带来了新的启示,国内相关领域的从业者也积极投身于相关研究。 鉴于Hue产品采用WiFi无线连接方式,而国内WiFi网络尚未全面覆盖,本研究选择应用更为普及的蓝牙技术,通过手机蓝牙与单片机进行数据交互,进而产生可调节占空比的PWM信号,以此来控制LED驱动电路,实现LED的调光功能以及DIY调色方案。 本文重点阐述了一种基于手机蓝牙通信的LED灯设计方案,该方案受到飞利浦Hue智能灯泡的启发,但考虑到国内WiFi网络的覆盖限制,故而选用更为通用的蓝牙技术。 以下为相关技术细节的详尽介绍:1. **智能照明控制系统**:智能照明控制系统允许用户借助手机应用程序实现远程控制照明设备,提供个性化的调光及色彩调整功能。 飞利浦Hue作为行业领先者,通过红、蓝、绿三原色LED的混合,能够呈现1600万种颜色,实现了全面的定制化体验。 2. **蓝牙通信技术**:蓝牙技术是一种低成本、短距离的无线传输方案,工作于2.4GHz ISM频段,具备即插即用和强抗干扰能力。 蓝牙协议栈由硬件层和软件层构成,提供通用访问Profile、服务发现应用Profile以及串口Profiles等丰富功能,确保不同设备间的良好互操作性。 3. **脉冲宽度调制调光**:脉冲宽度调制(PWM)是一种高效能的调光方式,通过调节脉冲宽度来控制LED的亮度。 当PWM频率超过200Hz时,人眼无法察觉明显的闪烁现象。 占空比指的...
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值