Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,13 @@ jobs:
image: ${{ inputs.os }}
steps:
- uses: actions/setup-java@v3
if: inputs.os != 'amazonlinux:2023'
if: inputs.os == 'ubuntu:22.04'
with:
distribution: 'temurin'
java-version: '21'

- uses: actions/setup-java@v3
if: inputs.os == 'almalinux:9'
with:
distribution: 'temurin'
java-version: '11'
Expand All @@ -35,12 +41,7 @@ jobs:
if: inputs.os == 'amazonlinux:2023'
run: |
dnf -y update
dnf install -y gcc make bison flex automake autoconf diffutils gettext tar gzip

- name: Install Java
if: inputs.os == 'amazonlinux:2023'
run: |
dnf install -y java-11-amazon-corretto-devel
dnf install -y java-21-amazon-corretto-devel gcc make bison flex automake autoconf diffutils gettext tar gzip

- name: Checkout opensource COBOL 4J
uses: actions/checkout@v3
Expand Down
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## [Unreleased]
## [1.0.18] - 2023-12-26
### Added
* Support Amazon Linux 2023 (#282)
* Implement runtime numeric checkings (#253)
* Implement sorting a table based on ebcdic (#254)
* Implement KEY IS option of SORT statements (#259)
* Add documents that describes installations and requirements (#256)
* Implement the environemt variable COB_NIBBLE_C_UNSIGNED (#258)
* Add intrinsic functions
* Add built-in subroutines
* `C$CALLEDBY` (#262)
* `C$LIST-DIRECTORY` (#264)
* Implement `NUMBER-OF-PARAMETERS` (#270)
Expand All @@ -23,7 +23,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
* Fix error handlings of 0 divisions (#273)
* Fix an error of comparing large numbers (#275)
* Fix checkings for subscripts (#277)
* Fix FUNCTION VARIANCE and a test case of FUNCTION SQRT (#280)
* Fix FUNCTION VARIANCE (#280)
### Optimized
* Optimize the file reading process (#257)

Expand Down
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
2023-12-26 OSS Consortium <ws-opensource-cobol-contact@osscons.jp>

* opensource COBOL 4J v1.0.18 released.

2023-11-28 OSS Consortium <ws-opensource-cobol-contact@osscons.jp>

* opensource COBOL 4J v1.0.17 released.
Expand Down
28 changes: 27 additions & 1 deletion NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,32 @@ NEWS - user visible changes -*- outline -*-

-----------------------------------------------------------------------

* opensource COBOL 4J 1.0.18

** New Features
(1) Support Amazon Linux 2023
(2) Implement runtime numeric checkings
(3) Implement sorting a table based on ebcdic
(4) Implement KEY IS option of SORT statements
(5) Add documents that describes installations and requirements
(6) Implement the environemt variable COB_NIBBLE_C_UNSIGNED
(7) Add built-in subroutines
(a) `C$CALLEDBY`
(b) `C$LIST-DIRECTORY`
(8) Implement `NUMBER-OF-PARAMETERS`
** Bug fixes
(1) Fix the message of COB_VERBOSE file sort
(2) Fix the process that checks MOVE statements
(3) Fix `INSPECT` statement
(4) Fix error handlings of 0 divisions
(5) Fix an error of comparing large numbers
(6) Fix checkings for subscripts
(7) Fix FUNCTION VARIANCE
** Miscellaneous
(1) Optimize the file reading process

-----------------------------------------------------------------------

* opensource COBOL 4J 1.0.17

** New Features
Expand All @@ -26,7 +52,7 @@ NEWS - user visible changes -*- outline -*-
(e) STORED-CHAR-LENGTH
(f) TRIM

** Bug fixes Fixed
** Bug fixes
(1) Fix `DECIMAL POINT IS COMMA` in `SPECIAL NAMES` clause.

-----------------------------------------------------------------------
Expand Down
33 changes: 26 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@ Other software and libraries are distributed under the GNU GENERAL PUBLIC LICENS

opensource COBOL 4J is tested with the following platforms and dependencies

* Ubuntu 22.04 and AlmaLinux 9
* OpenJDK 11
* Ubuntu 22.04 and OpenJDK 21
* AlmaLinux 9 and OpenJDK 11
* Amazon Linux 2023 and OpenJDK 21

In order to check requirements of older versions,
see [doc/requirements-all.md](./doc/requirements-all.md).
Expand All @@ -27,16 +28,34 @@ see [doc/requirements-all.md](./doc/requirements-all.md).

### Install dependencies

Run the following commands.

#### Ubuntu 22.04

```
sudo apt-get update
sudo apt-get install -y default-jdk build-essential bison flex gettext texinfo libgmp-dev autoconf
```

#### AlmaLinux 9

```
dnf -y update
dnf install -y java-11-openjdk-devel gcc make bison flex automake autoconf diffutils gettext
```

#### Amazon Linux 2023

```
dnf -y update
dnf install -y java-21-amazon-corretto-devel gcc make bison flex automake autoconf diffutils gettext tar gzip
```

### Install opensource COBOL 4J
```
curl -L -o opensourcecobol4j-v1.0.17.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v1.0.17.tar.gz
tar zxvf opensourcecobol4j-v1.0.17.tar.gz
cd opensourcecobol4j-1.0.17
curl -L -o opensourcecobol4j-v1.0.18.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v1.0.18.tar.gz
tar zxvf opensourcecobol4j-v1.0.18.tar.gz
cd opensourcecobol4j-1.0.18
./configure --prefix=/usr/
make
sudo make install
Expand All @@ -53,7 +72,7 @@ In order to check installations of older versions,
The docker container for opensource COBOL 4J is available.

```bash
docker pull opensourcecobol/opensourcecobol4j:1.0.17
docker pull opensourcecobol/opensourcecobol4j:1.0.18
```

Execute the following commands in order to run the "Hello World" COBOL program.
Expand Down Expand Up @@ -134,7 +153,7 @@ rw 4 0 4 0 0 0 0 0 0 REPORT
total 21 0 21 0 0 0 0 0 0
```

# Contributing
## Contributing

Guidelines for contributing to opensource COBOL 4J can be found in [CONTRIBUTING.md](./CONTRIBUTING.md).
Contributors are listed in https://github.com/opensourcecobol/opensourcecobol4j/graphs/contributors
51 changes: 34 additions & 17 deletions README_JP.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,52 +14,69 @@ opensource COBOL 4JはCOBOLからCに変換するCOBOLコンパイラ["opensourc

opensource COBOL 4J は下記の環境でテストされています.

* Ubuntu 22.04 および AlmaLinux 9
* OpenJDK 11
* Ubuntu 22.04 と OpenJDK 21
* AlmaLinux 9 と OpenJDK 11
* Amazon Linux 2023 と OpenJDK 21

古いバージョンの動作環境については、[doc/requirements-all.md](./doc/requirements-all.md)をご覧ください.


## インストール

opensource COBOL 4J v1.0.17はUbuntuとAlmaLinuxで動作を確認しています.
opensource COBOL 4J v1.0.18はUbuntuとAlmaLinuxで動作を確認しています.

# 手動インストール
## 手動インストール

## 依存ライブラリのインストール
### 依存ライブラリのインストール

下記のコマンドを実行する
下記のコマンドを実行する.

#### Ubuntu 22.04

```
sudo apt-get update
sudo apt-get install -y default-jdk build-essential bison flex gettext texinfo libgmp-dev autoconf
```

## opensource COBOL 4Jのインストール
#### AlmaLinux 9

```
dnf -y update
dnf install -y java-11-openjdk-devel gcc make bison flex automake autoconf diffutils gettext
```

#### Amazon Linux 2023

```
dnf -y update
dnf install -y java-21-amazon-corretto-devel gcc make bison flex automake autoconf diffutils gettext tar gzip
```

### opensource COBOL 4Jのインストール

下記のコマンドを実行する

```
curl -L -o opensourcecobol4j-v1.0.17.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v1.0.17.tar.gz
tar zxvf opensourcecobol4j-v1.0.17.tar.gz
cd opensourcecobol4j-1.0.17
curl -L -o opensourcecobol4j-v1.0.18.tar.gz https://github.com/opensourcecobol/opensourcecobol4j/archive/refs/tags/v1.0.18.tar.gz
tar zxvf opensourcecobol4j-v1.0.18.tar.gz
cd opensourcecobol4j-1.0.18
./configure --prefix=/usr/
make
sudo make install
```

## $CLASSPATHの設定
### $CLASSPATHの設定

/usr/lib/opensourcecobol4j/libcobj.jar を 環境変数$CLASSPATH に追加する.

古いバージョンのインストール方法は、[doc/installation_jp](./doc/installation_jp)をご覧ください.

# Dockerによるインストール
## Dockerによるインストール

opensource COBOL 4J v1.0.17をインストールしたDockerイメージを利用できます.
opensource COBOL 4J v1.0.18をインストールしたDockerイメージを利用できます.

```bash
docker pull opensourcecobol/opensourcecobol4j:1.0.17
docker pull opensourcecobol/opensourcecobol4j:1.0.18
```

コンテナ内で下記のコマンドを実行すると、Hello Worldプログラムをコンパイル&実行できる。
Expand Down Expand Up @@ -103,9 +120,9 @@ java [PROGRAM-ID]
* SORT文
* 組み込み関数 (ACOS, LENGTH, MAX, ...)

# テストのステータス
## テストのステータス

## NIST COBOL85 test suite
### NIST COBOL85 test suite

opensource COBOL 4Jは[NIST COBOL85 test suite](https://www.itl.nist.gov/div897/ctg/cobol_fo
rm.htm)によりテストされています。
Expand Down Expand Up @@ -143,7 +160,7 @@ rw 4 0 4 0 0 0 0 0 0 REPORT
total 21 0 21 0 0 0 0 0 0
```

# コントリビューㇳ
## コントリビューㇳ

コントリビュータの一覧は https://github.com/opensourcecobol/opensourcecobol4j/graphs/contributors に掲載されています。
コントリビュータ向けのガイドラインは[CONTRIBUTING_JP.md](./CONTRIBUTING_JP.md)を参照してください。
26 changes: 13 additions & 13 deletions configure
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.71 for opensource COBOL 4J 1.0.17.
# Generated by GNU Autoconf 2.71 for opensource COBOL 4J 1.0.18.
#
# Report bugs to <ws-opensource-cobol-contact@osscons.jp>.
#
Expand Down Expand Up @@ -620,9 +620,9 @@ MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='opensource COBOL 4J'
PACKAGE_TARNAME='opensource-cobol-4j-1.0.17'
PACKAGE_VERSION='1.0.17'
PACKAGE_STRING='opensource COBOL 4J 1.0.17'
PACKAGE_TARNAME='opensource-cobol-4j-1.0.18'
PACKAGE_VERSION='1.0.18'
PACKAGE_STRING='opensource COBOL 4J 1.0.18'
PACKAGE_BUGREPORT='ws-opensource-cobol-contact@osscons.jp'
PACKAGE_URL=''

Expand Down Expand Up @@ -1414,7 +1414,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures opensource COBOL 4J 1.0.17 to adapt to many kinds of systems.
\`configure' configures opensource COBOL 4J 1.0.18 to adapt to many kinds of systems.

Usage: $0 [OPTION]... [VAR=VALUE]...

Expand Down Expand Up @@ -1464,7 +1464,7 @@ Fine tuning of the installation directories:
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root
[DATAROOTDIR/doc/opensource-cobol-4j-1.0.17]
[DATAROOTDIR/doc/opensource-cobol-4j-1.0.18]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
Expand All @@ -1486,7 +1486,7 @@ fi

if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of opensource COBOL 4J 1.0.17:";;
short | recursive ) echo "Configuration of opensource COBOL 4J 1.0.18:";;
esac
cat <<\_ACEOF

Expand Down Expand Up @@ -1617,7 +1617,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
opensource COBOL 4J configure 1.0.17
opensource COBOL 4J configure 1.0.18
generated by GNU Autoconf 2.71

Copyright (C) 2021 Free Software Foundation, Inc.
Expand Down Expand Up @@ -2105,7 +2105,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by opensource COBOL 4J $as_me 1.0.17, which was
It was created by opensource COBOL 4J $as_me 1.0.18, which was
generated by GNU Autoconf 2.71. Invocation command line was

$ $0$ac_configure_args_raw
Expand Down Expand Up @@ -3403,8 +3403,8 @@ fi


# Define the identity of the package.
PACKAGE='opensource-cobol-4j-1.0.17'
VERSION='1.0.17'
PACKAGE='opensource-cobol-4j-1.0.18'
VERSION='1.0.18'


printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
Expand Down Expand Up @@ -25367,7 +25367,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by opensource COBOL 4J $as_me 1.0.17, which was
This file was extended by opensource COBOL 4J $as_me 1.0.18, which was
generated by GNU Autoconf 2.71. Invocation command line was

CONFIG_FILES = $CONFIG_FILES
Expand Down Expand Up @@ -25435,7 +25435,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
opensource COBOL 4J config.status 1.0.17
opensource COBOL 4J config.status 1.0.18
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"

Expand Down
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

AC_PREREQ(2.59)

AC_INIT([opensource COBOL 4J],[1.0.17],[ws-opensource-cobol-contact@osscons.jp],[opensource-cobol-4j-1.0.17])
AC_INIT([opensource COBOL 4J],[1.0.18],[ws-opensource-cobol-contact@osscons.jp],[opensource-cobol-4j-1.0.18])
AC_CONFIG_SRCDIR([libcobj.h])
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_TESTDIR([tests])
Expand Down
Loading