3.《编译器设计》---语法分析器

概述

语法分析器的任务是判断单词流表示的输入程序在程序设计语言中是否是一个有效的句子,为达到这个目标,语法分析器使用程序设计语言的语法,以为输入程序构建一个推导。
上下问无关语法(CFG),这周符号表示法用于规定程序设计语言的语法,上下问无关语法开发了几种技术在给定语法和输入程序的情况下,可用于查找使用与输入程序的推导。

简介

语法分析是编译器前端中的第二个阶段。语法分析器处理由词法分析器转换生成的程序,从语法分析器的视角来看,输入的程序是一个单词流,其中各个单词都标注了语法范畴(词类).语法分析器为该程序推导一个语法结构,将各个单词适配到源程序设计语言的语法模型中。如果语法分析器确定输入流是一个有效程序,它将构建该程序的一个具体模型,供编译的后续各阶段使用。如果输人流不是一个有效程序,语法分析器将向用户报告问题和适当的诊断信息。

概念路线图

语法分析器的主要任务是,确定输入程序在源语言中是否是一个语法上有效的语句。在我们可以构建回答该问题的语法分析器之前,我们既需要一种形式化的机制来规定源语言的语法,又需要一种系统化的方法,来判定输人程序是否属于这种形式化定义的语言(即成员资格问题).通过将源语言的形式限制到一个称为上下文无关语言( context- free language)的语言集

小结和展望

几乎每个编译器都包含一个语法分析器,语法分析曾经是人们很感兴趣的主题。LR(1)语法族包含了所有能够以确定性方式解析的上下问无关语法,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值