6、有限状态机编程与非正则语言相关知识解析

有限状态机与非正则语言解析

有限状态机编程与非正则语言相关知识解析

1. 有限状态机编程基础

在讨论实际硬件设备(如投币式电话或咖啡机)的工程方面时,会面临诸多困难。但将有限状态机以电子方案的形式实现,要比为每台投币式电话配备一台装有所有所需软件的成熟 Windows 计算机简单得多。

1.1 基于有限状态机的编程概述

在探讨有限自动机时,必然会涉及基于有限状态机(FSM)的编程。这种编程方法是在设计程序时,将已实现算法的执行过程表示得类似于有限状态机设备。

1.2 工具与范式

没有一种范式是通用的。理论上,每种编程语言都同样适合表示任何算法,但优秀的编程语言应是多范式的。例如,标准模板库显著改变了现代 C++ 的面貌,它支持更接近函数式编程的编码风格,而非面向对象编程。所以,在讨论基于 FSM 的编程时,应将其视为新工具,而非万能工具。使用特定范式的“便利性”取决于程序员的个人背景,数学家可能更习惯用谓词和函数思考,而工程师可能更倾向于用自动机思考。

1.3 扩展有限状态机

这里所说的“自动机”比之前讨论的普通有限状态机更强大,但它们有两个共同特征:
- 在每个时刻,自动机处于某个特定状态。
- 根据特定条件,自动机将状态改变为另一个状态。

有限状态机只是一个简单设备,仅能对输入带上存储的字符序列做出反应(通过改变当前状态)。而现在讨论的自动机是实用的编程工具,通常用 Pascal 或 C# 等普通编程语言编写。它还具有以下特点:
- 自动机从一个状态转换到另一个状态时,可以执行任意复杂的编程语言代码片段。
- 自动机的下一个状态由任意复杂函数的计算结果确

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值