gpt4 book ai didi

pascal - 如何从源代码编译P4?

转载 作者:行者123 更新时间:2023-12-01 22:34:48 26 4
gpt4 key购买 nike

我是计算机科学专业的学生,​​正在学习 Pascal 编程。

<小时/>

我发现了一个有趣的 Pascal 编译器,P4 ( http://homepages.cwi.nl/~steven/pascal/ )。

为了了解更多有关 Pascal 的信息,我尝试编译他们的源代码,但失败了。

在这个网页中,他们说:

  1. Compile pcom.p and pint.p with a Pascal compiler. You obviously have to have a Pascal compiler already. This gives you a Pascal compiler (pcom) that produces P4 code, and an interpreter (pint) that runs P4 code.
  2. To use the compiler, run pcom with the Pascal program as standard input. This produces any diagnostics on standard output, and its code on a Pascal file that is called prr. Check with your Pascal compiler how this gets assigned to a file in the filestore. You may have to change the lines 'rewrite(prr)' in pcom.p and pint.p and 'reset(prd)' in pint.p for your compiler, for instance to "rewrite(prr, 'prr')" etc.
  3. To run the resulting code, run pint with the prr output produced by pcom as input for the file 'prd', and input for the compiled Pascal program on standard input.

我用Free Pascal(在 https://ideone.com/ 上)编译了它,但也失败了。

Free Pascal Compiler version 2.6.4+dfsg-4 [2014/10/14] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Linux for i386
Compiling pcom.p
pcom.p(1,3) Warning: Unsupported switch "$L"
pcom.p(88,23) Fatal: Syntax error, ":" expected but ")" found
Fatal: Compilation aborted
Error: /usr/bin/ppc386 returned an error exitcode (normal if you did not specify a source file to be compiled)

我不知道如何在Windows机器上编译这个源代码,因为我只知道Pascal语言

<小时/>

我可以在Windows XP上用Turbo Pascal编译它(没有任何要求)吗?您可以删除脚本的某些部分仅用于 Pascal 编译吗?

最佳答案

Free Pascal 的 Florian 一直在努力获取 Scott Moore 的 P5编译器(这是一个接受更大的 Pascal 子集的 P4 编译器),以使用旧源代码的 FPC 的 ISO 模式。然而,它(大部分)只能在开发版本中工作(包括即将推出的“稳定”分支 3.0.x)。

我去年夏天尝试过,它编译并通常与 FPC 3.x 和 -Miso 参数(选择 ISO 风格方言)一起使用。 IIRC 最后修复的是 ISO 风格参数传输。

我很快尝试了引用的 P4 编译器版本,它似乎偶然发现了一些与从 ISO 模式来回切换相关的“评论此”评论。如果我评论这些文件,pint 就会编译。 (然后如果需要,您可以运行原始字节码)

然后,pcom 仍然在获取指针的 ord() 时遇到困难,这显然也不太可移植,但不幸的是,有 20 多次出现必须用 ord(ptrint()) 替换。

pcom 仍然无法编译,FPC 不喜欢将联合字段传递给 VAR 参数。使用变量解决这个问题并编译源代码,总共需要 15 分钟。

带有额外模式语句的固定源代码位于 http://www.stack.nl/~marcov/files/p4fixed.zip需要(尚未发布)FPC 3.0 或更高版本。

生成的 EXE 二进制文件可以编译原始 pcom 源代码,将其自身引导为字节码。

关于pascal - 如何从源代码编译P4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29912143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com