【形式语言与自动机/编译原理】CFG-->Greibach-->NPDA(2)

本文将详细讲解《形式语言与自动机》(研究生课程)或《编译原理》(本科生课程)中的上下文无关文法(CFG)转换成Greibach范式,再转成下推自动机(NPDA)识别语言是否可以被接受的问题。此外,本文还给出了python代码的具体实现。

由于内容比较多,所以为了讲清楚,分成了3篇博客,第一篇主要讲 解从上下文无关文法到Greibach范式的具体步骤和流程,并给出了相应的算法及具体的例子;第二篇(即本篇)主要讲解从Greibach范式到下推自动机NPDA,同样给出了相应的算法及具体的例子;第三篇主要是对前两篇中给出的算法用python语言进行实现,并测试之前的例子。

它们的地址如下:

第一篇:

第二篇:

第三篇:


2 由Greibach范式得到下推自动机NPDA

2.1 生成状态转移函数

1126853e7bc6481ca058e8e2ff3eeaaa.png

eb1e426536354924ac6736db8398d9a2.png

a732275190f34b2b8e5356f31167b38e.png

以下给出3个例子:

a0870b00df804944ae250a23fcb6d899.png

66d1c97f166c476f976a8a16697ccb60.png

326b0a69e9d54d0fb6ac503c1b777ac9.png

2.2 得到下推自动机NPDA

ef6e377e6dd14cb59fa77db698ed08f1.png

7a2520186f174db9aa517b1d0028930d.png

针对这个Greibach范式和状态转移函数c5ace3212f6346dca8d240b9ffac69aa.png,给出4个测试例子:

2a8f8bf1ff014454908f362927c7e927.png

702ed71f719643508417775afc87fdc9.png


以上就是本文的内容,主要介绍了由Greibach范式得到下推自动机NPDA的各个步骤,下一篇将根据之前给出的算法用python语言进行实现。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/313988.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习部分相关概念

数据集(Data Set)即数据的集合,每一条单独的数据被称为样本(Sample)。 对于每个样本,它通常具有一些属性(Attribute)或者特征(Feature), 特征所具体取得值被称为特征值(Feature Value)。 西瓜数据集 色泽根蒂纹理青绿稍蜷模糊乌黑蜷缩清晰 …

基于JavaWeb实验室预约管理系统(源码+数据库+文档)

一、项目简介 本项目是一套基于JavaWeb实验室预约管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,e…

C++程序编译

GCC编译器 文章目录 GCC编译器 源文件 为 Main.cpp 注意cpp文件 一定要用g命令 否则没办法执行 预处理(Pre-Processing):首先会经过预处理器将程序中的预编译指令进行处理,然后把源文件中的注释这些没用的东西都给扬了。 g -E Mai…

redis 三主六从高可用docker(不固定ip)

redis集群(cluster)笔记 redis 三主三从高可用集群docker swarm redis 三主六从高可用docker(不固定ip) 此博客解决,redis加入集群后,是用于停掉后重启,将nodes.conf中的旧的Ip替换为新的IP,从而达到不会因为IP变化导致集群无法…

《VulnHub》DC:1

title: 《VulnHub》DC:1 date: 2024-01-01 12:46:49 updated: 2024-01-01 12:46:50 categories: WriteUp:Cyber-Range excerpt: 主机发现、目标信息扫描、漏洞扫描、网站指纹信息识别、网站目录扫描、drupal CMS 漏洞利用(CVE 2014-3704&…

爱思唯尔的KBS——模板、投稿、返修、接收的总结

第二篇论文终于是接受了QAQ,被审稿人疯狂拖时间,KBS是真难绷啊 由于之前发布过关于爱思唯尔旗下的ESWA博客,KBS和ESWA是类似的,因此本篇博客主要说下区别以及期间碰到的各种情况,有疑问依然可以在评论区说,…

5个用于构建Web应用程序的Go Web框架

探索高效Web开发的顶级Go框架 Go(或称为Golang)以其简洁性、高效性和出色的标准库而闻名。然而,有几个流行的Go Web框架和库为构建Web应用程序提供了额外的功能。以下是五个最值得注意的Go框架: 1. Gin: Gin是一个高…

Impala4.x源码阅读笔记(三)——Impala如何管理Iceberg表元数据

前言 本文为笔者个人阅读Apache Impala源码时的笔记,仅代表我个人对代码的理解,个人水平有限,文章可能存在理解错误、遗漏或者过时之处。如果有任何错误或者有更好的见解,欢迎指正。 上一篇文章Impala4.x源码阅读笔记&#xff0…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的图像剪切(ROI)功能(C++)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的图像剪切(ROI)功能(C) Baumer工业相机Baumer工业相机的图像剪切(ROI)功能的技术背景CameraExplorer如何使用图像剪切(ROI)功…

mysql基础-字段类型及几点讨论事项

目录 1.主要字段类型 1.1整数 1.2.浮点数类型 1.3.文本类型 1.4.日期与时间类型 2.讨论几点有关字段类型的事 2.1 时间类型字段用字符还是datetime? 2.2 时间类型字段如何设置随时间更新? 2.3 字段长度够用即可 2.4 小数的字段类型选择&#xf…

错题总结五

一. 操作访问字节个数问题 这道题考察的是指针有关的知识,而这种指针的知识我们提到过 指针相关知识(入门)-CSDN博客 指针相关知识(进阶)-CSDN博客 在这里,我们复习一下。在指针里,int有4个字节,short有2个字节,换句…

水果软件2024FL Studio21.3mac苹果中文版

FL STUDIO21发布,提供您一直在等待的出色工作流程功能。通过新效果、多个播放列表曲目选择和无所畏惧的撤消一切编辑,将您的音乐带入2024年。FL Studio21中文完整版是一个功能齐全、开放式架构的PC音乐创作和制作环境。它具有基于音乐音序器的图形用户界…