以人类可读的格式打印 rpg 文件的内容

Print contents of rpg file in human-readable format

上下文

我的一个朋友在将源代码打印成人类可读的格式时遇到了问题。

他们的焊接机器人的编译(我假设)程序具有 .rpg 扩展名。他们想收集人类可读格式的打印输出,可能用于备份或将来参考。

他们的供应商可以提供实现此目的的软件,但成本相当高(可能还有年度许可证)。因此,我的朋友决定问我是否存在 easier/cheaper 解决方案。

示例和图片

可以在机器人的控制台读取文件,例如:

我做了一些小研究,我相当确定这是 IBM 开发的 Report Program Generator (RPG) 语言。类似汇编的语法似乎匹配;它可能是该语言的较新版本之一。

我的朋友发给我一个示例 .rpg 文件,内容似乎是二进制文件,其中散布着一些字符串文字。十六进制示例文件内容的屏幕截图:

问题

在网上找不到太多(如果有的话)明确的信息,所以我想我有多个问题(对于可能对此了解更多的人):

  1. 这是(第一张图片)报告程序生成器 (RPG) 代码吗?
  2. .rpg 文件是否包含已编译或处理过的代码?也许是中间格式?
  3. 是否可以将示例中所示的文件转换回源代码或人类可读的格式,类似于“反汇编”?

如果有人知道更多,请不要犹豫,给我任何信息或在必要时询问更多细节。提前致谢!


也许这不是一个重要的问题,但仍然让我感到困扰(并且可能表明我走错了路):

如果这确实是一个 RPG 程序,为什么 compiled/processed 二进制文件会有 .rpg 扩展名,源文件不应该有那个吗?这让我相信我要么(a)假设错误的东西(语言等)或(b)这是一种中间格式,机器更容易阅读,必须由某种解释运行时系统。

我不认为那是 IBM 的 RPG 语言的任何版本。 RPG 确实有一个 MOVEL 操作码,但它没有任何其他操作码。

此外,IBM 语言的所有版本都旨在用于业务编程。我怀疑它会被用于机器人技术。

我猜这是制造机器人的公司的专有语言。

  1. 有一些相似之处,但它看起来不像 IBM RPG 语言。
  2. RPG 源实际上是源物理文件成员。它们不存储在 "traditional" 文件系统中,而是存储在 OS/400 库中。因此 RPG 资源没有扩展名。不过,它们可以转换为集成文件系统流文件。
  3. 恐怕我无法回答这个问题,因为它对我来说是未知的语言。

我预计 OP 可能错误识别了文件 type/extension;扩展名实际上是 .prg,这些文件用作松下工业焊接机器人的说明。以下论坛 [深入到 Panasonic Robots] 自称 the biggest Industrial Robots Supportforum worldwide!;也许是询问 OP 中提供的那些图像的好地方,以及关于从看似二进制指令流中获取 source 的查询。

FWiW,第一张图片似乎显示 Ezed 实用程序 [在控制台上] 提供 人类可读的格式 ,所以问题可能是如何保存它然后如何将其转移到其他地方;例如platform/OS.

可以使用什么类型的通信端口和文件传输实用程序