zoukankan      html  css  js  c++  java
  • 学生做的正则表达式引擎提供下载!

    作者(不是我)信息:
    华南理工大学软件学院本科07级(现大二)
    进入大学前玩过几个星期pascal,高考后的暑假重新学编程

    程序信息:下载请移步这里
    学习C++一年后的作品。
    内含所有代码,以及VC++工程文件。
    一个程序,输入只有匹配没有捕获的正则表达式,输入被匹配的字符串,输出字符串中符合正则表达式要求的部分。
    支持括号改变优先级,[字符集]和[^字符集],少量转义(\d等),循环(+*?),没有捕获

    输入输出(红色部分为用户输入的内容):
    请输入正则表达式 : /\*([^\*]|\*+[^\*/])*\*+/
    请输入所要匹配的字符串 : a//a///*\\nab**abc**//*
    a//a//【/*\\nab**abc**/】/*

    算法简要:
    正则表达式->语法树->ε-NFA->NFA->DFA->连通矩阵。
    使用递归向下法判断输入的正则表达式的合法性并转换为树结构,其后转成状态机。
  • 相关阅读:
    第一次作业-编译原理概述
    文法和语言总结与梳理(作业四)
    作业三
    作业二
    编译原理概述
    编译原理 作业九
    编译原理 作业八
    编译原理 作业七
    编译原理 作业六
    编译原理 作业五
  • 原文地址:https://www.cnblogs.com/geniusvczh/p/1330221.html
Copyright © 2011-2022 走看看