Karel解析器和执行器,适用于程序合成。
项目描述
为合成而设计的karel
基于Nearai的代码(进行了一些修改)的Karel解析器和执行器。
用法
要使用执行器,请运行
from karel_for_synthesis import execute
result = execute(program, input_grid, record_trace=True)
您还可以通过使用parse和unparse命令来解析和反解析程序。
输出
这将返回一个ExecutionResult对象,其结构如下
- ExecutionResult- .result:输出网格,或如果出现错误则返回- None
- .trace:输出跟踪。如果传递了- record_trace=False,则返回- None- .grids:程序执行中的每个时间步长的网格
- .events:一系列- KarelEvent对象- .timestep:- grids[timestep]对应于此时间步后的网格
- type:正在执行的令牌
- span:对应于此块的第一个和最后一个令牌的- (i, j)
- cond_span:如果存在条件表达式,则包含在其中的第一个和最后一个令牌的- (i, j),否则为- None
- cond_value:条件表达式的值或剩余迭代次数
- success:如果操作失败或循环无限重复,则返回False
 
 
 
错误
- ExecutorSyntaxException:如果传入的程序有无效语法,则发生
- ExecutorRuntimeException:如果传入的程序在执行时出错且传递了- record_trace=False,则发生
项目详情
    
       关闭
    
      
        
    
    
  
karel-for-synthesis-1.4.0.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | a536c531121f341799dd377e6214c7b4915e001eae7211352cc2d8de44ddaa19 | |
| MD5 | 209710d85ab9f427647489d70da85d1a | |
| BLAKE2b-256 | 01b43033b3f26df178e7843ba15ff681e917d41724d29eeb49d741ce0f1eaad6 |