zoukankan      html  css  js  c++  java
  • 有穷自动机

    #include<stdio.h>
    #define MAX 100
    typedef struct   //构造一个邻接表 用于存储NFA
    {
    char name;
    char line[MAX];
     
    }node;
     
     
    void tran(){     //专门做语句的转换操作
     
     
     
    }
     
    void automata(char R[],int i){
    int j = 0;
    int n = i;
    while(R[j] != '#'){
    if(R[i] == '(')
    {
    printf("//在这里是做把'()'里的字符串里的语句初步进行转换,进行递归分解");
    //在这里是做把'()'里的字符串里的语句初步进行转换,进行递归分解
    }
    else if(R[i] == '|'){
    printf("//在这里就是把A和B两个状态节点分成  语句1 | 语句2 分成两路连接");
    //在这里就是把A和B两个状态节点分成  语句1 | 语句2 分成两路连接
    }
    else if(R[i] == '*'){
    printf("//在这里就是把前一个状态节点进行自循环。");
    //在这里就是把前一个状态节点进行自循环。
    }
    else{
    //在这里进行一般的转换。
    printf("//在这里进行一般的转换");
    }
     
     
    j++;
    }
     
    }
     
    void main()
    {
    char R[MAX];
    int i=0;
    printf("请输入要转换的正规式: ");
    while(R[i-1] != '#'){
    scanf("%c",&R[i]);
    i++;
    }
    automata(R,i);    //用于转换正规式。
    }

  • 相关阅读:
    react-路由简单封装
    promise 和 async / await
    数据结构 栈 、 队列 、 链表
    ES6 Symbol
    react-react常用包与对应使用
    node-egg的使用
    自我理解与概述-BFC(Block formatting context)
    Git
    MySQL优化技巧
    Shiro
  • 原文地址:https://www.cnblogs.com/7763255qw/p/5017533.html
Copyright © 2011-2022 走看看