zoukankan      html  css  js  c++  java
  • 12.03自动机实验

    #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); //用于转换正规式。
    }

  • 相关阅读:
    接口的上溯造型——《Thinking in Java》随笔015
    数据库
    小结
    异常及String
    多态&接口
    继承&封装
    Java 类 对象 包
    Java 方法的应用
    Java数组的运用
    Java代码运用及算法思路养成——用*号输出形状
  • 原文地址:https://www.cnblogs.com/hui1005039632/p/5017661.html
Copyright © 2011-2022 走看看