mvs38j-langtest: MVS 3.8J Compiler and Language Tests
The project contains example codes for many of the languages available on the MVS 3.8J turnkey systems. Several test cases have been implemented with equivalent logic in the available languages. JES2 jobs are provided to 'compile-link-go' the codes with the available compilers (in some cases several for one language). Test jobs, which generate detailed output for verification, as well as benchmark jobs, which consume a significant amount of CPU time, are provided.
The test cases are chosen to test different aspects of languages and are identified by a 4 character case ID:
|hewo||The classical 'Hello Word'||Get minimal program producing output|
|sine||Line printer plot of sine and cosine||Test basic text & character handling|
|soep||Sieve of Eratosthenes prime search (byte)||Test integer array handling and formatted output|
|soeq||Sieve of Eratosthenes prime search (bit)||Test bit handling|
|towh||Tower of Hanoi solver||Test recursive function calls|
|mcpi||Monte Carlo estimate of pi||Test floating point arithmetic|
The cases were implemented with essentially the same basic logic in all languages so that one can compare the code quality of the compilers. The algorithms should also be short and simple, so that an assembler implementation is feasible. The links in the Case-Id column point to a description of the test case. The pick of cases is highly biased by the background of the author, see 'Author's Note' section in each of the READMEs.
The tk4- system contains a nice selection of languages and compilers which are for further reference identified by a 3 or 4 character compiler ID.
|FORTRAN-4||forg, forh, forw|
For each Language-Case combination one or several batch jobs are provided in the jobs directory. See README for the Case - Job Type table explaining all available jobs types and the Compiler-Case matrix listing all available jobs. The later also includes a list of known issues.
Moshe Bar covered the langtest suite in a tutorial entitled
Test your IBM MVS 3.8 compilers and benchmark your Hercules
This is part of the moshix suite of mainframe (mostly MVS) related tutorials.
The project files are organized in directories as
|herc-tools||the herc-tools project as submodule, mainly for access to
|jcl||JCL job templates|
|sios||the mvs38j-sios project as submodule, simple I/O system asm code|
|tests||some test programs|
This project is released under the GPL V3 license, all files contain the disclaimer:
This program is free software; you may redistribute and/or modify it under the terms of the GNU General Public License version 3. See License.txt in distribition directory for further details.
The full text of the GPL license is in this directory as License.txt.