提交 3e64cee1 创建 作者: 宋海霞's avatar 宋海霞

modify main.c

上级 8fb3a680
...@@ -23,10 +23,9 @@ int main(int argc, char **argv) ...@@ -23,10 +23,9 @@ int main(int argc, char **argv)
NFAState *start; NFAState *start;
// 在 CP Lab中执行程序时不会使用下面宏定义包含的代码,提交作业后,这部分代码会用于线上流水线运行时进行算例的验证 // 在 CP Lab中执行程序时不会使用下面宏定义包含的代码,提交作业后,在线上运行流水线时会包含宏定义这部分代码
// 在运行流水线时会从input.txt文件中读取正则表达式,进行算例的验证。 // 下面宏定义代码会在运行流水线时从input.txt文件中读取正则表达式,进行算例的验证。
// 其中,input1.txt ~ input8.txt文件中包含的正则表达式与例1 ~ 例8的正则表达式是对应的。 // 其中,input1.txt ~ input8.txt文件中包含的正则表达式与例1 ~ 例8的正则表达式是对应的。
#ifdef CODECODE_CI #ifdef CODECODE_CI
scanf("%255s", regexp_ci); scanf("%255s", regexp_ci);
regexp = regexp_ci; regexp = regexp_ci;
...@@ -47,6 +46,9 @@ int main(int argc, char **argv) ...@@ -47,6 +46,9 @@ int main(int argc, char **argv)
// //
start = post2nfa(post); start = post2nfa(post);
//
// 将 NFA 打印输出
//
OutputResult(start); OutputResult(start);
return 0; return 0;
...@@ -137,7 +139,6 @@ NFAState* post2nfa(char *postfix) ...@@ -137,7 +139,6 @@ NFAState* post2nfa(char *postfix)
PushNFAFragment(&FragmentStack, fm); PushNFAFragment(&FragmentStack, fm);
break; break;
case '|': // 构造选择 NFA 片段 case '|': // 构造选择 NFA 片段
//将栈顶的两个片段出栈,构造新的 NFA 片段, 并入栈
// //
// TODO: 在此添加代码 // TODO: 在此添加代码
...@@ -145,7 +146,6 @@ NFAState* post2nfa(char *postfix) ...@@ -145,7 +146,6 @@ NFAState* post2nfa(char *postfix)
break; break;
case '*': // 构造星号 NFA 片段 case '*': // 构造星号 NFA 片段
//将栈顶的一个片段出栈,构造新的 NFA 片段, 并入栈
// //
// TODO: 在此添加代码 // TODO: 在此添加代码
...@@ -153,7 +153,6 @@ NFAState* post2nfa(char *postfix) ...@@ -153,7 +153,6 @@ NFAState* post2nfa(char *postfix)
break; break;
case '?': // 构造问号 NFA 片段 case '?': // 构造问号 NFA 片段
//将栈顶的一个片段出栈,构造新的 NFA 片段, 并入栈
// //
// TODO: 在此添加代码 // TODO: 在此添加代码
...@@ -161,7 +160,6 @@ NFAState* post2nfa(char *postfix) ...@@ -161,7 +160,6 @@ NFAState* post2nfa(char *postfix)
break; break;
case '+': // 构造加号 NFA 片段 case '+': // 构造加号 NFA 片段
//将栈顶的一个片段出栈,构造新的 NFA 片段, 并入栈
// //
// TODO: 在此添加代码 // TODO: 在此添加代码
...@@ -171,10 +169,10 @@ NFAState* post2nfa(char *postfix) ...@@ -171,10 +169,10 @@ NFAState* post2nfa(char *postfix)
} }
} }
// //
// 将 NFA 最终结果出栈保存到 fragment 中 // 将 NFA 最终结果出栈保存到 fragment 中
// //
fragment = PopNFAFragment(&FragmentStack); fragment = PopNFAFragment(&FragmentStack);
return fragment.StartState; return fragment.StartState;
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论