小编Geo*_*mer的帖子

Ubuntu GnuCobol货币符号为“£”会导致编译错误

在Ubuntu 18.10上使用GnuCOBOL 2.2.0。Michael Coughlan撰写的“面向程序员的COBOL入门”一文。直到第9章,GnuCOBOL一直在毫不费力地编译本书的示例,当时该程序:

IDENTIFICATION DIVISION.
PROGRAM-ID. Listing9-2.
AUTHOR. Michael Coughlan.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES.
    CURRENCY SIGN IS "£".
DATA DIVISION.
WORKING-STORAGE SECTION.
01 Edit1    PIC £££,££9.99.

PROCEDURE DIVISION.
Begin.
    MOVE 12345.95 TO Edit1
    DISPLAY "Edit1 = " Edit1
    STOP RUN.
Run Code Online (Sandbox Code Playgroud)

...在尝试编译时抛出以下错误:

~/Documents/COBOL$ cobc -x -free Listing9-2.cbl
Listing9-2.cbl: 8: error: PICTURE SYMBOL for CURRENCY must be one character long
Listing9-2.cbl: 11: error: invalid PICTURE character '?'
Listing9-2.cbl: 11: error: invalid PICTURE character '?'
Listing9-2.cbl: 11: error: invalid PICTURE character …
Run Code Online (Sandbox Code Playgroud)

cobol gnucobol

5
推荐指数
1
解决办法
82
查看次数

Ubuntu GnuCOBOL程序显示'?' 字符而不是编辑图片中的“£”

不幸的是,我前面的问题有第二部分。

该链接显示了一个简单的COBOL程序,该程序将值移动到应在值之前带有“£”的已编辑图片。

根据对先前问题的回答,有必要将源文件中的编码显式设置为ISO-8859-15,以使程序成功编译。

根据我面前的书的预期输出:

Edit1 = £12,345.95
Run Code Online (Sandbox Code Playgroud)

运行程序的输出:

Edit1 = ?12,345.95
Run Code Online (Sandbox Code Playgroud)

我尝试了Geany提供的其他一些西方编码选项。其中一些也可以编译,但是具有相同的DISPLAY问题,这似乎是与编码有关的问题。

有谁知道一种使程序在Ubuntu上按预期工作的方法?

ubuntu cobol gnucobol

5
推荐指数
1
解决办法
60
查看次数

GnuCOBOL 报告编写器:语法错误,意外的 IS,期待 LEADING 或 TRAILING

安装了 GnuCOBOL 版本3.0-rc1.0以尝试最近添加的 Report Writer。试图在 Michael Coughlan 的 Beginning COBOL for Programmers 的第 18 章中编译第一个列表[PIC X(52) 是我对书中太小的 PIC X(51) 的修复]抛出错误:

Listing18-1.cbl:99: error: syntax error, unexpected IS, expecting LEADING or TRAILING
Listing18-1.cbl:99: error: PROCEDURE DIVISION header missing
Listing18-1.cbl:99: error: syntax error, unexpected .
Listing18-1.cbl:100: error: unknown statement '03'
Listing18-1.cbl:101: error: unknown statement '03'
Listing18-1.cbl:102: error: unknown statement '03'
Listing18-1.cbl:104: error: unknown statement '02'
Listing18-1.cbl:105: error: unknown statement '03'
Listing18-1.cbl:106: error: unknown statement '03'
Listing18-1.cbl:107: error: unknown statement …
Run Code Online (Sandbox Code Playgroud)

cobol gnucobol

0
推荐指数
1
解决办法
165
查看次数

标签 统计

cobol ×3

gnucobol ×3

ubuntu ×1