• 1203 有穷自动机


    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("请输入要转换的正规式:\n");
    while(R[i-1] != '#'){
    scanf("%c",&R[i]);
    i++;
    }
    automata(R,i);    //用于转换正规式。
    }
  • 相关阅读:
    进程和线程的简单实例
    OpenGL3D演示程序
    c++中dll和lib
    OS锁机制,各种critical section、mutex、实现基础
    dll导出def出错
    负载均衡策略:
    lua读写文件
    C++ Singleton
    Lua模式匹配
    linux 下查找不符合条件的文件并cp
  • 原文地址:https://www.cnblogs.com/wsstzxwx/p/5089253.html
Copyright © 2020-2023  润新知