【发布时间】:2021-12-02 03:50:37
【问题描述】:
不要问为什么,但我想创建一个 Python 程序,生成一个随机的 Python 程序,该程序对执行有效。我找到了一个类似的线程 Searching for a random python program generator ,但它很旧,除了演示 http://www.4geeks.de/cgi-bin/webgen.py 之外的所有链接都已失效。也许这些年来有些事情发生了变化,做这样的事情变得更容易了?
一个想法是使用量子坍缩算法/技术。这需要建立一种数据库,我在其中描述可以在前一个之后出现的符号。例如,在a 之后可以出现(,、any letter 等,但绝不会出现)。我仍然认为这会产生非常乱码的源,我很容易设置错误的条件。
【问题讨论】:
-
我想你正在寻找:Software Reccomendations这个网站是用于编码相关的问题。
-
如果将 Python 程序的表示形式化为对标记进行操作的上下文无关语法,就语法而言,您可以轻松生成“有效”的 Python 程序。这涉及到语言是如何被解析和解释的。我建议首先创建 Python 语法的上下文无关语法表示,然后您将知道在代码生成的每个阶段要“随机”生成哪些标记。
-
这样做很危险。这样的程序可能会擦除您的硬盘驱动器或向总统发送死亡威胁。
-
@Jab 我不是在寻找软件。我明确表示“..想要创建一个 Python 程序......”。
-
@trshmanx 上下文无关语法定义程序的语法。如果您的代码中的每个“单词”都被视为一个标记,那么该语言只允许某些标记序列。例如,将
if视为条件标记,它需要boolean expression,boolean expression可以是true、false或一些比较器,例如expression < expression。这是考虑程序的一种非常正式的方式,但它是首先验证和编译程序的方式。研究编程语言中的上下文无关语法。
标签: python random code-generation