SPIR-V 研究:编译器基本原理(三) - Chomsky文法分类

本文深入探讨了Chomsky文法的四种类型,从Type-0的无限制语法到Type-3的正规语法,重点介绍了其在SPIR-V编译器和Vulkan中的作用。通过对上下文敏感和上下文无关语法的解析,阐述了编译器如何利用这些规则进行代码转换和验证。
摘要由CSDN通过智能技术生成

SPIR-V 研究:编译器基本原理(三) - Chomsky文法分类

标签(空格分隔): SPIR-V Vulkan Grammar


上一篇说过语法分为四类;这一篇来介绍Chomsky Hierarchy。首先,我们简单看看type-0和type-1的语法。

Type-0 - Unrestricted grammar

这是一种没有任何限制的语法,理论上可以描述任何图林机可以接受的语言。它的一般形式如下图:
此处输入图片的描述
这是一个从u生成v的过程;其中u,v是任意字符组合(包括最终字符和中间符号,或空字符),当然u至少包含一个中间符号。数学表达式为:(Σ ⋃ N)* N (Σ ⋃ N)* --> (Σ ⋃ N)*
虽然,type-0很强大,但是用它来检验语句是否符合语法规则,也就是写一个一般性通用的Parser,是非常困难的事。这也就引出了后面几种语法;其想法是通过加强限制条件,我们可以得到更简单更容易使用的语法。

Type-1- Context-sensitive grammar (CSG)

这是一种上下文有关的语法规则;左侧和右侧被替换的字符前后都有可能有别的字符,也就是有上下文的;只

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值