从正则文法构造有穷状态自动机

这篇博客详细介绍了如何使用C++实现从正则文法构造有穷状态自动机(NFA到DFA的转换),包括输入边信息、初态和终态,以及处理输入符号的过程,最后展示构造的DFA边信息和初态终态。
摘要由CSDN通过智能技术生成

#include<iostream>

#include<string>

 #include<vector>

 using namespace std;

 #define max 100

    struct edge{

    string first;//边的初始结点

  string change;//边的条件

  string last;//边的终点

  };

  int N;//NFA的边数

 vector<int> value;

  string closure(string a,edge *b)

 {

  int i,j;

   for(i=0;i<a.length();i++)

  {

  for(j=0;j<N;j++)

   {

  if(b[j].first[0]==a[i]&&b[j].change=="&")

    {

     a=a+b[j].last[0];

     }

    }

   }

  return a;

  }

  string move(string jihe,char ch,edge *b)

 

{

  int i,j;

  string s="";

   for(i=0;i<jihe.length();i++)

  {

      for(j

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值