小编Joh*_*oee的帖子

如何从 BNF 生成随机程序

我知道我的问题听起来有点模糊,但我在网上找不到任何教程。我不是在寻求答案,而是在寻求更多解释。\nBNF 的示例:

\n\n
<prog> ::= \xe2\x80\x9cint main() { <stat_list> return 0; }\xe2\x80\x9d\n<stat_list>  ::= <stat>\n         | <stat_list> <stat>\n<stat>       ::= <cmpd_stat>\n         | <if_stat>\n         | <iter_stat>\n         | <assgn_stat>\n         | <decl_stat>\n<cmpd_stat>  ::= { <stat_list> }\n<if_stat>    ::= if ( <exp> ) <stat>\n         | if ( <exp> ) <cmpd_stat>\n         | if ( <exp> ) <stat> else <stat>\n         | if ( <exp> ) <cmpd_stat> else <stat>\n         | if ( <exp> ) <stat> else <cmpd_stat>\n         | if ( <exp> ) <cmpd_stat> else <cmpd_stat>\n
Run Code Online (Sandbox Code Playgroud)\n\n

将其转换为 python 以使我的程序使用上述条件创建随机程序的最简单方法是什么?任何有用网站链接的帮助将不胜感激。

\n

python parsing code-generation bnf

6
推荐指数
2
解决办法
1832
查看次数

标签 统计

bnf ×1

code-generation ×1

parsing ×1

python ×1