编译原理——递归分析翻译

递归解析器中每个非终结符A都有产生式A。我们可以将解析器扩展为翻译器,如下所示:

a)产生式A的参数是非终结点A的继承属性。

b)产生式A的返回值是非终结点A综合属性的集合。

在产生式A中,我们需要解析和处理属性:

1.由A扩展的产生式决定。

2.当有需要时,检查输入端中出现的每一个终结符。假设不需要回溯,但是通过在故障时恢复输入位置,可以通过回溯进行递归解析的扩展。

3.在局部变量中,保留产生式内所有需要计算的非终结符的继承属性或者合成属性的值。

4.在所选生产式中调用与非终结符相对应的方法,为它们提供正确的参数。由于底层的SDD是L属性,所以我们已经计算了这些属性并存储在局部变量中。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,491评论 19 139
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,403评论 9 118
  • 我们把善良给了不少不知感恩的人,却被他们认为是个傻子 曾看到一句话说懂事的姑娘没人疼,接二连三的遇到渣男,反倒是那...
    柶木阅读 4,565评论 1 1
  • 曾经你是这个星球的主人 身躯高大 风一样横扫原野 性子威猛在原始密林慢步 一声吼鸣响彻山谷海啸 你庞大的种群 所到...
    牧野泊岛阅读 2,118评论 0 0
  • 金星其实是收藏界的俗称,其实金星专业术语叫“棕孔(棕眼)”里的沉淀物。土壤中的矿物质成份在小叶紫檀树干的营养通道中...
    林远腾博客阅读 3,017评论 0 0