// File: JameyWoo[P]re2graph/algorithms.cpp
// Function: help()
void help() {
    cout << endl
         << "Usage: ./main [options hir:s:o:p:g:] [:argument]" << endl
         << "options:" << endl
         << "  -h" << endl
         << "    说明: 打印提示信息并退出程序" << endl
         << "  -i" << endl
         << "    说明: 手动输入正则表达式 和 待匹配字符串" << endl
         << "  -r <re_exp>" << endl
         << "    说明: 作为模式的正则表达式" << endl
         << "  -s <string>" << endl
         << "    说明: 待匹配的字符串" << endl
         << "  -o <png_file>" << endl
         << "    说明: 要输出的png文件路径" << endl
         << "  -p <pattern_name>" << endl
         << "    说明: 输出的状态图要布局的模式: circo | dot | neato | twopi | fdp | patchwork" << endl
         << "  -g <graph_type>" << endl
         << "    说明: 要画的状态图的类型, 默认为三个类型: n | d | m, 可连起来写成字符串如 nm. 他们分别为 nfa | dfa | mindfa" << endl
         << "demos:" << endl
         << "  ./main -i" << endl
         << "    说明: 手动输入正则表达式 和 待匹配字符串, 程序打印匹配结果" << endl
         << "  ./main -r \"(ab*|b)*ca*\" -s aabbacaa" << endl
         << "    说明: 用正则表达式 (ab*|b)*ca* 去匹配字符串 aabbacaa" << endl
         << "  ./main -r \"(ab*|b)*ca*\" -o test.png" << endl
         << "    说明: 将 正则表达式 (ab*|b)*ca* 转化到 test_nfa.png, test_dfa.png, test_mindfa.png 系列图片" << endl
         << "  ./main -r \"(ab*|b)*ca*\" -o test.png -p dot" << endl
         << "    说明: 用 dot模式 生成状态图" << endl
         << "  ./main -r \"(ab*|b)*ca*\" -o test.png -p dot -g nm" << endl
         << "    说明: 指定生成 nfa 和 mindfa 状态图" << endl
         << endl
         << "good luck!" << endl
         << endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq 0x315c5(%rip), %rdi     # 0x42fd0
movq 0x3159e(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b88f(%rip), %rsi     # 0x2d2b0
callq 0x32c0
movq %rax, %rdi
movq 0x31580(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b8a2(%rip), %rsi     # 0x2d2e1
callq 0x32c0
movq %rax, %rdi
movq 0x31562(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b88d(%rip), %rsi     # 0x2d2ea
callq 0x32c0
movq %rax, %rdi
movq 0x31544(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b874(%rip), %rsi     # 0x2d2ef
callq 0x32c0
movq %rax, %rdi
movq 0x31526(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b884(%rip), %rsi     # 0x2d31d
callq 0x32c0
movq %rax, %rdi
movq 0x31508(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b86b(%rip), %rsi     # 0x2d322
callq 0x32c0
movq %rax, %rdi
movq 0x314ea(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b88c(%rip), %rsi     # 0x2d361
callq 0x32c0
movq %rax, %rdi
movq 0x314cc(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b87c(%rip), %rsi     # 0x2d36f
callq 0x32c0
movq %rax, %rdi
movq 0x314ae(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b889(%rip), %rsi     # 0x2d39a
callq 0x32c0
movq %rax, %rdi
movq 0x31490(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b879(%rip), %rsi     # 0x2d3a8
callq 0x32c0
movq %rax, %rdi
movq 0x31472(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b87d(%rip), %rsi     # 0x2d3ca
callq 0x32c0
movq %rax, %rdi
movq 0x31454(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b86f(%rip), %rsi     # 0x2d3da
callq 0x32c0
movq %rax, %rdi
movq 0x31436(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b879(%rip), %rsi     # 0x2d402
callq 0x32c0
movq %rax, %rdi
movq 0x31418(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b86f(%rip), %rsi     # 0x2d416
callq 0x32c0
movq %rax, %rdi
movq 0x313fa(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b8b1(%rip), %rsi     # 0x2d476
callq 0x32c0
movq %rax, %rdi
movq 0x313dc(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b8a5(%rip), %rsi     # 0x2d488
callq 0x32c0
movq %rax, %rdi
movq 0x313be(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b918(%rip), %rsi     # 0x2d519
callq 0x32c0
movq %rax, %rdi
movq 0x313a0(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b901(%rip), %rsi     # 0x2d520
callq 0x32c0
movq %rax, %rdi
movq 0x31382(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b8ef(%rip), %rsi     # 0x2d52c
callq 0x32c0
movq %rax, %rdi
movq 0x31364(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b92a(%rip), %rsi     # 0x2d585
callq 0x32c0
movq %rax, %rdi
movq 0x31346(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b932(%rip), %rsi     # 0x2d5ab
callq 0x32c0
movq %rax, %rdi
movq 0x31328(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b95b(%rip), %rsi     # 0x2d5f2
callq 0x32c0
movq %rax, %rdi
movq 0x3130a(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b963(%rip), %rsi     # 0x2d618
callq 0x32c0
movq %rax, %rdi
movq 0x312ec(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b9b4(%rip), %rsi     # 0x2d687
callq 0x32c0
movq %rax, %rdi
movq 0x312ce(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b9c3(%rip), %rsi     # 0x2d6b4
callq 0x32c0
movq %rax, %rdi
movq 0x312b0(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b9cf(%rip), %rsi     # 0x2d6de
callq 0x32c0
movq %rax, %rdi
movq 0x31292(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b9e4(%rip), %rsi     # 0x2d711
callq 0x32c0
movq %rax, %rdi
movq 0x31274(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
movq 0x31265(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
leaq 0x1b9e9(%rip), %rsi     # 0x2d743
callq 0x32c0
movq %rax, %rdi
movq 0x31247(%rip), %rsi     # 0x42fb0
callq 0x3300
movq %rax, %rdi
movq 0x31238(%rip), %rsi     # 0x42fb0
callq 0x3300
popq %rbp
retq
nop